or
| <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="InvoicePreviewException.aspx.cs" Inherits="SalesManagementWebApplication.Executive.Report.PreviewBacklog.InvoicePreviewException" MasterPageFile="~/SalesManagementMaster.Master" %> |
| <asp:Content ID="ContentPlaceHolderHead" ContentPlaceHolderID="ContentPlaceHolderHead" runat="server"> |
| <telerik:RadAjaxManagerProxy ID="RadAjaxManagerProxyPage" runat="server"> |
| <AjaxSettings> |
| <telerik:AjaxSetting AjaxControlID="RadGridSearch"> |
| <UpdatedControls> |
| <telerik:AjaxUpdatedControl ControlID="RadSplitterPageContent" LoadingPanelID="RadAjaxLoadingPanelReport" /> |
| </UpdatedControls> |
| </telerik:AjaxSetting> |
| <telerik:AjaxSetting AjaxControlID="ButtonSearch"> |
| <UpdatedControls> |
| <telerik:AjaxUpdatedControl ControlID="RadGridSearch" LoadingPanelID="RadAjaxLoadingPanelReport" /> |
| </UpdatedControls> |
| </telerik:AjaxSetting> |
| <telerik:AjaxSetting AjaxControlID="PanelEmailSales"> |
| <UpdatedControls> |
| <telerik:AjaxUpdatedControl ControlID="RadSplitterPageContent" LoadingPanelID="RadAjaxLoadingPanelReport" /> |
| </UpdatedControls> |
| </telerik:AjaxSetting> |
| </AjaxSettings> |
| </telerik:RadAjaxManagerProxy> |
| </asp:Content> |
| <asp:Content ID="ContentPlaceHolderBody" ContentPlaceHolderID="ContentPlaceHolderBody" runat="server"> |
| <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanelReport" runat="server" Skin="Simple" /> |
| <telerik:RadSplitter ID="RadSplitterPageContent" runat="server" Orientation="Horizontal" BorderSize="0" BorderStyle="None" BorderWidth="0"> |
| <telerik:RadPane ID="RadPaneWebSearchForm" runat="server" Scrolling="None" Height="30"> |
| <table class="searchTable"> |
| <tr> |
| <th title="Select the starting date."> |
| <asp:Label ID="LabelFromDate" runat="server" Text="From:" AssociatedControlID="RadDatePickerFrom" /> |
| </th> |
| <td title="Select the starting date."> |
| <telerik:RadDatePicker ID="RadDatePickerFrom" runat="server" Width="90px" /> |
| </td> |
| <th title="Select the ending date."> |
| <asp:Label ID="LabelToDate" runat="server" Text="To:" AssociatedControlID="RadDatePickerTo" /> |
| </th> |
| <td title="Select the ending date."> |
| <telerik:RadDatePicker ID="RadDatePickerTo" runat="server" Width="90px" /> |
| </td> |
| <th title="Enter an Invoice Number, or partial Invoice Number here to limit the results by Invoice Number, seperate multiple Invoice Number's by commas." nowrap> |
| <asp:Label ID="LabelInvoiceNumber" runat="server" Text="Invoice #:" AssociatedControlID="RadTextBoxInvoiceNumber" /> |
| </th> |
| <td title="Enter an Invoice Number, or partial Invoice Number here to limit the results by Invoice Number, seperate multiple Invoice Number's by commas."> |
| <telerik:RadTextBox ID="RadTextBoxInvoiceNumber" runat="server" Width="150px" /> |
| </td> |
| <th title="When 'Show' is 'All' all invoices will be displayed, when either 'Gold Standard Exceptions' or 'Replacement Cost Exceptions' is selected ONLY invoices with line items with a GM% less than the PL threshold will be displayed."> |
| <telerik:RadComboBox ID="RadComboBoxShowExceptions" runat="server" Width="150px" Label="Show:"> |
| <Items> |
| <telerik:RadComboBoxItem Value="all" Text="All" Selected="true" /> |
| <telerik:RadComboBoxItem Value="gs" Text="Gold Standard Exceptions" /> |
| <telerik:RadComboBoxItem Value="rc" Text="Replacement Cost Exceptions" /> |
| </Items> |
| </telerik:RadComboBox> |
| </th> |
| <th> |
| <telerik:RadComboBox ID="RadComboBoxExpanded" runat="server" CssClass="smallMargin" Label="Expanded:" Width="50px" Text="Test:"> |
| <Items> |
| <telerik:RadComboBoxItem Value="true" Text="Yes" Selected="true" /> |
| <telerik:RadComboBoxItem Value="false" Text="No" /> |
| </Items> |
| </telerik:RadComboBox> |
| </th> |
| <td title="Click the search button to execute a new search."> |
| <asp:Button ID="ButtonSearch" runat="server" Text="Search" OnClick="ButtonSearch_Click" /> |
| </td> |
| </tr> |
| </table> |
| </telerik:RadPane> |
| <telerik:RadPane ID="RadPaneWebSearchResult" runat="server" Scrolling="None" CssClass="RadPaneScrollingPane"> |
| <telerik:RadGrid SkinId="noCommandItemTemplate" |
| ID="RadGridSearch" |
| runat="server" |
| DataSourceID="ObjectDataSourceSearch" |
| OnItemCommand="RadGridSearch_ItemCommand" |
| AllowMultiRowSelection="true" onitemdatabound="RadGridSearch_ItemDataBound"> |
| <MasterTableView DataKeyNames="InvoiceNumber" Name="MainTable"> |
| <Columns> |
| <telerik:GridButtonColumn ButtonType="ImageButton" DataTextField="InvoiceNumber" CommandName="Email" HeaderStyle-Width="20" ImageUrl="~/Image/i_email.gif" /> |
| <telerik:GridBoundColumn HeaderText="Invoice Date" DataField="InvoiceDate" UniqueName="InvoiceDate" SortExpression="InvoiceDate" ShowFilterIcon="true" ItemStyle-Wrap="false" DataFormatString="{0:d}" HeaderStyle-Width="110" /> |
| <telerik:GridBoundColumn HeaderText="Sales Order Number" DataField="SalesOrderNumber" UniqueName="SalesOrderNumber" SortExpression="SalesOrderNumber" ShowFilterIcon="true" ItemStyle-Wrap="false" HeaderStyle-Width="110" /> |
| <telerik:GridBoundColumn HeaderText="Invoice Number" DataField="InvoiceNumber" UniqueName="InvoiceNumber" SortExpression="InvoiceNumber" ShowFilterIcon="true" ItemStyle-Wrap="false" HeaderStyle-Width="110" /> |
| <telerik:GridBoundColumn HeaderText="Territory" DataField="SalesmanId" UniqueName="SalesmanId" SortExpression="SalesmanId" ShowFilterIcon="true" ItemStyle-Wrap="false" HeaderStyle-Width="110" /> |
| <telerik:GridBoundColumn HeaderText="AR" DataField="AR" UniqueName="AR" SortExpression="AR" ShowFilterIcon="true" ItemStyle-Wrap="false" HeaderStyle-Width="110" /> |
| <telerik:GridBoundColumn HeaderText="Customer Name" DataField="CustomerName" UniqueName="CustomerName" SortExpression="CustomerName" ShowFilterIcon="true" ItemStyle-Wrap="false" HeaderStyle-Width="250" /> |
| <telerik:GridBoundColumn HeaderText="Bill To State" DataField="State" UniqueName="State" SortExpression="State" ShowFilterIcon="true" ItemStyle-Wrap="false" HeaderStyle-Width="110" /> |
| <telerik:GridBoundColumn HeaderText="Total Sale" DataField="TotalSaleAmount" UniqueName="TotalSaleAmount" SortExpression="TotalSaleAmount" ShowFilterIcon="true" ItemStyle-Wrap="false" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:c}" HeaderStyle-Width="110" /> |
| <telerik:GridBoundColumn HeaderText="Freight Paid" DataField="FreightPaid" UniqueName="FreightPaid" SortExpression="FreightPaid" ShowFilterIcon="true" ItemStyle-Wrap="false" HeaderStyle-Width="110" DataType="System.Boolean" /> |
| <telerik:GridCalculatedColumn HeaderText="GM after Freight" UniqueName="GmAfterFreight" DataType="System.Decimal" DataFields="TotalCost, TotalSaleAmount, FreightAmount" Expression="iif({1}=0,0,({1}-{0}-{2})/{1})" SortExpression="GmAfterFreight" ShowFilterIcon="true" ItemStyle-Wrap="false" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:p2}" HeaderStyle-Width="110" /> |
| <%-- |
| <telerik:GridBoundColumn HeaderText="TotalCost" DataField="TotalCost" UniqueName="TotalCost" SortExpression="TotalCost" ShowFilterIcon="true" ItemStyle-Wrap="false" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:c}" HeaderStyle-Width="110" /> |
| <telerik:GridBoundColumn HeaderText="Freight" DataField="FreightAmount" UniqueName="FreightAmount" SortExpression="FreightAmount" ShowFilterIcon="true" ItemStyle-Wrap="false" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:c}" HeaderStyle-Width="110" /> |
| --%> |
| </Columns> |
| <DetailTables> |
| <telerik:GridTableView runat="server" Name="LineItems" DataSourceID="ObjectDataSourceLineItems" DataKeyNames="InvoiceNumber" Height="100%" EnableHeaderContextFilterMenu="true"> |
| <ParentTableRelation> |
| <telerik:GridRelationFields DetailKeyField="InvoiceNumber" MasterKeyField="InvoiceNumber" /> |
| </ParentTableRelation> |
| <Columns> |
| <telerik:GridBoundColumn HeaderText="PartNumber" DataField="PartNumber" UniqueName="PartNumber" SortExpression="PartNumber" ItemStyle-Wrap="false" /> |
| <telerik:GridBoundColumn HeaderText="Product Line" DataField="ProductLineId" UniqueName="ProductLineId" SortExpression="ProductLineId" ItemStyle-Wrap="false" /> |
| <telerik:GridBoundColumn HeaderText="Description" DataField="Description" UniqueName="Description" SortExpression="Description" ItemStyle-Wrap="false" /> |
| <telerik:GridBoundColumn HeaderText="Qty Ordered" DataField="QuantityOrdered" UniqueName="QuantityOrdered" SortExpression="QuantityOrdered" ItemStyle-Wrap="false" ItemStyle-HorizontalAlign="Right" /> |
| <telerik:GridBoundColumn HeaderText="Qty Shipped" DataField="QuantityShipped" UniqueName="QuantityShipped" SortExpression="QuantityShipped" ItemStyle-Wrap="false" ItemStyle-HorizontalAlign="Right" /> |
| <telerik:GridBoundColumn HeaderText="Sales Price" DataField="SalesPrice" UniqueName="SalesPrice" SortExpression="SalesPrice" ItemStyle-Wrap="false" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:c}" /> |
| <telerik:GridBoundColumn HeaderText="Extended Sales Amount" DataField="ExtendedSalesAmount" UniqueName="ExtendedSalesAmount" SortExpression="ExtendedSalesAmount" ItemStyle-Wrap="false" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:c}" /> |
| <telerik:GridBoundColumn HeaderText="Gold Standard" DataField="GoldStandard" UniqueName="GoldStandard" SortExpression="GoldStandard" ItemStyle-Wrap="false" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:c}" /> |
| <telerik:GridBoundColumn HeaderText="Replacement Cost" DataField="ReplacementCost" UniqueName="ReplacementCost" SortExpression="ReplacementCost" ItemStyle-Wrap="false" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:c}" /> |
| <telerik:GridCalculatedColumn HeaderText="GM% @ GS" UniqueName="GmPercentAtGoldStandard" DataType="System.Decimal" DataFields="GoldStandard, SalesPrice" Expression="iif({1}=0,0,({1}-{0})/{1})" SortExpression="GmPercentAtGoldStandard" ShowFilterIcon="true" ItemStyle-Wrap="false" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:p2}" /> |
| <telerik:GridBoundColumn HeaderText="GM% @ GS Threshold" DataField="GoldStandardThreshold" UniqueName="GoldStandardThreshold" SortExpression="GoldStandardThreshold" ItemStyle-Wrap="false" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:p}" Visible="false" /> |
| <telerik:GridCalculatedColumn HeaderText="GM% @ RC" UniqueName="GmPercentAtRC" DataType="System.Decimal" DataFields="ReplacementCost, SalesPrice" Expression="iif({1}=0,0,({1}-{0})/{1})" SortExpression="GmPercentAtRC" ShowFilterIcon="true" ItemStyle-Wrap="false" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:p2}" /> |
| <telerik:GridBoundColumn HeaderText="GM% @ RC Threshold" DataField="ReplacementCostThreshold" UniqueName="ReplacementCostThreshold" SortExpression="ReplacementCostThreshold" ItemStyle-Wrap="false" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:p}" Visible="false" /> |
| </Columns> |
| </telerik:GridTableView> |
| </DetailTables> |
| <CommandItemTemplate> |
| <table class="layout" cellpadding="0" cellspacing="0"> |
| <tr> |
| <td valign="middle" style="padding-top: 3px;"> |
| <asp:ImageButton ID="ImageButtonExcelExport" runat="server" ImageUrl="~/Image/i_excel.gif" OnClick="ImageButtonExcelExport_Click" CssClass="smallMargin" /> |
| </td> |
| <td valign="middle"> |
| <asp:Button ID="ButtonViewSelected" runat="server" Text="View Selected" OnClick="ButtonViewSelected_Click" /> |
| </td> |
| </tr> |
| </table> |
| </CommandItemTemplate> |
| <SortExpressions> |
| <telerik:GridSortExpression FieldName="InvoiceDate" SortOrder="Ascending" /> |
| </SortExpressions> |
| </MasterTableView> |
| <ClientSettings EnableRowHoverStyle="true"> |
| <Selecting AllowRowSelect="True" /> |
| </ClientSettings> |
| </telerik:RadGrid> |
| <asp:Panel ID="PanelEmailSales" runat="server" Visible="false" DefaultButton="ButtonEmailSalesCancel"> |
| <asp:HiddenField ID="HiddenFieldInvoiceNumber" runat="server" /> |
| <table class="inlineFormTable"> |
| <caption> |
| Send |
| <asp:Label ID="LabelMailSalespersonName" runat="server" Text="" /> |
| email concerning invoice number |
| <asp:Label ID="LabelMailInvoiceNumber" runat="server" Text="" /> |
| </caption> |
| <tr> |
| <td style="padding: 2px;"> |
| <telerik:RadEditor ID="RadEditorEmailBody" runat="server" Height="400" width="600" EditModes="Design" EnableResize="false" CssClass=""> |
| <Tools> |
| <telerik:EditorToolGroup> |
| <telerik:EditorTool Name="Bold" /> |
| <telerik:EditorTool Name="Italic" /> |
| <telerik:EditorTool Name="Underline" /> |
| <telerik:EditorTool Name="StrikeThrough" /> |
| <telerik:EditorSplitButton Name="SplitCell" /> |
| <telerik:EditorTool Name="JustifyLeft" /> |
| <telerik:EditorTool Name="JustifyCenter" /> |
| <telerik:EditorTool Name="JustifyRight" /> |
| <telerik:EditorTool Name="JustifyFull" /> |
| <telerik:EditorTool Name="JustifyNone" /> |
| <telerik:EditorSplitButton Name="SplitCell" /> |
| <telerik:EditorTool Name="Indent" /> |
| <telerik:EditorTool Name="Outdent" /> |
| <telerik:EditorSplitButton Name="SplitCell" /> |
| <telerik:EditorTool Name="InsertOrderedList" /> |
| <telerik:EditorTool Name="InsertUnorderedList" /> |
| </telerik:EditorToolGroup> |
| </Tools> |
| </telerik:RadEditor> |
| </td> |
| </tr> |
| <tr class="buttonRow"> |
| <td> |
| <asp:Button ID="ButtonEmailSend" runat="server" Text="Send" onclick="ButtonEmailSend_Click" /> |
| <asp:Button ID="ButtonEmailSalesCancel" runat="server" Text="Cancel" onclick="ButtonEmailSalesCancel_Click" /> |
| </td> |
| </tr> |
| </table> |
| </asp:Panel> |
| </telerik:RadPane> |
| </telerik:RadSplitter> |
| <asp:ObjectDataSource |
| ID="ObjectDataSourceSearch" |
| runat="server" |
| TypeName="ServiceWebClassLibrary.MARCOMV.MVFILE.INVFTServiceWeb" |
| SelectMethod="LoadExecutiveInvoicePreviewException" |
| EnableCaching="false" |
| CacheDuration="42000"> |
| <SelectParameters> |
| <asp:ControlParameter ControlID="RadDatePickerFrom" Name="from" Type="DateTime" /> |
| <asp:ControlParameter ControlID="RadDatePickerTo" Name="to" Type="DateTime" /> |
| <asp:ControlParameter ControlID="RadTextBoxInvoiceNumber" Name="InvoiceNumber" Type="String" /> |
| <asp:ControlParameter ControlID="RadComboBoxShowExceptions" Name="ShowExceptions" Type="String" PropertyName="SelectedValue" /> |
| </SelectParameters> |
| </asp:ObjectDataSource> |
| <asp:ObjectDataSource |
| ID="ObjectDataSourceLineItems" |
| runat="server" |
| TypeName="ServiceWebClassLibrary.MARCOMV.MVFILE.INVFTServiceWeb" |
| SelectMethod="LoadExecutiveInvoicePreviewExceptionLineItems" |
| EnableCaching="true" |
| CacheDuration="42000"> |
| <SelectParameters> |
| <asp:SessionParameter Name="InvoiceNumber" SessionField="InvoiceNumber" Type="string" /> |
| </SelectParameters> |
| </asp:ObjectDataSource> |
| </asp:Content> |
| using System; |
| using Telerik.Web.UI; |
| using FoundationClassLibrary.Web; |
| using FoundationClassLibrary.Data; |
| using System.Net.Mail; |
| using CacheProxyClassMarcoMvNamespace.MVFILE; |
| using ServiceWebClassLibrary.MARCOMV.MVFILE; |
| using System.Data; |
| using System.Configuration; |
| namespace SalesManagementWebApplication.Executive.Report.PreviewBacklog |
| { |
| public partial class InvoicePreviewException : System.Web.UI.Page |
| { |
| protected void Page_Load(object sender, EventArgs e) |
| { |
| #region turn off scrolling on RadPanel |
| RadPane contentPane = (RadPane)Master.FindControl("RadPaneContentHere"); |
| contentPane.Scrolling = SplitterPaneScrolling.None; |
| #endregion |
| #region make sure datasource doesn't select on non-postback |
| if (!Page.IsPostBack) |
| RadGridSearch.DataSourceID = ""; |
| else if (string.IsNullOrEmpty(RadGridSearch.DataSourceID)) |
| RadGridSearch.DataSourceID = "ObjectDataSourceSearch"; |
| #endregion |
| #region reduce page size when items are all expanded |
| if (RadComboBoxExpanded.SelectedValue == "true" && RadGridSearch.PageSize > 50) |
| { |
| RadGridSearch.PageSize = 50; |
| } |
| #endregion |
| } |
| #region button handlers |
| protected void ButtonSearch_Click(object sender, EventArgs e) |
| { |
| RadGridSearch.MasterTableView.HierarchyDefaultExpanded = StringFormatter.ToBool(RadComboBoxExpanded.SelectedValue); |
| } |
| protected void ImageButtonExcelExport_Click(object sender, System.Web.UI.ImageClickEventArgs e) |
| { |
| RadGridSearch.MasterTableView.HierarchyDefaultExpanded = StringFormatter.ToBool(RadComboBoxExpanded.SelectedValue); |
| RadGridSearch.Rebind(); |
| RadGridSearch.MasterTableView.ExportToExcel(); |
| } |
| protected void ButtonViewSelected_Click(object sender, EventArgs e) |
| { |
| RadGridSearch.MasterTableView.HierarchyDefaultExpanded = StringFormatter.ToBool(RadComboBoxExpanded.SelectedValue); |
| string filterString = string.Empty; |
| foreach (GridDataItem item in RadGridSearch.SelectedItems) |
| { |
| //Select invoice numbers out of selected rows, ignore rows selected with no InvoiceNumbers |
| string invoiceNumber = string.Empty; |
| try |
| { |
| invoiceNumber = item["InvoiceNumber"].Text; |
| } |
| catch |
| { |
| invoiceNumber = string.Empty; |
| } |
| if (!string.IsNullOrEmpty(invoiceNumber)) |
| filterString += String.Format("{0},", invoiceNumber); |
| } |
| //Trim off the extra , and rebind only if there is a filterString |
| if (!string.IsNullOrEmpty(filterString)) |
| { |
| filterString = StringFormatter.Left(filterString, filterString.Length - 1); |
| RadTextBoxInvoiceNumber.Text = filterString; |
| RadGridSearch.Rebind(); |
| } |
| } |
| #endregion |
| #region email functionality |
| protected void RadGridSearch_ItemCommand(object source, Telerik.Web.UI.GridCommandEventArgs e) |
| { |
| if (e.CommandName == "Email") |
| { |
| GridDataItem item = (GridDataItem)e.Item; |
| string invoiceNumber = item["InvoiceNumber"].Text; |
| //Populate form ------------------------------------ |
| //Load data |
| DataSet invoiceDataSet = INVFTServiceWeb.LoadExecutiveInvoicePreviewException(DateTime.MinValue, DateTime.MinValue, invoiceNumber, "all"); |
| //DataSet invoiceLineItemsDataSet = INVFTServiceWeb.LoadExecutiveInvoicePreviewExceptionLineItems(invoiceNumber); |
| TMSUSERXREF tms = TMSUSERXREFServiceWeb.Load(ObjectFormatter.ToString(invoiceDataSet.Tables[0].Rows[0]["SalesmanId"])); |
| BAIUSER user = BAIUSERServiceWeb.Load(tms.LogonUser); |
| //Set values on form |
| HiddenFieldInvoiceNumber.Value = invoiceNumber; |
| LabelMailSalespersonName.Text = user.PersonName; |
| LabelMailInvoiceNumber.Text = invoiceNumber; |
| //make form visible |
| SetEmailFormVisible(true); |
| } |
| } |
| protected void ButtonEmailSalesCancel_Click(object sender, EventArgs e) |
| { |
| //Reset form state |
| SetEmailFormVisible(false); |
| } |
| protected void ButtonEmailSend_Click(object sender, EventArgs e) |
| { |
| //Get data --------------------------------------------------------------------------------------------------- |
| string invoiceNumber = HiddenFieldInvoiceNumber.Value; |
| DataSet invoiceDataSet = INVFTServiceWeb.LoadExecutiveInvoicePreviewException(DateTime.MinValue, DateTime.MinValue, invoiceNumber, "all"); |
| DataSet invoiceLineItemsDataSet = INVFTServiceWeb.LoadExecutiveInvoicePreviewExceptionLineItems(invoiceNumber); |
| TMSUSERXREF tms = TMSUSERXREFServiceWeb.Load(ObjectFormatter.ToString(invoiceDataSet.Tables[0].Rows[0]["SalesmanId"])); |
| BAIUSER user = BAIUSERServiceWeb.Load(tms.LogonUser); |
| //Build Message ------------------------------------------------------------------------------------------- |
| MailMessage mail = new MailMessage(); |
| mail.IsBodyHtml = true; |
| mail.To.Add(new MailAddress(String.Format("{0}@{1}", user.AdLoginName, ConfigurationManager.AppSettings["EmailDomain"]))); |
| mail.Bcc.Add(new MailAddress("jglaser@marcousa.com")); |
| mail.From = new MailAddress(String.Format("{0}@{1}", ConfigurationManager.AppSettings["AdminUserName"], ConfigurationManager.AppSettings["EmailDomain"])); |
| mail.Subject = String.Format("Invoice Exception: {0}", invoiceNumber); |
| mail.Body = RadEditorEmailBody.Content; |
| //Add on invoice info |
| mail.Body += "<hr>"; |
| mail.Body += String.Format("<b>Invoice Number:</b> {0}<br>", invoiceNumber); |
| mail.Body += String.Format("<b>AR:</b> {0} <b>Name:</b> {1}<br>", ObjectFormatter.ToString(invoiceDataSet.Tables[0].Rows[0]["AR"]), ObjectFormatter.ToString(invoiceDataSet.Tables[0].Rows[0]["CustomerName"])); |
| mail.Body += String.Format("<b>Invoice Date:</b> {0:d}<br>", invoiceDataSet.Tables[0].Rows[0]["InvoiceDate"]); |
| mail.Body += String.Format("<b>Total Sale</b>: {0:c}<br>", invoiceDataSet.Tables[0].Rows[0]["TotalSaleAmount"]); |
| if (invoiceLineItemsDataSet.Tables[0].Rows.Count > 0) |
| { |
| mail.Body += "<table>"; |
| mail.Body += "<caption>Line Items</caption>"; |
| mail.Body += "<tr>"; |
| mail.Body += "<th>Part Number</th><th>Description</th><th>Qty Ordered</th><th>Qty Shipped</th><th>Sales Price</th><th>Extended Sales Price</th>"; |
| mail.Body += "</tr>"; |
| //Line items here |
| foreach (DataRow row in invoiceLineItemsDataSet.Tables[0].Rows) |
| { |
| mail.Body += "<tr>"; |
| mail.Body += String.Format("<td>{0}</td>", ObjectFormatter.ToString(row["PartNumber"])); |
| mail.Body += String.Format("<td>{0}</td>", ObjectFormatter.ToString(row["Description"])); |
| mail.Body += String.Format("<td align=\"right\">{0}</td>", ObjectFormatter.ToString(row["QuantityOrdered"])); |
| mail.Body += String.Format("<td align=\"right\">{0}</td>", ObjectFormatter.ToString(row["QuantityShipped"])); |
| mail.Body += String.Format("<td align=\"right\">{0:c}</td>", row["SalesPrice"]); |
| mail.Body += String.Format("<td align=\"right\">{0:c}</td>", row["ExtendedSalesAmount"]); |
| mail.Body += "</tr>"; |
| } |
| mail.Body += "</table>"; |
| } |
| //Send email -------------------------------------------------------------------------------------------------------------------- |
| SmtpClient client = new SmtpClient(ConfigurationManager.AppSettings["SMTPServer"]); |
| client.Send(mail); |
| //Reset form state ----------------------------------------------------------------------------------------------------------------------- |
| SetEmailFormVisible(false); |
| } |
| void SetEmailFormVisible(bool visible) |
| { |
| if (visible) |
| { |
| PanelEmailSales.Visible = true; |
| RadGridSearch.Visible = false; |
| ButtonSearch.Enabled = false; |
| } |
| else |
| { |
| PanelEmailSales.Visible = false; |
| RadGridSearch.Visible = true; |
| ButtonSearch.Enabled = true; |
| //Reset values |
| HiddenFieldInvoiceNumber.Value = string.Empty; |
| RadEditorEmailBody.Content = string.Empty; |
| } |
| } |
| #endregion |
| protected void RadGridSearch_ItemDataBound(object sender, GridItemEventArgs e) |
| { |
| if (e.Item is GridDataItem && e.Item.OwnerTableView.Name == "LineItems") |
| { |
| if (RadComboBoxShowExceptions.SelectedValue == "gs") |
| { |
| GridDataItem item = (GridDataItem)e.Item; |
| string rawGsPercent = item["GmPercentAtGoldStandard"].Text; |
| string rawGsThPercent = item["GoldStandardThreshold"].Text; |
| decimal gsPercent = StringFormatter.ToDecimal(rawGsPercent.Replace(" %", string.Empty)); |
| decimal gsThPercent = StringFormatter.ToDecimal(rawGsThPercent.Replace(" %", string.Empty)); |
| if (gsPercent < gsThPercent) |
| item.ForeColor = System.Drawing.Color.Red; |
| } |
| else if (RadComboBoxShowExceptions.SelectedValue == "rc") |
| { |
| GridDataItem item = (GridDataItem)e.Item; |
| string rawRcPercent = item["GmPercentAtRC"].Text; |
| string rawRcThPercent = item["ReplacementCostThreshold"].Text; |
| decimal rcPercent = StringFormatter.ToDecimal(rawRcPercent.Replace(" %", string.Empty)); |
| decimal rcThPercent = StringFormatter.ToDecimal(rawRcThPercent.Replace(" %", string.Empty)); |
| if (rcPercent < rcThPercent) |
| item.ForeColor = System.Drawing.Color.Red; |
| } |
| } |
| } |
| } |
| } |


