Esempio n. 1
0
		private void LoadList()
		{	
			BranchTransfer clsBranchTransfer = new BranchTransfer();
			DataClass clsDataClass = new DataClass();
			Common Common = new Common();

			string SortField = "BranchTransferID";
			if (Request.QueryString["sortfield"]!=null)
			{	SortField = Common.Decrypt(Request.QueryString["sortfield"].ToString(), Session.SessionID);	}

			SortOption sortoption = SortOption.Ascending;
			if (Request.QueryString["sortoption"]!=null)
			{	sortoption = (SortOption) Enum.Parse(typeof(SortOption), Common.Decrypt(Request.QueryString["sortoption"], Session.SessionID), true);	}

            DateTime dteTransferStartDate = DateTime.MinValue;
            try { if (txtTransferStartDate.Text != string.Empty) dteTransferStartDate = Convert.ToDateTime(txtTransferStartDate.Text + " " + txtTransferStartTime.Text); }
            catch { }

            DateTime dteTransferEndDate = DateTime.MinValue;
            try { if (txtTransferEndDate.Text != string.Empty) dteTransferEndDate = Convert.ToDateTime(txtTransferEndDate.Text + " " + txtTransferEndTime.Text); }
            catch { }

            DateTime dtePostingStartDate = DateTime.MinValue;
            try { if (txtPostingStartDate.Text != string.Empty) dtePostingStartDate = Convert.ToDateTime(txtPostingStartDate.Text + " " + txtPostingStartTime.Text); }
            catch { }

            DateTime dtePostingEndDate = DateTime.MinValue;
            try { if (txtPostingEndDate.Text != string.Empty) dtePostingEndDate = Convert.ToDateTime(txtPostingEndDate.Text + " " + txtPostingEndTime.Text); }
            catch { }

            BranchTransferDetails searchKey = new BranchTransferDetails();
            searchKey.BranchTransferNo = txtSearch.Text;

            BranchTransferStatus status = (BranchTransferStatus)Enum.Parse(typeof(BranchTransferStatus), cboStatus.SelectedItem.Value);
            PageData.DataSource = clsBranchTransfer.ListAsDataTable(0, 0, searchKey, status, dteTransferStartDate, dteTransferEndDate, dtePostingStartDate, dtePostingEndDate, null, null, SortField, sortoption).DefaultView; 
            clsBranchTransfer.CommitAndDispose();

			int iPageSize = Convert.ToInt16(Session["PageSize"]) ;
			
			PageData.AllowPaging = true;
			PageData.PageSize = iPageSize;
			try
			{
				PageData.CurrentPageIndex = Convert.ToInt16(cboCurrentPage.SelectedItem.Value) - 1;				
				lstItem.DataSource = PageData;
				lstItem.DataBind();
			}
			catch
			{
				PageData.CurrentPageIndex = 1;
				lstItem.DataSource = PageData;
				lstItem.DataBind();
			}			
			
			cboCurrentPage.Items.Clear();
			for (int i=0; i < PageData.PageCount;i++)
			{
				int iValue = i + 1;
				cboCurrentPage.Items.Add(new ListItem(iValue.ToString(),iValue.ToString()));
				if (PageData.CurrentPageIndex == i)
				{	cboCurrentPage.Items[i].Selected = true;}
				else
				{	cboCurrentPage.Items[i].Selected = false;}
			}
			lblDataCount.Text = " of " + " " + PageData.PageCount;
		}
Esempio n. 2
0
		private Int64 SaveRecord()
		{
			BranchTransfer clsBranchTransfer = new BranchTransfer();
			clsBranchTransfer.GetConnection();
			lblBranchTransferNo.Text = Constants.BRANCH_TRANSFER_CODE + CompanyDetails.BECompanyCode + DateTime.Now.Year.ToString() + clsBranchTransfer.LastTransactionNo();

			BranchTransferDetails clsDetails = new BranchTransferDetails();

			clsDetails.BranchTransferNo = lblBranchTransferNo.Text;
			clsDetails.BranchTransferDate = Convert.ToDateTime(lblBranchTransferDate.Text);
            clsDetails.BranchIDFrom = Convert.ToInt16(cboBranchFrom.SelectedItem.Value);
            clsDetails.BranchIDTo = Convert.ToInt16(cboBranchTo.SelectedItem.Value);
            clsDetails.RequiredDeliveryDate = Convert.ToDateTime(txtRequiredDeliveryDate.Text);
			clsDetails.TransferrerID = Convert.ToInt64(Session["UID"].ToString());
            clsDetails.TransferrerName = Session["Name"].ToString();
            clsDetails.RequestedBy = txtRequestedBy.Text;
			clsDetails.Status = BranchTransferStatus.Open;
			clsDetails.Remarks = txtRemarks.Text;
			
			Int64 id = clsBranchTransfer.Insert(clsDetails);
			clsBranchTransfer.CommitAndDispose();

			return id;
		}
