protected void grdMain_RowUpdating(object sender, GridViewUpdateEventArgs e) { if (dtLineItems != null) { GridViewRow gr = grdMain.Rows[e.RowIndex]; var txtINVOICE_NAME = gr.FindControl("INVOICE_NAME") as TextBox; var txtINVOICE_ID = gr.FindControl("INVOICE_ID") as HiddenField; var txtAMOUNT_DUE = gr.FindControl("AMOUNT_DUE") as TextBox; var txtAMOUNT_DUE_USDOLLAR = gr.FindControl("AMOUNT_DUE_USDOLLAR") as HiddenField; var txtAMOUNT = gr.FindControl("AMOUNT") as TextBox; var txtAMOUNT_USDOLLAR = gr.FindControl("AMOUNT_USDOLLAR") as HiddenField; DataRow row = dtLineItems.Rows[e.RowIndex]; if (txtINVOICE_NAME != null) { row["INVOICE_NAME"] = txtINVOICE_NAME.Text; } if (txtINVOICE_ID != null) { row["INVOICE_ID"] = CommonTypeConvert.ToGuid(txtINVOICE_ID.Value); } if (txtAMOUNT != null) { row["AMOUNT_DUE"] = CommonTypeConvert.ToDecimal(txtAMOUNT_DUE.Text); } if (txtAMOUNT != null) { row["AMOUNT"] = CommonTypeConvert.ToDecimal(txtAMOUNT.Text); } row["AMOUNT_DUE_USDOLLAR"] = Currency.GetCurrency.FromCurrency(CommonTypeConvert.ToDecimal(txtAMOUNT_DUE.Text)); row["AMOUNT_USDOLLAR"] = Currency.GetCurrency.FromCurrency(CommonTypeConvert.ToDecimal(txtAMOUNT.Text)); DataRow[] aCurrentRows = dtLineItems.Select(String.Empty, String.Empty, DataViewRowState.CurrentRows); if (aCurrentRows.Length == 0 || !CommonTypeConvert.IsEmptyString(aCurrentRows[aCurrentRows.Length - 1]["INVOICE_NAME"])) { DataRow rowNew = dtLineItems.NewRow(); dtLineItems.Rows.Add(rowNew); aCurrentRows = dtLineItems.Select(String.Empty, String.Empty, DataViewRowState.CurrentRows); } ViewState["LineItems"] = dtLineItems; grdMain.DataSource = dtLineItems; grdMain.EditIndex = aCurrentRows.Length - 1; grdMain.DataBind(); UpdateTotals(); UpdatePaymentAmount(); } }
protected void Page_Command(Object sender, CommandEventArgs e) { Guid gPARENT_ID = CommonTypeConvert.ToGuid(Request["PARENT_ID"]); string sMODULE = String.Empty; string sPARENT_TYPE = String.Empty; string sPARENT_NAME = String.Empty; CommonProcedure.ParentGet(ref gPARENT_ID, ref sMODULE, ref sPARENT_TYPE, ref sPARENT_NAME); if (e.CommandName == "Save") { var txtNAME = FindControl("NAME") as TextBox; var txtPRODUCT_TEMPLATE_ID = FindControl("PRODUCT_TEMPLATE_ID") as HtmlInputHidden; if (CommonTypeConvert.IsEmptyString(txtNAME.Text.Trim())) { txtPRODUCT_TEMPLATE_ID.Value = String.Empty; } else if (CommonTypeConvert.IsEmptyString(txtPRODUCT_TEMPLATE_ID.Value)) { txtPRODUCT_TEMPLATE_ID.Value = Guid.Empty.ToString(); } ValidateEditViewFields(m_sMODULE + ".EditView"); ValidateEditViewFields(m_sMODULE + ".CostView"); ValidateEditViewFields(m_sMODULE + ".MftView"); if (Page.IsValid) { string sCUSTOM_MODULE = "PRODUCTS"; DataTable dtCustomFields = CRMCache.FieldsMetaData_Validated(sCUSTOM_MODULE); var oQuery = new InlineQueryDBManager(); DataRow rowCurrent = null; if (!CommonTypeConvert.IsEmptyGuid(gID)) { string innerSql = ApplicationSQL.SQL["Products_EditView"].ToString(); oQuery.CommandText = innerSql; CRMSecurity.Filter(oQuery, m_sMODULE, "edit"); TypeConvert.AppendParameter(oQuery, gID, "ID", false); DataTable dtCurrent = oQuery.GetTable(); if (dtCurrent.Rows.Count > 0) { rowCurrent = dtCurrent.Rows[0]; } else { gID = Guid.Empty; } } CommonProcedure.ProductUpdate (ref gID , new DynamicControl(this, rowCurrent, "PRODUCT_TEMPLATE_ID").ID , new DynamicControl(this, rowCurrent, "NAME").Text , new DynamicControl(this, rowCurrent, "STATUS").SelectedValue , new DynamicControl(this, rowCurrent, "ACCOUNT_ID").ID , new DynamicControl(this, rowCurrent, "CONTACT_ID").ID , new DynamicControl(this, rowCurrent, "QUANTITY").IntegerValue , new DynamicControl(this, rowCurrent, "DATE_PURCHASED").DateValue , new DynamicControl(this, rowCurrent, "DATE_SUPPORT_EXPIRES").DateValue , new DynamicControl(this, rowCurrent, "DATE_SUPPORT_STARTS").DateValue , new DynamicControl(this, rowCurrent, "MANUFACTURER_ID").ID , new DynamicControl(this, rowCurrent, "CATEGORY_ID").ID , new DynamicControl(this, rowCurrent, "TYPE_ID").ID , new DynamicControl(this, rowCurrent, "WEBSITE").Text , new DynamicControl(this, rowCurrent, "MFT_PART_NUM").Text , new DynamicControl(this, rowCurrent, "VENDOR_PART_NUM").Text , new DynamicControl(this, rowCurrent, "SERIAL_NUMBER").Text , new DynamicControl(this, rowCurrent, "ASSET_NUMBER").Text , new DynamicControl(this, rowCurrent, "TAX_CLASS").SelectedValue , new DynamicControl(this, rowCurrent, "WEIGHT").FloatValue , new DynamicControl(this, rowCurrent, "CURRENCY_ID").ID , new DynamicControl(this, rowCurrent, "COST_PRICE").DecimalValue , new DynamicControl(this, rowCurrent, "LIST_PRICE").DecimalValue , new DynamicControl(this, rowCurrent, "BOOK_VALUE").DecimalValue , new DynamicControl(this, rowCurrent, "BOOK_VALUE_DATE").DateValue , new DynamicControl(this, rowCurrent, "DISCOUNT_PRICE").DecimalValue , new DynamicControl(this, rowCurrent, "PRICING_FACTOR").IntegerValue , new DynamicControl(this, rowCurrent, "PRICING_FORMULA").SelectedValue , new DynamicControl(this, rowCurrent, "SUPPORT_NAME").Text , new DynamicControl(this, rowCurrent, "SUPPORT_CONTACT").Text , new DynamicControl(this, rowCurrent, "SUPPORT_DESCRIPTION").Text , new DynamicControl(this, rowCurrent, "SUPPORT_TERM").SelectedValue , new DynamicControl(this, rowCurrent, "DESCRIPTION").Text , new DynamicControl(this, rowCurrent, "TEAM_ID").ID ); CRMDynamic.UpdateCustomFields(this, gID, sCUSTOM_MODULE, dtCustomFields); if (!CommonTypeConvert.IsEmptyGuid(gPARENT_ID)) { Response.Redirect("~/CRM/" + sMODULE + "/view.aspx?ID=" + gPARENT_ID); } else { Response.Redirect("view.aspx?ID=" + gID); } } } else if (e.CommandName == "Cancel") { if (!CommonTypeConvert.IsEmptyGuid(gPARENT_ID)) { Response.Redirect("~/CRM/" + sMODULE + "/view.aspx?ID=" + gPARENT_ID); } else if (CommonTypeConvert.IsEmptyGuid(gID)) { Response.Redirect("Index.aspx"); } else { Response.Redirect("view.aspx?ID=" + gID); } } }
public static DataTable ImportColumns(string sMODULE_NAME) { Cache Cache = HttpRuntime.Cache; var dt = Cache.Get("vwSqlColumns_Import." + sMODULE_NAME) as DataTable; if (dt == null) { string sTABLE_NAME = CommonTypeConvert.ToString(HttpContext.Current.Application["Modules." + sMODULE_NAME + ".TableName"]); if (CommonTypeConvert.IsEmptyString(sTABLE_NAME)) { sTABLE_NAME = sMODULE_NAME.ToUpper(); } var oQuery = new InlineQueryDBManager(); dt = new DataTable(); dt.Columns.Add("ColumnName", Type.GetType("System.String")); dt.Columns.Add("NAME", Type.GetType("System.String")); dt.Columns.Add("DISPLAY_NAME", Type.GetType("System.String")); dt.Columns.Add("ColumnType", Type.GetType("System.String")); dt.Columns.Add("Size", Type.GetType("System.Int32")); dt.Columns.Add("Scale", Type.GetType("System.Int32")); dt.Columns.Add("Precision", Type.GetType("System.Int32")); dt.Columns.Add("colid", Type.GetType("System.Int32")); dt.Columns.Add("CustomField", Type.GetType("System.Boolean")); { oQuery = null; try { oQuery = InlineQueryDBManager.Factory("stp_Zpro_" + sTABLE_NAME + "_Import"); if (oQuery == null) { throw new Exception(); } } catch { oQuery = InlineQueryDBManager.Factory("stp_Zpro_" + sTABLE_NAME + "_Update"); } for (int i = 0; i < oQuery.Count; i++) { SqlParameter par = oQuery[i]; DataRow row = dt.NewRow(); dt.Rows.Add(row); row["ColumnName"] = par.ParameterName; row["NAME"] = CommonTypeConvert.ExtractDbName(par.ParameterName); row["DISPLAY_NAME"] = row["NAME"]; row["ColumnType"] = par.DbType.ToString(); row["Size"] = par.Size; row["Scale"] = par.Scale; row["Precision"] = par.Precision; row["colid"] = i; row["CustomField"] = false; } string sSQL; if (Config.enable_team_management()) { bool bModuleIsTeamed = CommonTypeConvert.ToBoolean( HttpContext.Current.Application["Modules." + sMODULE_NAME + ".Teamed"]); DataRow row = dt.NewRow(); row = dt.NewRow(); row["ColumnName"] = "@TEAM_NAME"; row["NAME"] = "TEAM_NAME"; row["DISPLAY_NAME"] = "TEAM_NAME"; row["ColumnType"] = "string"; row["Size"] = 128; row["colid"] = dt.Rows.Count; row["CustomField"] = false; dt.Rows.Add(row); } sSQL = ApplicationSQL.SQL["_code_CRMCache_629"]; oQuery = new InlineQueryDBManager(); oQuery.CommandText = sSQL; oQuery.Add("@OBJECTNAME", SqlDbType.NVarChar, sTABLE_NAME + "_CSTM"); DataTable dtCSTM = oQuery.GetTable(); foreach (DataRow rowCSTM in dtCSTM.Rows) { DataRow row = dt.NewRow(); row["ColumnName"] = CommonTypeConvert.ToString(rowCSTM["ColumnName"]); row["NAME"] = CommonTypeConvert.ToString(rowCSTM["ColumnName"]); row["DISPLAY_NAME"] = CommonTypeConvert.ToString(rowCSTM["ColumnName"]); row["ColumnType"] = CommonTypeConvert.ToString(rowCSTM["CsType"]); row["Size"] = CommonTypeConvert.ToInteger(rowCSTM["length"]); row["colid"] = dt.Rows.Count; row["CustomField"] = true; dt.Rows.Add(row); } Cache.Insert("vwSqlColumns_Import." + sMODULE_NAME, dt, null, DefaultCacheExpiration(), Cache.NoSlidingExpiration); } } return(dt); //return new DataTable(); }
protected void Page_Command(Object sender, CommandEventArgs e) { Guid gORDER_ID = CommonTypeConvert.ToGuid(Request["ORDER_ID"]); Guid gQUOTE_ID = CommonTypeConvert.ToGuid(Request["QUOTE_ID"]); Guid gPARENT_ID = CommonTypeConvert.ToGuid(Request["PARENT_ID"]); string sMODULE = String.Empty; string sPARENT_TYPE = String.Empty; string sPARENT_NAME = String.Empty; CommonProcedure.ParentGet(ref gPARENT_ID, ref sMODULE, ref sPARENT_TYPE, ref sPARENT_NAME); if (e.CommandName == "Save") { ValidateEditViewFields(m_sMODULE + ".EditView"); ValidateEditViewFields(m_sMODULE + ".EditAddress"); ValidateEditViewFields(m_sMODULE + ".EditDescription"); if (Page.IsValid) { string sCUSTOM_MODULE = "INVOICES"; DataTable dtCustomFields = CRMCache.FieldsMetaData_Validated(sCUSTOM_MODULE); DataTable dtCustomLineItems = CRMCache.FieldsMetaData_UnvalidatedCustomFields(sCUSTOM_MODULE + "_LINE_ITEMS"); DataRow rowCurrent = null; var dtCurrent = new DataTable(); if (!CommonTypeConvert.IsEmptyGuid(gID)) { string innerSql = ApplicationSQL.SQL["Invoices_EditView_323"].ToString(); var oQuery = new InlineQueryDBManager(); oQuery.CommandText = innerSql; CRMSecurity.Filter(oQuery, m_sMODULE, "edit"); TypeConvert.AppendParameter(oQuery, gID, "ID", false); dtCurrent = oQuery.GetTable(); if (dtCurrent.Rows.Count > 0) { rowCurrent = dtCurrent.Rows[0]; } else { gID = Guid.Empty; } } ctlEditLineItemsView.UpdateTotals(); CommonProcedure.InvoicesUpdate (ref gID , new DynamicControl(this, rowCurrent, "ASSIGNED_USER_ID").ID , new DynamicControl(this, rowCurrent, "NAME").Text , new DynamicControl(this, rowCurrent, "QUOTE_ID").ID , new DynamicControl(this, rowCurrent, "ORDER_ID").ID , new DynamicControl(this, rowCurrent, "OPPORTUNITY_ID").ID , new DynamicControl(this, rowCurrent, "PAYMENT_TERMS").SelectedValue , new DynamicControl(this, rowCurrent, "INVOICE_STAGE").SelectedValue , new DynamicControl(this, rowCurrent, "PURCHASE_ORDER_NUM").Text , new DynamicControl(this, rowCurrent, "DUE_DATE").DateValue , new DynamicControl(ctlEditLineItemsView, rowCurrent, "EXCHANGE_RATE").FloatValue , new DynamicControl(ctlEditLineItemsView, rowCurrent, "CURRENCY_ID").ID , new DynamicControl(ctlEditLineItemsView, rowCurrent, "TAXRATE_ID").ID , new DynamicControl(ctlEditLineItemsView, rowCurrent, "SHIPPER_ID").ID , new DynamicControl(ctlEditLineItemsView, rowCurrent, "SUBTOTAL").DecimalValue , new DynamicControl(ctlEditLineItemsView, rowCurrent, "DISCOUNT").DecimalValue , new DynamicControl(ctlEditLineItemsView, rowCurrent, "SHIPPING").DecimalValue , new DynamicControl(ctlEditLineItemsView, rowCurrent, "TAX").DecimalValue , new DynamicControl(ctlEditLineItemsView, rowCurrent, "TOTAL").DecimalValue , new DynamicControl(ctlEditLineItemsView, rowCurrent, "AMOUNT_DUE").DecimalValue , new DynamicControl(this, rowCurrent, "BILLING_ACCOUNT_ID").ID , new DynamicControl(this, rowCurrent, "BILLING_CONTACT_ID").ID , new DynamicControl(this, rowCurrent, "BILLING_ADDRESS_STREET").Text , new DynamicControl(this, rowCurrent, "BILLING_ADDRESS_CITY").Text , new DynamicControl(this, rowCurrent, "BILLING_ADDRESS_STATE").Text , new DynamicControl(this, rowCurrent, "BILLING_ADDRESS_POSTALCODE").Text , new DynamicControl(this, rowCurrent, "BILLING_ADDRESS_COUNTRY").Text , new DynamicControl(this, rowCurrent, "SHIPPING_ACCOUNT_ID").ID , new DynamicControl(this, rowCurrent, "SHIPPING_CONTACT_ID").ID , new DynamicControl(this, rowCurrent, "SHIPPING_ADDRESS_STREET").Text , new DynamicControl(this, rowCurrent, "SHIPPING_ADDRESS_CITY").Text , new DynamicControl(this, rowCurrent, "SHIPPING_ADDRESS_STATE").Text , new DynamicControl(this, rowCurrent, "SHIPPING_ADDRESS_POSTALCODE").Text , new DynamicControl(this, rowCurrent, "SHIPPING_ADDRESS_COUNTRY").Text , new DynamicControl(this, rowCurrent, "DESCRIPTION").Text , new DynamicControl(this, rowCurrent, "TEAM_ID").ID ); CRMDynamic.UpdateCustomFields(this, gID, sCUSTOM_MODULE, dtCustomFields); DataTable dtLineItems = ctlEditLineItemsView.LineItems; foreach (DataRow row in dtLineItems.Rows) { if (row.RowState == DataRowState.Deleted) { Guid gITEM_ID = CommonTypeConvert.ToGuid(row["ID", DataRowVersion.Original]); if (!CommonTypeConvert.IsEmptyGuid(gITEM_ID)) { CommonProcedure.InvoicesLINE_ITEMS_Delete(gITEM_ID); } } } int nPOSITION = 1; foreach (DataRow row in dtLineItems.Rows) { if (row.RowState != DataRowState.Deleted) { Guid gITEM_ID = CommonTypeConvert.ToGuid(row["ID"]); Guid gLINE_GROUP_ID = CommonTypeConvert.ToGuid(row["LINE_GROUP_ID"]); string sLINE_ITEM_TYPE = CommonTypeConvert.ToString(row["LINE_ITEM_TYPE"]); string sNAME = CommonTypeConvert.ToString(row["NAME"]); string sMFT_PART_NUM = CommonTypeConvert.ToString(row["MFT_PART_NUM"]); string sVENDOR_PART_NUM = CommonTypeConvert.ToString(row["VENDOR_PART_NUM"]); Guid gPRODUCT_TEMPLATE_ID = CommonTypeConvert.ToGuid(row["PRODUCT_TEMPLATE_ID"]); string sTAX_CLASS = CommonTypeConvert.ToString(row["TAX_CLASS"]); int nQUANTITY = CommonTypeConvert.ToInteger(row["QUANTITY"]); Decimal dCOST_PRICE = CommonTypeConvert.ToDecimal(row["COST_PRICE"]); Decimal dLIST_PRICE = CommonTypeConvert.ToDecimal(row["LIST_PRICE"]); Decimal dUNIT_PRICE = CommonTypeConvert.ToDecimal(row["UNIT_PRICE"]); string sDESCRIPTION = CommonTypeConvert.ToString(row["DESCRIPTION"]); if (!CommonTypeConvert.IsEmptyGuid(gPRODUCT_TEMPLATE_ID) || !CommonTypeConvert.IsEmptyString(sNAME)) { CommonProcedure.InvoicesLINE_ITEMS_Update (ref gITEM_ID , gID , gLINE_GROUP_ID , sLINE_ITEM_TYPE , nPOSITION , sNAME , sMFT_PART_NUM , sVENDOR_PART_NUM , gPRODUCT_TEMPLATE_ID , sTAX_CLASS , nQUANTITY , dCOST_PRICE , dLIST_PRICE , dUNIT_PRICE , sDESCRIPTION ); CRMDynamic.UpdateCustomFields(row, gITEM_ID, sCUSTOM_MODULE + "_LINE_ITEMS", dtCustomLineItems); nPOSITION++; } } } CommonProcedure.InvoicesUpdateAmountDue(gID); if (!CommonTypeConvert.IsEmptyGuid(gPARENT_ID)) { Response.Redirect("~/CRM/" + sMODULE + "/view.aspx?ID=" + gPARENT_ID); } else { Response.Redirect("view.aspx?ID=" + gID); } } } else if (e.CommandName == "Cancel") { if (!CommonTypeConvert.IsEmptyGuid(gPARENT_ID)) { Response.Redirect("~/CRM/" + sMODULE + "/view.aspx?ID=" + gPARENT_ID); } else if (!CommonTypeConvert.IsEmptyGuid(gORDER_ID)) { Response.Redirect("~/CRM/Orders/view.aspx?ID=" + gORDER_ID); } else if (!CommonTypeConvert.IsEmptyGuid(gQUOTE_ID)) { Response.Redirect("~/CRM/Quotes/view.aspx?ID=" + gQUOTE_ID); } else if (CommonTypeConvert.IsEmptyGuid(gID)) { Response.Redirect("Index.aspx"); } else { Response.Redirect("view.aspx?ID=" + gID); } } }
public void LoadLineItems(Guid gID, Guid gACCOUNT_ID, Guid gDuplicateID, InlineQueryDBManager oQuery, SqlDataReader rdr) { this.gACCOUNT_ID = gACCOUNT_ID; if (!IsPostBack) { GetCurrencyControl(); CURRENCY_ID.SelectedValue = Currency.GetCurrency.ID.ToString(); EXCHANGE_RATE.Value = Currency.GetCurrency.CONVERSION_RATE.ToString(); foreach (DataControlField col in grdMain.Columns) { if (!CommonTypeConvert.IsEmptyString(col.HeaderText)) { col.HeaderText = Translation.GetTranslation.Term(col.HeaderText); } var cf = col as CommandField; if (cf != null) { cf.EditText = Translation.GetTranslation.Term(cf.EditText); cf.DeleteText = Translation.GetTranslation.Term(cf.DeleteText); cf.UpdateText = Translation.GetTranslation.Term(cf.UpdateText); cf.CancelText = Translation.GetTranslation.Term(cf.CancelText); } } if ((!CommonTypeConvert.IsEmptyGuid(gID) || !CommonTypeConvert.IsEmptyGuid(gDuplicateID)) && (oQuery != null) && (rdr != null)) { CURRENCY_ID.SelectedValue = CommonTypeConvert.ToString(rdr["CURRENCY_ID"]); EXCHANGE_RATE.Value = Currency.GetCurrency.CONVERSION_RATE.ToString(); float fEXCHANGE_RATE = CommonTypeConvert.ToFloat(rdr["EXCHANGE_RATE"]); if (fEXCHANGE_RATE == 0.0f) { fEXCHANGE_RATE = 1.0f; } EXCHANGE_RATE.Value = fEXCHANGE_RATE.ToString(); if (CURRENCY_ID.Items.Count > 0) { Guid gCURRENCY_ID = CommonTypeConvert.ToGuid(CURRENCY_ID.SelectedValue); SetCurrency(gCURRENCY_ID, fEXCHANGE_RATE); EXCHANGE_RATE.Value = Currency.GetCurrency.CONVERSION_RATE.ToString(); } ALLOCATED.Text = Currency.GetCurrency.ToCurrency(CommonTypeConvert.ToDecimal(rdr["TOTAL_ALLOCATED_USDOLLAR"])). ToString("c"); ALLOCATED_USDOLLAR.Value = CommonTypeConvert.ToDecimal(rdr["TOTAL_ALLOCATED_USDOLLAR"]).ToString("0.00"); rdr.Close(); string innerSql = ApplicationSQL.SQL["Payments_AllocationsView_233"].ToString(); oQuery.CommandText = innerSql; TypeConvert.AppendParameter(oQuery, gID, "PAYMENT_ID", false); oQuery.CommandText += " order by DATE_MODIFIED asc" + ControlChars.CrLf; DataTable dtLineItems = oQuery.GetTable(); if (!CommonTypeConvert.IsEmptyGuid(gDuplicateID)) { foreach (DataRow row in dtLineItems.Rows) { row["ID"] = Guid.NewGuid(); } } DataRow rowNew = dtLineItems.NewRow(); dtLineItems.Rows.Add(rowNew); ViewState["LineItems"] = dtLineItems; grdMain.DataSource = dtLineItems; grdMain.EditIndex = dtLineItems.Rows.Count - 1; grdMain.DataBind(); } else { dtLineItems = new DataTable(); var colID = new DataColumn("ID", Type.GetType("System.Guid")); var colINVOICE_NAME = new DataColumn("INVOICE_NAME", Type.GetType("System.String")); var colINVOICE_ID = new DataColumn("INVOICE_ID", Type.GetType("System.Guid")); var colAMOUNT_DUE = new DataColumn("AMOUNT_DUE", Type.GetType("System.Decimal")); var colAMOUNT_DUE_USDOLLAR = new DataColumn("AMOUNT_DUE_USDOLLAR", Type.GetType("System.Decimal")); var colAMOUNT = new DataColumn("AMOUNT", Type.GetType("System.Decimal")); var colAMOUNT_USDOLLAR = new DataColumn("AMOUNT_USDOLLAR", Type.GetType("System.Decimal")); dtLineItems.Columns.Add(colID); dtLineItems.Columns.Add(colINVOICE_NAME); dtLineItems.Columns.Add(colINVOICE_ID); dtLineItems.Columns.Add(colAMOUNT_DUE); dtLineItems.Columns.Add(colAMOUNT_DUE_USDOLLAR); dtLineItems.Columns.Add(colAMOUNT); dtLineItems.Columns.Add(colAMOUNT_USDOLLAR); DataRow rowNew = null; string innerSql = ApplicationSQL.SQL["Payments_AllocationsView"].ToString(); oQuery.CommandText = innerSql; Guid gPARENT_ID = CommonTypeConvert.ToGuid(Request["PARENT_ID"]); TypeConvert.AppendParameter(oQuery, gPARENT_ID, "ID", false); using (SqlDataReader rdrInvoice = oQuery.ExecuteReader(CommandBehavior.SingleRow)) { if (rdrInvoice.Read()) { rowNew = dtLineItems.NewRow(); rowNew["INVOICE_NAME"] = CommonTypeConvert.ToString(rdrInvoice["NAME"]); rowNew["INVOICE_ID"] = CommonTypeConvert.ToGuid(rdrInvoice["ID"]); rowNew["AMOUNT_DUE"] = CommonTypeConvert.ToDecimal(rdrInvoice["AMOUNT_DUE"]); rowNew["AMOUNT_DUE_USDOLLAR"] = CommonTypeConvert.ToDecimal(rdrInvoice["AMOUNT_DUE_USDOLLAR"]); rowNew["AMOUNT"] = CommonTypeConvert.ToDecimal(rdrInvoice["AMOUNT_DUE"]); rowNew["AMOUNT_USDOLLAR"] = CommonTypeConvert.ToDecimal(rdrInvoice["AMOUNT_DUE_USDOLLAR"]); if (rdrInvoice["AMOUNT_DUE"] == DBNull.Value) { rowNew["AMOUNT_DUE"] = CommonTypeConvert.ToDecimal(rdrInvoice["TOTAL"]); rowNew["AMOUNT_DUE_USDOLLAR"] = CommonTypeConvert.ToDecimal(rdrInvoice["TOTAL_USDOLLAR"]); rowNew["AMOUNT"] = CommonTypeConvert.ToDecimal(rdrInvoice["TOTAL"]); rowNew["AMOUNT_USDOLLAR"] = CommonTypeConvert.ToDecimal(rdrInvoice["TOTAL_USDOLLAR"]); } dtLineItems.Rows.Add(rowNew); } } rowNew = dtLineItems.NewRow(); dtLineItems.Rows.Add(rowNew); ViewState["LineItems"] = dtLineItems; grdMain.DataSource = dtLineItems; grdMain.EditIndex = dtLineItems.Rows.Count - 1; grdMain.DataBind(); UpdateTotals(); } } }