private void functionalButton1_Click_2(object sender, EventArgs e) { CResult aCResult = new CResult(); CUserInfoDAO aUserInfoDao = new CUserInfoDAO(); CUserInfo aUserInfo = new CUserInfo(); aUserInfo.UserID = RMSGlobal.m_iLoginUserID; aCResult = aUserInfoDao.GetUser(aUserInfo); aUserInfo = (CUserInfo)aCResult.Data; if (aUserInfo.Type != 0) { MessageBox.Show("You are not correct person to give Item Complementory Opportunity"); return; } CDiscountForm tempDiscountForm = new CDiscountForm(); tempDiscountForm.ShowDialog(); if (CDiscountForm.discountType.Equals("Cancel")) return; double discountAmount = Convert.ToDouble(CDiscountForm.discountAmount); string discountType = CDiscountForm.discountType; COrderDetailsDAO aOrderInfoDao = new COrderDetailsDAO(); foreach (DataGridViewRow row in g_FoodDataGridView.Rows) { if (Convert.ToBoolean(row.Cells["complementoryfood"].Value) == true) { COrderDetails aCOrderDetails = new COrderDetails(); aCOrderDetails.OrderDetailsID = Convert.ToInt64(row.Cells["Order_details_id"].Value); aCOrderDetails = aOrderInfoDao.OrderDetailsGetByOrderDetailID(aCOrderDetails.OrderDetailsID); double totalAmount = aCOrderDetails.UnitPrice*aCOrderDetails.OrderQuantity; double discount=0; if (discountType == "Fixed") { discount = discountAmount; } else { discount = (totalAmount*discountAmount)/100.0; } aCOrderDetails.DiscountAmount = discount; string result = aOrderInfoDao.UpdateItemWiseDiscountForItem(aCOrderDetails); } } foreach (DataGridViewRow row in g_BeverageDataGridView.Rows) { if (Convert.ToBoolean(row.Cells["complementorynonfood"].Value) == true) { COrderDetails aCOrderDetails = new COrderDetails(); aCOrderDetails.OrderDetailsID = Convert.ToInt64(row.Cells["dataGridViewTextBoxColumn5"].Value); aCOrderDetails = aOrderInfoDao.OrderDetailsGetByOrderDetailID(aCOrderDetails.OrderDetailsID); double totalAmount = aCOrderDetails.UnitPrice * aCOrderDetails.OrderQuantity; double discount = 0; if (discountType == "Fixed") { discount = discountAmount; } else { discount = (totalAmount * discountAmount) / 100.0; } aCOrderDetails.DiscountAmount = discount; string result = aOrderInfoDao.UpdateItemWiseDiscountForItem(aCOrderDetails); } } CResult oResult1 = aOrderInfoDao.OrderDetailsGetByOrderID(orderID); List<COrderDetails> aOrderDetailses = oResult1.Data as List<COrderDetails>; double totalItemDiscount = 0; if (aOrderDetailses != null) { totalItemDiscount = aOrderDetailses.Sum(a => a.DiscountAmount); } COrderManager tempOrderManager = new COrderManager(); COrderDiscount tempOrderDiscount = new COrderDiscount(); CResult oResult = tempOrderManager.OrderDiscountGetByOrderID(orderID); if (oResult.IsSuccess && oResult.Data != null) { tempOrderDiscount = (COrderDiscount)oResult.Data; tempOrderDiscount.TotalItemDiscount = totalItemDiscount; tempOrderManager.UpdateOrderDiscount(tempOrderDiscount); } else { //insert tempOrderDiscount.OrderID = orderID; tempOrderDiscount.TotalItemDiscount = totalItemDiscount; tempOrderManager.InsertOrderDiscount(tempOrderDiscount); } LoadOrderDetails(); }
/// <summary> /// Total amount in the gridview of the selected order /// </summary> private void TotalAmountCalculation() { try { Decimal MainFoodTotal = 0;//@Salim Only for Main Item with out additional service charge or discount Decimal vatTotal = 0; Decimal tempTotal = 0; for (int foodCounter = 0; foodCounter < g_FoodDataGridView.Rows.Count; foodCounter++) { if (g_FoodDataGridView[3, foodCounter].Value != null && !g_FoodDataGridView[2, foodCounter].Value.ToString().Equals("")) { tempTotal += Decimal.Parse(g_FoodDataGridView[3, foodCounter].Value.ToString()); vatTotal += Decimal.Parse(g_FoodDataGridView[2, foodCounter].Value.ToString()); } } for (int beverageCounter = 0; beverageCounter < g_BeverageDataGridView.Rows.Count; beverageCounter++) { if (g_BeverageDataGridView[3, beverageCounter].Value != null && !g_BeverageDataGridView[2, beverageCounter].Value.ToString().Equals("")) { tempTotal += Decimal.Parse(g_BeverageDataGridView[3, beverageCounter].Value.ToString()); try { vatTotal += Decimal.Parse(g_BeverageDataGridView[2, beverageCounter].Value.ToString()); } catch { } } } MainFoodTotal = tempTotal; Decimal discountAmount = 0; decimal membershipDiscountAmount = 0; if (m_sDiscountType.Equals("Fixed")) { discountAmount = m_dDiscountAmount; } else if (m_sDiscountType.Equals("Percent")) { discountAmount = MainFoodTotal * m_dDiscountAmount / 100; // HOW CAN THIS BE CALCULATED IN SUCH WAY } COrderManager tempOrderManager = new COrderManager(); COrderDiscount tempOrderDiscount = new COrderDiscount(); CResult oResult = tempOrderManager.OrderDiscountGetByOrderID(orderID); double itemDiscount = 0; if (oResult.IsSuccess && oResult.Data != null) { tempOrderDiscount = (COrderDiscount)oResult.Data; itemDiscount = tempOrderDiscount.TotalItemDiscount; if (membership != null && membership.id > 0) { tempOrderDiscount.clientID = membership.customerID; tempOrderDiscount.membershipCardID = membership.mebershipCardID; tempOrderDiscount.membershipID = membership.id; tempOrderDiscount.membershipPoint = membership.point; tempOrderDiscount.membershipDiscountRate = membership.discountPercentRate; if (tempOrderDiscount.membershipDiscountRate > 0) { tempOrderDiscount.membershipTotalPoint = 0; tempOrderDiscount.membershipDiscountAmount = float.Parse(tempTotal.ToString()) * tempOrderDiscount.membershipDiscountRate / 100; } else { tempOrderDiscount.membershipTotalPoint = float.Parse(tempTotal.ToString()) * tempOrderDiscount.membershipTotalPoint / 100; tempOrderDiscount.membershipDiscountAmount = 0; } } else if (tempOrderDiscount.membershipID > 0 && tempOrderDiscount.membershipDiscountRate > 0) { tempOrderDiscount.membershipTotalPoint = 0; tempOrderDiscount.membershipDiscountAmount = float.Parse(tempTotal.ToString()) * tempOrderDiscount.membershipDiscountRate / 100; } //update tempOrderDiscount.Discount = Convert.ToDouble(discountAmount); discountAmount = (decimal)tempOrderDiscount.Discount; tempOrderManager.UpdateOrderDiscount(tempOrderDiscount); lblMembershipDiscountValue.Text = tempOrderDiscount.membershipDiscountAmount.ToString("F2"); membershipDiscountAmount = decimal.Parse(tempOrderDiscount.membershipDiscountAmount.ToString()); } else { //insert tempOrderDiscount.OrderID = orderID; tempOrderDiscount.Discount = Convert.ToDouble(discountAmount); discountAmount = (decimal)tempOrderDiscount.Discount; if (membership != null && membership.id > 0) { tempOrderDiscount.clientID = membership.customerID; tempOrderDiscount.membershipCardID = membership.mebershipCardID; tempOrderDiscount.membershipID = membership.id; tempOrderDiscount.membershipPoint = membership.point; tempOrderDiscount.membershipDiscountRate = membership.discountPercentRate; if (tempOrderDiscount.membershipDiscountRate > 0) { tempOrderDiscount.membershipTotalPoint = 0; tempOrderDiscount.membershipDiscountAmount = float.Parse(tempTotal.ToString()) * tempOrderDiscount.membershipDiscountRate / 100; lblMembershipDiscountValue.Text = tempOrderDiscount.membershipDiscountAmount.ToString("F2"); } else { tempOrderDiscount.membershipTotalPoint = float.Parse(tempTotal.ToString()) * tempOrderDiscount.membershipTotalPoint / 100; tempOrderDiscount.membershipDiscountAmount = 0; } } tempOrderManager.InsertOrderDiscount(tempOrderDiscount); lblMembershipDiscountValue.Text = tempOrderDiscount.membershipDiscountAmount.ToString("F2"); membershipDiscountAmount = decimal.Parse(tempOrderDiscount.membershipDiscountAmount.ToString()); } #region "Service Charge" ServiceCharge tempOrderCharge = new ServiceCharge(); CResult cResult = tempOrderManager.OrderServiceChargeGetByOrderID(orderID); double chargeAmount = 0.000; if (m_chargeType.Equals("Fixed")) { if (cResult.IsSuccess && cResult.Data != null) { tempOrderCharge = (ServiceCharge) cResult.Data; chargeAmount = tempOrderCharge.ServiceChargeAmount; } } else if (m_chargeType.Equals("Percent")) { // chargeAmount = tempTotal * m_chargeAmount / 100; chargeAmount = Convert.ToDouble(MainFoodTotal) * m_chargeAmount / 100; } if (cResult.IsSuccess && cResult.Data != null) { tempOrderCharge = (ServiceCharge)cResult.Data; //update tempOrderCharge.ServiceChargeAmount = Convert.ToDouble(chargeAmount); tempOrderManager.UpdateOrderServiceCharge(tempOrderCharge); } else { // UpdateServiceCharge(); //insert // tempOrderCharge.OrderID = orderID; // tempOrderCharge.ServiceChargeAmount = Convert.ToDouble(chargeAmount); // tempOrderManager.InsertOrderServiceCharge(tempOrderCharge); } g_serviceCharge.Text = chargeAmount.ToString("F02"); #endregion g_SubtotalLabel.Text = MainFoodTotal.ToString("F02"); tempTotal = MainFoodTotal - discountAmount; decimal d = decimal.Round(decimal.Parse(discountAmount.ToString()), 2); g_DiscountLabel.Text = discountAmount.ToString("F02"); tempTotal = tempTotal + decimal.Parse(g_serviceCharge.Text); // lblVat.Text = (tempTotal * Convert.ToDecimal(vat / 100)).ToString("F02"); // lblVat.Text = (MainFoodTotal * Convert.ToDecimal(vat / 100)).ToString("F02"); lblVat.Text=vatTotal.ToString(); tempTotal = MainFoodTotal + decimal.Parse(g_serviceCharge.Text) + decimal.Parse(lblVat.Text) - decimal.Parse(g_DiscountLabel.Text)-membershipDiscountAmount-(decimal) itemDiscount; g_AmountLabel.Text = tempTotal.ToString("F02"); TableValueStatusLabel.Text = " Total Value £" + tempTotal.ToString("F02"); totalItemWiseDiscountlabel.Text = itemDiscount.ToString("F02"); try { // UpdateServiceCharge(); } catch (Exception) { throw; } } catch (Exception exp) { Console.Write(exp.Message); } }
private void TotalAmountCalculation() { try { Double tempTotal = new Double(); tempTotal = 0.0; for (int rowCounter = 0; rowCounter < g_FoodDataGridView.Rows.Count; rowCounter++) { if (g_FoodDataGridView[2, rowCounter].Value != null && !g_FoodDataGridView[2, rowCounter].Value.ToString().Equals("")) { tempTotal += Double.Parse(g_FoodDataGridView[2, rowCounter].Value.ToString()); } } Double discountAmount = 0.000; if (m_sDiscountType.Equals("Fixed")) { discountAmount = m_dDiscountAmount; } else if (m_sDiscountType.Equals("Percent")) { discountAmount = tempTotal * m_dDiscountAmount / 100; } COrderManager tempOrderManager = new COrderManager(); COrderDiscount tempOrderDiscount = new COrderDiscount(); CResult oResult = tempOrderManager.OrderDiscountGetByOrderID(orderID); if (oResult.IsSuccess && oResult.Data != null) { tempOrderDiscount = (COrderDiscount)oResult.Data; //update tempOrderDiscount.Discount = discountAmount; tempOrderManager.UpdateOrderDiscount(tempOrderDiscount); } else { //insert tempOrderDiscount.OrderID = orderID; tempOrderDiscount.Discount = discountAmount; tempOrderManager.InsertOrderDiscount(tempOrderDiscount); } tempTotal = tempTotal - discountAmount; g_DiscountLabel.Text = discountAmount.ToString("F02"); g_BalanceLabel.Text = tempTotal.ToString("F02"); numericInputButton13.Text = "�"+tempTotal.ToString("F02"); TableValueStatusLabel.Text = " Total Value �" + tempTotal.ToString("F02")+" "; TableValueStatusLabel.Visible = true; } catch (Exception exp) { throw exp; } }