Esempio n. 3
0
		public long Insert(BranchTransferDetails Details)
		{
			try 
			{
                MySqlCommand cmd = new MySqlCommand();
                cmd.CommandType = System.Data.CommandType.Text;

				string SQL = "INSERT INTO tblBranchTransfer (" +
								            "BranchTransferNo, " +
								            "BranchTransferDate, " +
								            "RequiredDeliveryDate, " +
								            "BranchIDFrom, " +
                                            "BranchIDTo, " +
								            "TransferrerID, " +
                                            "TransferrerName, " +
                                            "RequestedBy, " +
								            "Status, " +
								            "Remarks" +
							            ") VALUES (" +
                                            "@BranchTransferNo, " +
                                            "@BranchTransferDate, " +
                                            "@RequiredDeliveryDate, " +
                                            "@BranchIDFrom, " +
                                            "@BranchIDTo, " +
                                            "@TransferrerID, " +
                                            "@TransferrerName, " +
                                            "@RequestedBy, " +
                                            "@Status, " +
                                            "@Remarks" +
							            ");";
				  
                cmd.Parameters.AddWithValue("@BranchTransferNo", Details.BranchTransferNo);
                cmd.Parameters.AddWithValue("@BranchTransferDate", Details.BranchTransferDate.ToString("yyyy-MM-dd HH:mm:ss"));
                cmd.Parameters.AddWithValue("@RequiredDeliveryDate", Details.RequiredDeliveryDate.ToString("yyyy-MM-dd HH:mm:ss"));
                cmd.Parameters.AddWithValue("@BranchIDFrom", Details.BranchIDFrom);
                cmd.Parameters.AddWithValue("@BranchIDTo", Details.BranchIDTo);
                cmd.Parameters.AddWithValue("@TransferrerID", Details.TransferrerID);
                cmd.Parameters.AddWithValue("@TransferrerName", Details.TransferrerName);
                cmd.Parameters.AddWithValue("@RequestedBy", Details.RequestedBy);
                cmd.Parameters.AddWithValue("@Status", Details.Status.ToString("d"));
                cmd.Parameters.AddWithValue("@Remarks", Details.Remarks);

                cmd.CommandText = SQL;
				base.ExecuteNonQuery(cmd);

                return Int64.Parse(base.getLAST_INSERT_ID(this));
			}
			catch (Exception ex)
			{
				throw base.ThrowException(ex);
			}	
		}
Esempio n. 4
0
		private void SaveRecord()
		{
            BranchTransferDetails clsDetails = new BranchTransferDetails();

            clsDetails.BranchTransferID = long.Parse(lblBranchTransferID.Text);
            clsDetails.BranchTransferNo = lblBranchTransferNo.Text;
            clsDetails.BranchTransferDate = Convert.ToDateTime(lblBranchTransferDate.Text);
            clsDetails.BranchIDFrom = Convert.ToInt16(cboBranchFrom.SelectedItem.Value);
            clsDetails.BranchIDTo = Convert.ToInt16(cboBranchTo.SelectedItem.Value);
            clsDetails.RequiredDeliveryDate = Convert.ToDateTime(txtRequiredDeliveryDate.Text);
            clsDetails.TransferrerID = Convert.ToInt64(Session["UID"].ToString());
            clsDetails.TransferrerName = Session["Name"].ToString();
            clsDetails.RequestedBy = txtRequestedBy.Text;
            clsDetails.Status = BranchTransferStatus.Open;
            clsDetails.Remarks = txtRemarks.Text;

            BranchTransfer clsBranchTransfer = new BranchTransfer();
            clsBranchTransfer.Update(clsDetails);
            clsBranchTransfer.CommitAndDispose();
		}
