private void UpdateItem() { if (isChkListSingle() == true) { string stID = GetFirstID(); if (stID != null) { CreditMemoItems clsCreditMemoItems = new CreditMemoItems(); CreditMemoItemDetails clsCreditMemoItemDetails = clsCreditMemoItems.Details(Convert.ToInt64(stID)); clsCreditMemoItems.CommitAndDispose(); cboProductCode.Items.Clear(); cboVariation.Items.Clear(); cboProductUnit.Items.Clear(); cboProductCode.Items.Add(new ListItem(clsCreditMemoItemDetails.ProductCode, clsCreditMemoItemDetails.ProductID.ToString())); cboProductCode.SelectedIndex = 0; if (clsCreditMemoItemDetails.VariationMatrixID == 0) { cboVariation.Items.Add(new ListItem("No Variation", "0")); } else { cboVariation.Items.Add(new ListItem(clsCreditMemoItemDetails.MatrixDescription, clsCreditMemoItemDetails.VariationMatrixID.ToString())); } cboVariation.SelectedIndex = 0; cboProductUnit.Items.Add(new ListItem(clsCreditMemoItemDetails.ProductUnitCode, clsCreditMemoItemDetails.ProductUnitID.ToString())); cboProductUnit.SelectedIndex = 0; txtQuantity.Text = clsCreditMemoItemDetails.Quantity.ToString("###0.#0"); txtPrice.Text = clsCreditMemoItemDetails.UnitCost.ToString("###0.#0"); txtDiscount.Text = clsCreditMemoItemDetails.Discount.ToString("###0.#0"); if (clsCreditMemoItemDetails.DiscountType == DiscountTypes.Percentage) chkInPercent.Checked = true; else { chkInPercent.Checked = false; } txtAmount.Text = clsCreditMemoItemDetails.Amount.ToString("###0.#0"); txtRemarks.Text = clsCreditMemoItemDetails.Remarks; lblCreditMemoItemID.Text = stID; chkIsTaxable.Checked = clsCreditMemoItemDetails.IsVatable; } } else { string stScript = "<Script>"; stScript += "window.alert('Cannot update more than one record. Please select at least one record to update.')"; stScript += "</Script>"; Response.Write(stScript); } }
private void LoadItems() { CreditMemoItems clsCreditMemoItems = new CreditMemoItems(); lstItem.DataSource = clsCreditMemoItems.ListAsDataTable(Convert.ToInt64(lblCreditMemoID.Text)).DefaultView; lstItem.DataBind(); clsCreditMemoItems.CommitAndDispose(); }
private void SaveRecord() { CreditMemoItemDetails clsDetails = new CreditMemoItemDetails(); Products clsProducts = new Products(); ProductDetails clsProductDetails = clsProducts.Details1(Constants.BRANCH_ID_MAIN, Convert.ToInt64(cboProductCode.SelectedItem.Value)); Terminal clsTerminal = new Terminal(clsProducts.Connection, clsProducts.Transaction); TerminalDetails clsTerminalDetails = clsTerminal.Details(Int32.Parse(Session["BranchID"].ToString()), Session["TerminalNo"].ToString()); clsProducts.CommitAndDispose(); clsDetails.CreditMemoID = Convert.ToInt64(lblCreditMemoID.Text); clsDetails.ProductID = Convert.ToInt64(cboProductCode.SelectedItem.Value); clsDetails.ProductCode = clsProductDetails.ProductCode; clsDetails.BarCode = clsProductDetails.BarCode; clsDetails.Description = clsProductDetails.ProductDesc; clsDetails.ProductUnitID = Convert.ToInt32(cboProductUnit.SelectedItem.Value); clsDetails.ProductUnitCode = cboProductUnit.SelectedItem.Text; clsDetails.Quantity = Convert.ToDecimal(txtQuantity.Text); clsDetails.UnitCost = Convert.ToDecimal(txtPrice.Text); clsDetails.Discount = getItemTotalDiscount(); clsDetails.DiscountApplied = Convert.ToDecimal(txtDiscount.Text); if (clsDetails.DiscountApplied == 0) { if (chkInPercent.Checked == true) clsDetails.DiscountType = DiscountTypes.Percentage; else clsDetails.DiscountType = DiscountTypes.FixedValue; } else { clsDetails.DiscountType = DiscountTypes.NotApplicable; } clsDetails.IsVatable = chkIsTaxable.Checked; clsDetails.Amount = ComputeItemAmount(); if (clsDetails.IsVatable) { clsDetails.VatableAmount = clsDetails.Amount; clsDetails.EVatableAmount = clsDetails.Amount; clsDetails.LocalTax = clsDetails.Amount; if (clsTerminalDetails.IsVATInclusive == false) { if (clsDetails.VatableAmount < clsDetails.Discount) clsDetails.VatableAmount = 0; if (clsDetails.EVatableAmount < clsDetails.Discount) clsDetails.EVatableAmount = 0; if (clsDetails.LocalTax < clsDetails.Discount) clsDetails.LocalTax = 0; } else { if (clsDetails.VatableAmount >= clsDetails.Discount) clsDetails.VatableAmount = (clsDetails.VatableAmount) / (1 + (clsTerminalDetails.VAT / 100)); else clsDetails.VatableAmount = 0; if (clsDetails.EVatableAmount >= clsDetails.Discount) clsDetails.EVatableAmount = (clsDetails.EVatableAmount) / (1 + (clsTerminalDetails.VAT / 100)); else clsDetails.EVatableAmount = 0; if (clsDetails.LocalTax >= clsDetails.Discount) clsDetails.LocalTax = (clsDetails.LocalTax) / (1 + (clsTerminalDetails.LocalTax / 100)); else clsDetails.LocalTax = 0; } clsDetails.VAT = clsDetails.VatableAmount * (clsTerminalDetails.VAT / 100); clsDetails.EVAT = clsDetails.EVatableAmount * (clsTerminalDetails.EVAT / 100); clsDetails.LocalTax = clsDetails.LocalTax * (clsTerminalDetails.LocalTax / 100); } else { clsDetails.VAT = 0; clsDetails.VatableAmount = 0; clsDetails.EVAT = 0; clsDetails.EVatableAmount = 0; clsDetails.LocalTax = 0; } clsDetails.isVATInclusive = clsTerminalDetails.IsVATInclusive; clsDetails.VariationMatrixID = Convert.ToInt64(cboVariation.SelectedItem.Value); if (clsDetails.VariationMatrixID != 0) clsDetails.MatrixDescription = cboVariation.SelectedItem.Text; clsDetails.ProductGroup = clsProductDetails.ProductGroupCode; clsDetails.ProductSubGroup = clsProductDetails.ProductSubGroupCode; clsDetails.Remarks = txtRemarks.Text; CreditMemoItems clsCreditMemoItems = new CreditMemoItems(); if (lblCreditMemoItemID.Text != "0") { clsDetails.CreditMemoItemID = Convert.ToInt64(lblCreditMemoItemID.Text); clsCreditMemoItems.Update(clsDetails); } else clsCreditMemoItems.Insert(clsDetails); CreditMemos clsCreditMemos = new CreditMemos(clsCreditMemoItems.Connection, clsCreditMemoItems.Transaction); CreditMemoDetails clsCreditMemoDetails = clsCreditMemos.Details(clsDetails.CreditMemoID); clsCreditMemoItems.CommitAndDispose(); UpdateFooter(clsCreditMemoDetails); }
private bool DeleteItems() { bool boRetValue = false; string stIDs = ""; foreach (DataListItem item in lstItem.Items) { HtmlInputCheckBox chkList = (HtmlInputCheckBox)item.FindControl("chkList"); if (chkList != null) { if (chkList.Checked == true) { stIDs += chkList.Value + ","; boRetValue = true; } } } if (boRetValue) { CreditMemoItems clsCreditMemoItems = new CreditMemoItems(); clsCreditMemoItems.Delete(stIDs.Substring(0, stIDs.Length - 1)); CreditMemos clsCreditMemos = new CreditMemos(clsCreditMemoItems.Connection, clsCreditMemoItems.Transaction); clsCreditMemos.SynchronizeAmount(Convert.ToInt64(lblCreditMemoID.Text)); CreditMemoDetails clsCreditMemoDetails = clsCreditMemos.Details(Convert.ToInt64(lblCreditMemoID.Text)); clsCreditMemoItems.CommitAndDispose(); UpdateFooter(clsCreditMemoDetails); } return boRetValue; }
private void SetDataSource(ReportDocument Report) { long iID = 0; try { if (Request.QueryString["task"].ToString().ToLower() == "reportfromposted" && Request.QueryString["retid"].ToString() != null) { iID = Convert.ToInt64(Request.QueryString["retid"].ToString()); } else { iID = Convert.ToInt64(Common.Decrypt(Request.QueryString["retid"].ToString(), Session.SessionID)); } lblReferrer.ToolTip = iID.ToString(); } catch { iID = long.Parse(lblReferrer.ToolTip); } ReportDataset rptds = new ReportDataset(); CreditMemos clsCreditMemos = new CreditMemos(); MySqlDataReader myreader = clsCreditMemos.List(iID, "CreditMemoID", SortOption.Ascending); while (myreader.Read()) { DataRow drNew = rptds.CreditMemo.NewRow(); foreach (DataColumn dc in rptds.CreditMemo.Columns) drNew[dc] = "" + myreader[dc.ColumnName]; rptds.CreditMemo.Rows.Add(drNew); } myreader.Close(); CreditMemoItems clsCreditMemoItems = new CreditMemoItems(clsCreditMemos.Connection, clsCreditMemos.Transaction); System.Data.DataTable dt = clsCreditMemoItems.ListAsDataTable(iID); foreach(System.Data.DataRow dr in dt.Rows) { DataRow drNew = rptds.CreditMemoItem.NewRow(); foreach (DataColumn dc in rptds.CreditMemoItem.Columns) drNew[dc] = "" + dr[dc.ColumnName]; rptds.CreditMemoItem.Rows.Add(drNew); } clsCreditMemos.CommitAndDispose(); Report.SetDataSource(rptds); SetParameters(Report); }
public void Cancel(long CreditMemoID, DateTime CancelledDate, string Remarks, long CancelledByID) { try { string SQL = "UPDATE tblSOCreditMemo SET " + "CancelledDate = @CancelledDate, " + "CancelledRemarks = @CancelledRemarks, " + "CancelledByID = @CancelledByID, " + "CreditMemoStatus = @CreditMemoStatus " + "WHERE CreditMemoID = @CreditMemoID;"; MySqlCommand cmd = new MySqlCommand(); cmd.CommandType = System.Data.CommandType.Text; cmd.CommandText = SQL; MySqlParameter prmCancelledDate = new MySqlParameter("@CancelledDate",MySqlDbType.DateTime); prmCancelledDate.Value = CancelledDate.ToString("yyyy-MM-dd HH:mm:ss"); cmd.Parameters.Add(prmCancelledDate); MySqlParameter prmCancelledRemarks = new MySqlParameter("@CancelledRemarks",MySqlDbType.String); prmCancelledRemarks.Value = Remarks; cmd.Parameters.Add(prmCancelledRemarks); MySqlParameter prmCancelledByID = new MySqlParameter("@CancelledByID",MySqlDbType.Int64); prmCancelledByID.Value = CancelledByID; cmd.Parameters.Add(prmCancelledByID); MySqlParameter prmCreditMemoStatus = new MySqlParameter("@CreditMemoStatus",MySqlDbType.Int16); prmCreditMemoStatus.Value = CreditMemoStatus.Cancelled.ToString("d"); cmd.Parameters.Add(prmCreditMemoStatus); MySqlParameter prmCreditMemoID = new MySqlParameter("@CreditMemoID",MySqlDbType.Int64); prmCreditMemoID.Value = CreditMemoID; cmd.Parameters.Add(prmCreditMemoID); base.ExecuteNonQuery(cmd); /******************************************* * Update the status of items * ****************************************/ CreditMemoItems clsCreditMemoItems = new CreditMemoItems(base.Connection, base.Transaction); clsCreditMemoItems.Cancel(CreditMemoID); } catch (Exception ex) { throw base.ThrowException(ex); } }
private void AddItemToInventory(long CreditMemoID) { CreditMemoDetails clsCreditMemoDetails = Details(CreditMemoID); ERPConfig clsERPConfig = new ERPConfig(base.Connection, base.Transaction); ERPConfigDetails clsERPConfigDetails = clsERPConfig.Details(); CreditMemoItems clsCreditMemoItems = new CreditMemoItems(base.Connection, base.Transaction); ProductUnit clsProductUnit = new ProductUnit(base.Connection, base.Transaction); Products clsProduct = new Products(base.Connection, base.Transaction); ProductVariationsMatrix clsProductVariationsMatrix = new ProductVariationsMatrix(base.Connection, base.Transaction); Inventory clsInventory = new Inventory(base.Connection, base.Transaction); System.Data.DataTable dt = clsCreditMemoItems.ListAsDataTable(CreditMemoID); foreach (System.Data.DataRow dr in dt.Rows) { long lngProductID = long.Parse(dr["ProductID"].ToString()); int intProductUnitID = int.Parse(dr["ProductUnitID"].ToString()); decimal decItemQuantity = decimal.Parse(dr["Quantity"].ToString()); decimal decQuantity = clsProductUnit.GetBaseUnitValue(lngProductID, intProductUnitID, decItemQuantity); long lngVariationMatrixID = long.Parse(dr["VariationMatrixID"].ToString()); string strMatrixDescription = "" + dr["MatrixDescription"].ToString(); string strProductCode = "" + dr["ProductCode"].ToString(); decimal decUnitCost = decimal.Parse(dr["UnitCost"].ToString()); decimal decItemCost = decimal.Parse(dr["Amount"].ToString()); decimal decVAT = decimal.Parse(dr["VAT"].ToString()); /******************************************* * Do not Add to Inventory coz this is a Debit Memo and no effect on inventory * ****************************************/ /******************************************* * Add to Inventory Analysis * ****************************************/ InventoryDetails clsInventoryDetails = new InventoryDetails(); clsInventoryDetails.PostingDateFrom = clsERPConfigDetails.PostingDateFrom; clsInventoryDetails.PostingDateTo = clsERPConfigDetails.PostingDateTo; clsInventoryDetails.PostingDate = clsCreditMemoDetails.PostingDate; clsInventoryDetails.ReferenceNo = clsCreditMemoDetails.CNNo; clsInventoryDetails.ContactID = clsCreditMemoDetails.CustomerID; clsInventoryDetails.ContactCode = clsCreditMemoDetails.CustomerCode; clsInventoryDetails.ProductID = lngProductID; clsInventoryDetails.ProductCode = strProductCode; clsInventoryDetails.VariationMatrixID = lngVariationMatrixID; clsInventoryDetails.MatrixDescription = strMatrixDescription; clsInventoryDetails.SCreditQuantity = decQuantity; clsInventoryDetails.SCreditCost = decItemCost - decVAT; clsInventoryDetails.SCreditVAT = decItemCost; //Sales Return with VAT clsInventory.Insert(clsInventoryDetails); } //myReader.Close(); }
private void UpdateAccounts(long CreditMemoID) { try { CreditMemoDetails clsCreditMemoDetails = Details(CreditMemoID); ChartOfAccounts clsChartOfAccount = new ChartOfAccounts(base.Connection, base.Transaction); // update ChartOfAccountIDARTracking as credit clsChartOfAccount.UpdateCredit(clsCreditMemoDetails.ChartOfAccountIDARTracking, clsCreditMemoDetails.SubTotal); // update Deposit & APContra clsChartOfAccount.UpdateDebit(clsCreditMemoDetails.ChartOfAccountIDARContra, clsCreditMemoDetails.Discount); // update Freight & APTracking clsChartOfAccount.UpdateDebit(clsCreditMemoDetails.ChartOfAccountIDARTracking, clsCreditMemoDetails.Freight); clsChartOfAccount.UpdateCredit(clsCreditMemoDetails.ChartOfAccountIDARFreight, clsCreditMemoDetails.Freight); // update Deposit & APTracking clsChartOfAccount.UpdateDebit(clsCreditMemoDetails.ChartOfAccountIDARTracking, clsCreditMemoDetails.Deposit); clsChartOfAccount.UpdateCredit(clsCreditMemoDetails.ChartOfAccountIDARVDeposit, clsCreditMemoDetails.Deposit); CreditMemoItems clsCreditMemoItems = new CreditMemoItems(base.Connection, base.Transaction); System.Data.DataTable dt = clsCreditMemoItems.ListAsDataTable(CreditMemoID); foreach (System.Data.DataRow dr in dt.Rows) { int iChartOfAccountIDPurchase = Int16.Parse(dr["ChartOfAccountIDPurchase"].ToString()); int iChartOfAccountIDTaxPurchase = Int16.Parse(dr["ChartOfAccountIDTaxPurchase"].ToString()); decimal decVAT = decimal.Parse(dr["VAT"].ToString()); decimal decVATABLEAmount = decimal.Parse(dr["Amount"].ToString()) - decVAT; // update purchase as debit clsChartOfAccount.UpdateCredit(iChartOfAccountIDPurchase, decVATABLEAmount); // update tax as debit clsChartOfAccount.UpdateCredit(iChartOfAccountIDTaxPurchase, decVAT); } //myReader.Close(); } catch (Exception ex) { throw base.ThrowException(ex); } }
public void Post(long CreditMemoID, string CustomerDocNo, DateTime PostingDate) { try { string SQL = "UPDATE tblSOCreditMemo SET " + "CustomerDocNo = @CustomerDocNo, " + "PostingDate = @PostingDate, " + "SOReturnStatus = @SOReturnStatus, " + "CreditMemoStatus = @CreditMemoStatus " + "WHERE CreditMemoID = @CreditMemoID;"; MySqlCommand cmd = new MySqlCommand(); cmd.CommandType = System.Data.CommandType.Text; cmd.CommandText = SQL; cmd.Parameters.AddWithValue("@CustomerDocNo", CustomerDocNo); cmd.Parameters.AddWithValue("@PostingDate", PostingDate.ToString("yyyy-MM-dd HH:mm:ss")); cmd.Parameters.AddWithValue("@SOReturnStatus", SOReturnStatus.Posted.ToString("d")); cmd.Parameters.AddWithValue("@CreditMemoStatus", CreditMemoStatus.Posted.ToString("d")); cmd.Parameters.AddWithValue("@CreditMemoID", CreditMemoID); base.ExecuteNonQuery(cmd); /******************************************* * Update the status of items * ****************************************/ CreditMemoItems clsCreditMemoItems = new CreditMemoItems(base.Connection, base.Transaction); clsCreditMemoItems.Post(CreditMemoID); /******************************************* * Update Customer Account * ****************************************/ AddItemToInventory(CreditMemoID); } catch (Exception ex) { throw base.ThrowException(ex); } }