<script type="text/javascript">
function pageLoad(sender, args) {
setInterval("MyService.GetData(updateGrid)", 1000);
}
I know I can statically data-bind to a WCF service but can I do that here? What am I missing?<%@ Page Language="C#" MasterPageFile="~/Platform/Interface/Default.master" AutoEventWireup="true" CodeFile="ConsolidatedView.aspx.cs" Inherits="Interface_PendingTask_ConsolidatedView" Title="" %><%@ Register Src="~/WebControls/PendingTask/Tasks.ascx" TagName="Tasks" TagPrefix="rei" %><%@ Register Src="~/WebControls/PendingTask/TaskDetails.ascx" TagName="TaskDetails" TagPrefix="rei" %><asp:Content ID="Content1" ContentPlaceHolderID="headContent" runat="Server"></asp:Content><asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="Server"> <rei:REIRadAjaxManagerProxy ID="rampPendingTasks" runat="server"> <AjaxSettings> <telerik:AjaxSetting AjaxControlID="lnkViewType"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="pnlTaskHeader" LoadingPanelID="TaskLoadingPanel" /> </UpdatedControls> </telerik:AjaxSetting> <telerik:AjaxSetting AjaxControlID="rtsTasks"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="pnlTasks" LoadingPanelID="TaskLoadingPanel" /> </UpdatedControls> </telerik:AjaxSetting><%-- <telerik:AjaxSetting AjaxControlID="reiSearchPanel"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="pnlTaskHeader" LoadingPanelID="TaskLoadingPanel" /> </UpdatedControls> </telerik:AjaxSetting>--%> <telerik:AjaxSetting AjaxControlID="UnAssignedTasks"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="pnlTasks" LoadingPanelID="TaskLoadingPanel" /> </UpdatedControls> </telerik:AjaxSetting> </AjaxSettings> </rei:REIRadAjaxManagerProxy> <rei:REIRadAjaxLoadingPanel ID="TaskLoadingPanel" runat="server"> </rei:REIRadAjaxLoadingPanel> <telerik:RadCodeBlock runat="server" ID="rdCodeBlock"> <script language="javascript" type="text/javascript"> function OnClientItemChecked(sender, eventArgs) { var lstBoxControl; lstBoxControl = $find(sender.get_id()); var items = lstBoxControl.get_items(); if(eventArgs.get_item().get_index() == 0) { var firstIndex = eventArgs.get_item().get_checked(); for(var i=0;i<lstBoxControl.get_items().get_count();i++) { items.getItem(i).set_checked(firstIndex); } } else { items.getItem(0).set_checked(false); } } </script> </telerik:RadCodeBlock> <rei:REISearchPanel ID="reiSearchPanel" runat="server" ValidationGroup="ValGroupSearchDates"> <rei:BasicSearchPanel ID="BasicSearchPanel" runat="server"> <table width="100%" border="0" class="module_tb" summary="Basic Search Filters"> <tr> <td width="12%" scope="row"> <rei:REIASPLabel ID="lblTrackingNumber" runat="server" Text="Tracking #" /> </td> <td width="28%"> <rei:REIASPTextBox ID="txtTrackingNumber" runat="server" MaxLength="20" Width="150px" /> </td> <td width="12%" valign="middle"> <rei:REIASPLabel ID="lblRole" runat="server" Text="Role" /> </td> <td width="48%"> <rei:REIRadListBox ID="lstRole" EnableEmbeddedSkins="false" CheckBoxes="true" SelectionMode="Multiple" Width="250px" Height="70px" runat="server" OnClientItemChecked="OnClientItemChecked"> </rei:REIRadListBox> </td> </tr> <tr> <td width="12%" scope="row" valign="middle"> <rei:REIASPLabel ID="lblDocument" runat="server" Text="Document" /> </td> <td width="48%" class="searchvertalign"> <rei:REIRadListBox ID="lstDocument" EnableEmbeddedSkins="false" CheckBoxes="true" Width="250px" Height="70px" SelectionMode="Multiple" runat="server" OnClientItemChecked="OnClientItemChecked"> </rei:REIRadListBox> </td> <td width="12%" valign="middle"> <rei:REIASPLabel ID="lblTask" runat="server" Text="Task" /> </td> <td width="48%"> <rei:REIRadListBox ID="lstTasks" EnableEmbeddedSkins="false" CheckBoxes="true" SelectionMode="Multiple" Width="250px" Height="70px" runat="server" OnClientItemChecked="OnClientItemChecked"> </rei:REIRadListBox> </td> </tr> <tr> <td width="12%" valign="middle" scope="row"> <rei:REIASPLabel ID="lblStatus" runat="server" Text="Status" /> </td> <td width="48%" class="searchvertalign"> <rei:REIRadListBox ID="lstStatus" EnableEmbeddedSkins="false" CheckBoxes="true" SelectionMode="Multiple" Width="250px" Height="70px" runat="server" OnClientItemChecked="OnClientItemChecked"> </rei:REIRadListBox> </td> <td width="12%"> <rei:REIASPLabel ID="lblDisplayView" runat="server" Text="Display View" /> </td> <td width="48%"> <rei:REIASPRadioButtonList ID="rbListDisplay" runat="server" RepeatDirection="Horizontal"> <asp:ListItem Text="Consolidated" Value="Consolidated" Selected="True" /> <asp:ListItem Text="Detailed" Value="Detailed" /> </rei:REIASPRadioButtonList> </td> </tr> </table> </rei:BasicSearchPanel> <rei:AdvancedSearchPanel ID="AdvancedSearchPanel" runat="server"> <table width="100%" border="0" class="module_tb" summary="Basic Search Filters"> <tr> <td width="8%" class="searchvertalign" scope="row"> <rei:REIASPLabel ID="lblAssignedDateFrom" runat="server" Text="Assigned On" /> </td> <td class="searchvertalign"> <rei:REIASPLabel ID="lblDateFrom" runat="server" Text="Between" AssociatedControlID="dpAssignedDateFrom" /> <rei:REIRadDatePicker ID="dpAssignedDateFrom" runat="server" Width="100px" EnableEmbeddedSkins="false" Skin="HrsaTheme"> <Calendar> <SpecialDays> <telerik:RadCalendarDay Repeatable="Today" ItemStyle-BackColor="Bisque" /> </SpecialDays> </Calendar> </rei:REIRadDatePicker> <rei:REIASPLabel ID="lblAssignedDateTo" runat="server" Text="and" AssociatedControlID="dpAssignedDateTo" /> <rei:REIRadDatePicker ID="dpAssignedDateTo" runat="server" Width="100px" EnableEmbeddedSkins="false" Skin="HrsaTheme"> <Calendar> <SpecialDays> <telerik:RadCalendarDay Repeatable="Today" ItemStyle-BackColor="Bisque" /> </SpecialDays> </Calendar> </rei:REIRadDatePicker> </td> <td width="8%" class="searchvertalign" scope="row"> <rei:REIASPLabel ID="lblCompledOn" runat="server" Text="Completed On" /> </td> <td class="searchvertalign"> <rei:REIASPLabel ID="lblCompletedDateFrom" runat="server" Text="Between" AssociatedControlID="dpCompletedDateFrom" /> <rei:REIRadDatePicker ID="dpCompletedDateFrom" runat="server" Width="100px" EnableEmbeddedSkins="false" Skin="HrsaTheme"> <Calendar> <SpecialDays> <telerik:RadCalendarDay Repeatable="Today" ItemStyle-BackColor="Bisque" /> </SpecialDays> </Calendar> </rei:REIRadDatePicker> <rei:REIASPLabel ID="lblCompletedDateTo" runat="server" Text="and" AssociatedControlID="dpCompletedDateTo" /> <rei:REIRadDatePicker ID="dpCompletedDateTo" runat="server" Width="100px" EnableEmbeddedSkins="false" Skin="HrsaTheme"> <Calendar> <SpecialDays> <telerik:RadCalendarDay Repeatable="Today" ItemStyle-BackColor="Bisque" /> </SpecialDays> </Calendar> </rei:REIRadDatePicker> </td> </tr> </table> </rei:AdvancedSearchPanel> <rei:DisplaySearchOptions ID="parsortbyCombo" runat="server" SearchPanelID="reiSearchPanel"> <Fields> <rei:Field Name="Role" Value="RoleAbbr" /> <rei:Field Name="Document" Value="ProcessName" /> <rei:Field Name="Task" Value="TaskType" /> </Fields> <SortItems> <rei:SortItem DefaultFieldName="Role" DefaultSortOrder="Ascending" /> <rei:SortItem DefaultFieldName="Document" DefaultSortOrder="Ascending" /> <rei:SortItem DefaultFieldName="Task" DefaultSortOrder="Descending" /> </SortItems> </rei:DisplaySearchOptions> </rei:REISearchPanel> <script type="text/javascript"> showDetailedViewClick.subscribe(function(sender, eventArgs) { javascript: __doPostBack('ctl00$MainContent$lnkViewType', ''); } ); </script> <asp:Panel ID="pnlTaskHeader" runat="server"> <table width="100%"> <tr> <td align="right"> <rei:REIASPLinkButton ID="lnkViewType" runat="server" Text="Task Detailed View" Visible="false" /> </td> </tr> </table> <asp:Panel ID="pnlTasks" runat="server"> <div class="tabout"> <div class="tabsstrip"> <rei:REIRadTabStrip ID="rtsTasks" runat="server" SelectedIndex="0" Width="100%" BorderStyle="None" OnTabClick="rtsTasks_OnTabClick"> <Tabs> <rei:REIRadTab runat="server" Text="Assigned" SelectedIndex="0" /> <rei:REIRadTab runat="server" Text="Unassigned" SelectedIndex="1" /> <rei:REIRadTab runat="server" Text="Recently Completed" SelectedIndex="2" /> </Tabs> </rei:REIRadTabStrip> </div> <asp:Panel ID="pnlConsolidatedView" runat="server" Visible="false"> <div class="tabins"> <asp:Panel ID="pnlConsolidatedAssigned" runat="server" Visible="false"> <div class="rmpHiddenView"> <div id="Div3"> <rei:Tasks ID="AssignedTasks" runat="server" /> </div> </div> </asp:Panel> <asp:Panel ID="pnlConsolidatedUnassigned" runat="server" Visible="false"> <div class="rmpHiddenView"> <div id="Div8"> <rei:Tasks ID="UnAssignedTasks" runat="server" /> </div> </div> </asp:Panel> <asp:Panel ID="pnlConsolidatedRecentlyCompleted" runat="server" Visible="false"> <div class="rmpHiddenView"> <div id="Div11"> <rei:Tasks ID="CompletedTasks" runat="server" /> </div> </div> </asp:Panel> </div> </asp:Panel> <asp:Panel ID="pnlDetailedView" runat="server" Visible="false"> <div class="tabins"> <asp:Panel ID="pnlDetailedAssigned" runat="server" Visible="false"> <div class="rmpHiddenView"> <div id="Div5"> <rei:TaskDetails ID="AssignedTaskDetails" runat="server" /> </div> </div> </asp:Panel> <asp:Panel ID="pnlDetailedUnassigned" runat="server" Visible="false"> <div class="rmpHiddenView"> <div id="Div13"> <rei:TaskDetails ID="UnAssignedTaskDetails" runat="server" /> </div> </div> </asp:Panel> <asp:Panel ID="pnlDetailedRecentlyCompleted" runat="server" Visible="false"> <div class="rmpHiddenView"> <div id="Div22"> <rei:TaskDetails ID="CompletedTaskDetails" runat="server" /> </div> </div> </asp:Panel> </div> </asp:Panel> </div> </asp:Panel> </asp:Panel></asp:Content>