Esempio n. 5
0
		public BranchTransferDetails Details(long BranchTransferID)
		{
			try
			{
				string SQL=	SQLSelect() + "WHERE BranchTransferID = @BranchTransferID;";
	 			
				MySqlCommand cmd = new MySqlCommand();
				cmd.CommandType = System.Data.CommandType.Text;
				cmd.CommandText = SQL;

				MySqlParameter prmBranchTransferID = new MySqlParameter("@BranchTransferID",MySqlDbType.Int16);
				prmBranchTransferID.Value = BranchTransferID;
				cmd.Parameters.Add(prmBranchTransferID);

                string strDataTableName = "tbl" + this.GetType().FullName.Split(new Char[] { '.' })[this.GetType().FullName.Split(new Char[] { '.' }).Length - 1]; System.Data.DataTable dt = new System.Data.DataTable(strDataTableName);
                base.MySqlDataAdapterFill(cmd, dt);
				
				BranchTransferDetails Details = new BranchTransferDetails();

                foreach (System.Data.DataRow dr in dt.Rows)
				{
					Details.BranchTransferID = BranchTransferID;
					Details.BranchTransferNo = "" + dr["BranchTransferNo"].ToString();
					Details.BranchTransferDate = DateTime.Parse(dr["BranchTransferDate"].ToString());
					Details.RequiredDeliveryDate = DateTime.Parse(dr["RequiredDeliveryDate"].ToString());
                    Details.BranchIDFrom = Int16.Parse(dr["BranchIDFrom"].ToString());
                    Details.BranchCodeFrom = "" + dr["BranchCodeFrom"].ToString();
                    Details.BranchNameFrom = "" + dr["BranchNameFrom"].ToString();
                    Details.BranchAddressFrom = "" + dr["BranchAddressFrom"].ToString();
                    Details.BranchIDTo = Int16.Parse(dr["BranchIDTo"].ToString());
                    Details.BranchCodeTo = "" + dr["BranchCodeTo"].ToString();
                    Details.BranchNameTo = "" + dr["BranchNameTo"].ToString();
                    Details.BranchAddressTo = "" + dr["BranchAddressTo"].ToString();
					Details.TransferrerID = Int64.Parse(dr["TransferrerID"].ToString());
                    Details.TransferrerName = "" + dr["TransferrerName"].ToString();
                    Details.RequestedBy = "" + dr["RequestedBy"].ToString();
					Details.SubTotal = decimal.Parse(dr["SubTotal"].ToString());
					Details.Discount = decimal.Parse(dr["Discount"].ToString());
                    Details.DiscountApplied = decimal.Parse(dr["DiscountApplied"].ToString());
                    Details.DiscountType = (DiscountTypes)Enum.Parse(typeof(DiscountTypes), Convert.ToInt16(dr["DiscountType"]).ToString());
					Details.VAT = decimal.Parse(dr["VAT"].ToString());
					Details.VatableAmount = decimal.Parse(dr["VatableAmount"].ToString());
                    Details.EVAT = decimal.Parse(dr["EVAT"].ToString());
                    Details.EVatableAmount = decimal.Parse(dr["EVatableAmount"].ToString());
                    Details.LocalTax = decimal.Parse(dr["LocalTax"].ToString());
                    Details.Status = (BranchTransferStatus)Enum.Parse(typeof(BranchTransferStatus), Convert.ToInt16(dr["Status"]).ToString());
                    Details.Remarks = "" + dr["Remarks"].ToString();
                    Details.ReceivedBy = "" + dr["ReceivedBy"].ToString();
                    Details.DeliveryDate = DateTime.Parse(dr["DeliveryDate"].ToString());
                    Details.UnpaidAmount = decimal.Parse(dr["UnpaidAmount"].ToString());
                    Details.PaidAmount = decimal.Parse(dr["PaidAmount"].ToString());
                    Details.PaymentStatus = (BranchTransferPaymentStatus)Enum.Parse(typeof(BranchTransferPaymentStatus), Convert.ToInt16(dr["PaymentStatus"]).ToString());
                    Details.Freight = decimal.Parse(dr["Freight"].ToString());
                    Details.Deposit = decimal.Parse(dr["Deposit"].ToString());
                    Details.TotalItemDiscount = decimal.Parse(dr["TotalItemDiscount"].ToString());
				}

				return Details;
			}

			catch (Exception ex)
			{
				throw base.ThrowException(ex);
			}	
		}
Esempio n. 6
0
        public System.Data.DataTable ListAsDataTable(Int64 BranchTransferID = 0, Int64 SupplierID = 0, BranchTransferDetails SearchKey = new BranchTransferDetails(),
                                                    BranchTransferStatus BranchTransferstatus = BranchTransferStatus.All,
                                                    DateTime? OrderStartDate = null, DateTime? OrderEndDate = null,
                                                    DateTime? PostingStartDate = null, DateTime? PostingEndDate = null,
                                                    DateTime? DeliveryStartDate = null, DateTime? DeliveryEndDate = null, 
                                                    string SortField = "BranchTransferID", SortOption SortOrder = SortOption.Ascending, Int32 limit = 0)
        {
            MySqlCommand cmd = new MySqlCommand();
            cmd.CommandType = System.Data.CommandType.Text;

            string SQL = SQLSelect() + "WHERE 1=1 ";

            if (BranchTransferID != 0) SQL += "AND BranchTransferID = @BranchTransferID ";
            if (SupplierID != 0) SQL += "AND SupplierID = @SupplierID ";
            if (BranchTransferstatus != BranchTransferStatus.All) SQL += "AND Status = @Status ";
            if (OrderStartDate.GetValueOrDefault() != DateTime.MinValue) SQL += "AND BranchTransferDate >= @OrderStartDate ";
            if (OrderEndDate.GetValueOrDefault() != DateTime.MinValue) SQL += "AND BranchTransferDate <= @OrderEndDate ";
            if (PostingStartDate.GetValueOrDefault() != DateTime.MinValue) SQL += "AND BranchTransferDate >= @PostingStartDate ";
            if (PostingEndDate.GetValueOrDefault() != DateTime.MinValue) SQL += "AND BranchTransferDate <= @PostingEndDate ";
            if (DeliveryStartDate.GetValueOrDefault() != DateTime.MinValue) SQL += "AND DeliveryDate >= @DeliveryStartDate ";
            if (DeliveryEndDate.GetValueOrDefault() != DateTime.MinValue) SQL += "AND DeliveryDate <= @DeliveryEndDate ";

            SQL += "ORDER BY " + (!string.IsNullOrEmpty(SortField) ? SortField : "BranchTransferID") + " ";
            SQL += SortOrder == SortOption.Ascending ? "ASC " : "DESC ";
            SQL += limit == 0 ? "" : "LIMIT " + limit.ToString() + " ";

            if (BranchTransferID != 0) cmd.Parameters.AddWithValue("@BranchTransferID", BranchTransferID);
            if (SupplierID != 0) cmd.Parameters.AddWithValue("@SupplierID", SupplierID);
            if (BranchTransferstatus != BranchTransferStatus.All) cmd.Parameters.AddWithValue("@Status", BranchTransferstatus.ToString("d"));
            if (OrderStartDate.GetValueOrDefault() != DateTime.MinValue) cmd.Parameters.AddWithValue("@OrderStartDate", OrderStartDate.GetValueOrDefault() == DateTime.MinValue ? Constants.C_DATE_MIN_VALUE : OrderStartDate);
            if (OrderEndDate.GetValueOrDefault() != DateTime.MinValue) cmd.Parameters.AddWithValue("@OrderEndDate", OrderEndDate.GetValueOrDefault() == DateTime.MinValue ? Constants.C_DATE_MIN_VALUE : OrderEndDate);
            if (PostingStartDate.GetValueOrDefault() != DateTime.MinValue) cmd.Parameters.AddWithValue("@PostingStartDate", PostingStartDate.GetValueOrDefault() == DateTime.MinValue ? Constants.C_DATE_MIN_VALUE : PostingStartDate);
            if (PostingEndDate.GetValueOrDefault() != DateTime.MinValue) cmd.Parameters.AddWithValue("@PostingEndDate", PostingEndDate.GetValueOrDefault() == DateTime.MinValue ? Constants.C_DATE_MIN_VALUE : PostingEndDate);
            if (DeliveryStartDate.GetValueOrDefault() != DateTime.MinValue) cmd.Parameters.AddWithValue("@DeliveryStartDate", DeliveryStartDate.GetValueOrDefault() == DateTime.MinValue ? Constants.C_DATE_MIN_VALUE : DeliveryStartDate);
            if (DeliveryEndDate.GetValueOrDefault() != DateTime.MinValue) cmd.Parameters.AddWithValue("@DeliveryEndDate", DeliveryEndDate.GetValueOrDefault() == DateTime.MinValue ? Constants.C_DATE_MIN_VALUE : DeliveryEndDate);

            cmd.CommandText = SQL;
            string strDataTableName = "tbl" + this.GetType().FullName.Split(new Char[] { '.' })[this.GetType().FullName.Split(new Char[] { '.' }).Length - 1]; System.Data.DataTable dt = new System.Data.DataTable(strDataTableName);
            base.MySqlDataAdapterFill(cmd, dt);

            return dt;
        }
Esempio n. 7
0
		public void Update(BranchTransferDetails Details)
		{
			try 
			{
                MySqlCommand cmd = new MySqlCommand();
                cmd.CommandType = System.Data.CommandType.Text;

                string SQL=	"UPDATE tblBranchTransfer SET " +
                                "BranchTransferNo			=	@BranchTransferNo, " +
                                "BranchTransferDate			=	@BranchTransferDate, " +
                                "BranchIDFrom				=	@BranchIDFrom, " +
                                "BranchIDTo 				=	@BranchIDTo, " +
                                "TransferrerID			    =	@TransferrerID, " +
                                "TransferrerName            =   @TransferrerName, " +
                                "RequestedBy                =   @RequestedBy, " +
                                "Remarks                    =   @Remarks " +
							"WHERE BranchTransferID = @BranchTransferID;";

                cmd.Parameters.AddWithValue("@BranchTransferNo", Details.BranchTransferNo);
                cmd.Parameters.AddWithValue("@BranchTransferDate", Details.BranchTransferDate.ToString("yyyy-MM-dd HH:mm:ss"));
                cmd.Parameters.AddWithValue("@RequiredDeliveryDate", Details.RequiredDeliveryDate.ToString("yyyy-MM-dd HH:mm:ss"));
                cmd.Parameters.AddWithValue("@BranchIDFrom", Details.BranchIDFrom);
                cmd.Parameters.AddWithValue("@BranchIDTo", Details.BranchIDTo);
                cmd.Parameters.AddWithValue("@TransferrerID", Details.TransferrerID);
                cmd.Parameters.AddWithValue("@TransferrerName", Details.TransferrerName);
                cmd.Parameters.AddWithValue("@RequestedBy", Details.RequestedBy);
                cmd.Parameters.AddWithValue("@Remarks", Details.Remarks);
                cmd.Parameters.AddWithValue("@BranchTransferID", Details.BranchTransferID);

				cmd.CommandText = SQL;
				base.ExecuteNonQuery(cmd);
			}
			catch (Exception ex)
			{
				throw base.ThrowException(ex);
			}	
		}
Esempio n. 8
0
 private void UpdateFooter(BranchTransferDetails clsBranchTransferDetails)
 {
     lblBranchTransferDiscount.Text = clsBranchTransferDetails.Discount.ToString("#,##0.#0");
     lblBranchTransferVatableAmount.Text = clsBranchTransferDetails.VatableAmount.ToString("#,##0.#0");
     txtBranchTransferFreight.Text = clsBranchTransferDetails.Freight.ToString("#,##0.#0");
     txtBranchTransferDeposit.Text = clsBranchTransferDetails.Deposit.ToString("#,##0.#0");
     lblBranchTransferSubTotal.Text = Convert.ToDecimal(clsBranchTransferDetails.SubTotal - clsBranchTransferDetails.VAT).ToString("#,##0.#0");
     lblBranchTransferVAT.Text = clsBranchTransferDetails.VAT.ToString("#,##0.#0");
     lblBranchTransferTotal.Text = clsBranchTransferDetails.SubTotal.ToString("#,##0.#0");
 }
Esempio n. 9
0
        private void UpdateDeposit()
        {
            BranchTransferDetails clsBranchTransferDetails = new BranchTransferDetails();
            clsBranchTransferDetails.BranchTransferID = Convert.ToInt64(lblBranchTransferID.Text);
            clsBranchTransferDetails.Deposit = Convert.ToDecimal(txtBranchTransferDeposit.Text);

            BranchTransfer clsBranchTransfer = new BranchTransfer();
            clsBranchTransfer.UpdateDeposit(clsBranchTransferDetails.BranchTransferID, clsBranchTransferDetails.Deposit);
            clsBranchTransfer.SynchronizeAmount(Convert.ToInt64(lblBranchTransferID.Text));
            clsBranchTransferDetails = clsBranchTransfer.Details(Convert.ToInt64(lblBranchTransferID.Text));
            clsBranchTransfer.CommitAndDispose();

            UpdateFooter(clsBranchTransferDetails);
        }
Esempio n. 10
0
        private void UpdateBranchTransferDiscount()
        {
            BranchTransferDetails clsBranchTransferDetails = new BranchTransferDetails();
            clsBranchTransferDetails.BranchTransferID = Convert.ToInt64(lblBranchTransferID.Text);
            clsBranchTransferDetails.DiscountApplied = Convert.ToDecimal(txtBranchTransferDiscountApplied.Text);
            clsBranchTransferDetails.DiscountType = (DiscountTypes)Enum.Parse(typeof(DiscountTypes), cboBranchTransferDiscountType.SelectedItem.Value);

            BranchTransfer clsBranchTransfer = new BranchTransfer();
            clsBranchTransfer.UpdateDiscount(clsBranchTransferDetails.BranchTransferID, clsBranchTransferDetails.DiscountApplied, clsBranchTransferDetails.DiscountType);
            clsBranchTransfer.SynchronizeAmount(Convert.ToInt64(lblBranchTransferID.Text));
            clsBranchTransferDetails = clsBranchTransfer.Details(Convert.ToInt64(lblBranchTransferID.Text));
            clsBranchTransfer.CommitAndDispose();

            UpdateFooter(clsBranchTransferDetails);
        }
Esempio n. 11
0
		private void SaveRecord()
		{
			BranchTransferItemDetails clsDetails = new BranchTransferItemDetails();

			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.BranchTransferID = Convert.ToInt64(lblBranchTransferID.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;
            
            clsDetails.SellingPrice = decimal.Parse(txtSellingPrice.Text);
            clsDetails.SellingVAT = decimal.Parse(txtVAT.Text);
            clsDetails.SellingEVAT = decimal.Parse(txtEVAT.Text);
            clsDetails.SellingLocalTax = decimal.Parse(txtLocalTax.Text);
            clsDetails.OldSellingPrice = decimal.Parse(txtOldSellingPrice.Text);

            BranchTransferItem clsBranchTransferItem = new BranchTransferItem();
            if (lblBranchTransferItemID.Text != "0")
            {
                clsDetails.BranchTransferItemID = Convert.ToInt64(lblBranchTransferItemID.Text);
                clsBranchTransferItem.Update(clsDetails);
            }
            else
                clsBranchTransferItem.Insert(clsDetails);

            BranchTransferDetails clsBranchTransferDetails = new BranchTransferDetails();
            clsBranchTransferDetails.BranchTransferID = clsDetails.BranchTransferID;
            clsBranchTransferDetails.DiscountApplied = Convert.ToDecimal(txtBranchTransferDiscountApplied.Text);
            clsBranchTransferDetails.DiscountType = (DiscountTypes)Enum.Parse(typeof(DiscountTypes), cboBranchTransferDiscountType.SelectedItem.Value);

            BranchTransfer clsBranchTransfer = new BranchTransfer(clsBranchTransferItem.Connection, clsBranchTransferItem.Transaction);
            clsBranchTransfer.UpdateDiscount(clsDetails.BranchTransferID, clsBranchTransferDetails.DiscountApplied, clsBranchTransferDetails.DiscountType);
            
            clsBranchTransferDetails = clsBranchTransfer.Details(clsDetails.BranchTransferID);
            clsBranchTransferItem.CommitAndDispose();

            UpdateFooter(clsBranchTransferDetails);
		}