// مدفوع لينا public async Task <IActionResult> CalcDebtForUs(decimal PaidValue, int MerchantID, bool IsCash) { var merchant = await _context.Merchants.FindAsync(MerchantID); if (merchant == null) { return(NotFound()); } var user = await _userManager.GetUserAsync(User); var roles = await _userManager.GetRolesAsync(user); if (roles.Contains("admin")) { merchant.PreviousDebts -= PaidValue; PaidForMerchant p = new PaidForMerchant() { IsPaidForUs = true, Payment = PaidValue, Date = TimeNow(), MerchantID = MerchantID, IsCash = !IsCash, PreviousDebtsForMerchant = (merchant.PreviousDebts), PersonID = 1 }; _context.PaidForMerchant.Add(p); //Person pp = _context.People.Find(1); //pp.credit += PaidValue; await _context.SaveChangesAsync(); } else if (roles.Contains("partner")) { merchant.PreviousDebts -= PaidValue; PaidForMerchant p = new PaidForMerchant() { IsPaidForUs = true, Payment = PaidValue, Date = TimeNow(), MerchantID = MerchantID, IsCash = !IsCash, PreviousDebtsForMerchant = (merchant.PreviousDebts), PersonID = 2 }; _context.PaidForMerchant.Add(p); //Person pp = _context.People.Find(2); //pp.credit += PaidValue; await _context.SaveChangesAsync(); } return(Json(new { message = "success", debtsOnMerchant = merchant.PreviousDebts })); }
public async Task <IActionResult> FinalCalc(decimal fathallah, decimal Cash, string MerchantName, string Price, string ToMerchantName, string ToPrice, string BoatName, string HalekPrice, string HalekName, string Adding, string AddingPrice, string BoatNameExpenses, string ExpensePricee, string Cause) { Collecting c = new Collecting() { Date = TimeNow(), TotalForFahAllah = fathallah, TotalOfCashes = Cash }; if (MerchantName != null && Price != null) { var MerchantNameCookie = MerchantName.TrimEnd(MerchantName[MerchantName.Length - 1]); var PriceCookie = Price.TrimEnd(Price[Price.Length - 1]); string[] MerchantNames = MerchantNameCookie.Split(",").Select(c => Convert.ToString(c)).ToArray(); decimal[] prices = PriceCookie.Split(",").Select(c => Convert.ToDecimal(c)).ToArray(); for (int i = 0; i < MerchantNames.Length; i++) { var merchant = _context.Merchants.FirstOrDefault(c => c.MerchantName == MerchantNames[i]); PaidForMerchant m; if (merchant.IsOwner == true) { m = new PaidForMerchant() { IsPaidForUs = true, MerchantID = merchant.MerchantID, Payment = prices[i], PreviousDebtsForMerchant = merchant.PreviousDebts - prices[i], Date = TimeNow(), IsCash = true, PersonID = 3 }; } else { m = new PaidForMerchant() { IsPaidForUs = true, MerchantID = merchant.MerchantID, Payment = prices[i], PreviousDebtsForMerchant = merchant.PreviousDebts - prices[i], Date = TimeNow(), IsCash = true, PersonID = 3 }; } Person pppp = _context.People.Find(3); pppp.credit += prices[i]; merchant.PreviousDebts = merchant.PreviousDebts - prices[i]; _context.PaidForMerchant.Add(m); _context.SaveChanges(); c.TotalPaidFromMerchants = prices.Sum(); } } if (ToMerchantName != null && ToPrice != null) { var ToMerchantNameCookie = ToMerchantName.TrimEnd(ToMerchantName[ToMerchantName.Length - 1]); var ToPriceCookie = ToPrice.TrimEnd(ToPrice[ToPrice.Length - 1]); string[] ToMerchantNames = ToMerchantNameCookie.Split(",").Select(c => Convert.ToString(c)).ToArray(); decimal[] Toprices = ToPriceCookie.Split(",").Select(c => Convert.ToDecimal(c)).ToArray(); for (int i = 0; i < ToMerchantNames.Length; i++) { var merchant = _context.Merchants.FirstOrDefault(c => c.MerchantName == ToMerchantNames[i]); PaidForMerchant m = new PaidForMerchant() { IsPaidForUs = false, MerchantID = merchant.MerchantID, Payment = Toprices[i], PreviousDebtsForMerchant = merchant.PreviousDebtsForMerchant - Toprices[i], Date = TimeNow(), IsCash = true, PersonID = 3 }; Person person = _context.People.Find(3); person.credit -= Toprices[i]; merchant.PreviousDebtsForMerchant = merchant.PreviousDebtsForMerchant - Toprices[i]; _context.PaidForMerchant.Add(m); _context.SaveChanges(); } c.TotalPaidForMerchants = Toprices.Sum(); } if (HalekName != null) { var BoatNameCookie = BoatName.TrimEnd(BoatName[BoatName.Length - 1]); var HalekPriceCookie = HalekPrice.TrimEnd(HalekPrice[HalekPrice.Length - 1]); var HalekNameCookie = HalekName.TrimEnd(HalekName[HalekName.Length - 1]); string[] BoatNames = BoatNameCookie.Split(",").Select(c => Convert.ToString(c)).ToArray(); decimal[] HalekPrices = HalekPriceCookie.Split(",").Select(c => Convert.ToDecimal(c)).ToArray(); string[] HalekNames = HalekNameCookie.Split(",").Select(c => Convert.ToString(c)).ToArray(); for (int i = 0; i < HalekNames.Length; i++) { var boat = _context.Boats.FirstOrDefault(c => c.BoatName == BoatNames[i]); var lastSarhaID = _context.Sarhas.Where(c => c.BoatID == boat.BoatID && c.IsFinished == false).FirstOrDefault().SarhaID; var lastSarha = _context.Sarhas.Find(lastSarhaID); var debt_sarha = _context.Debts_Sarhas.Include(c => c.Debt).ToList(). Where(c => c.SarhaID == lastSarhaID && c.Debt.DebtName == HalekNames[i] && c.PersonID == 3 && c.Date.ToShortDateString() == TimeNow().ToShortDateString()).FirstOrDefault(); boat.DebtsOfHalek += HalekPrices[i]; if (debt_sarha != null) { debt_sarha.Price += HalekPrices[i]; } else { var debt = _context.Debts.Where(c => c.DebtName == HalekNames[i]).FirstOrDefault(); Debts_Sarha ds = new Debts_Sarha() { Price = HalekPrices[i], DebtID = debt.DebtID, SarhaID = lastSarhaID, PersonID = 3, Date = TimeNow() }; _context.Debts_Sarhas.Add(ds); _context.SaveChanges(); } Person person1 = _context.People.Find(3); person1.credit -= HalekPrices[i]; _context.SaveChanges(); } c.TotalHalek = HalekPrices.Sum(); } if (BoatNameExpenses != null) { var BoatNameExpensesCookie = BoatNameExpenses.TrimEnd(BoatNameExpenses[BoatNameExpenses.Length - 1]); var ExpensePriceCookie = ExpensePricee.TrimEnd(ExpensePricee[ExpensePricee.Length - 1]); var CauseCookie = Cause.TrimEnd(Cause[Cause.Length - 1]); string[] BoatNamesExpenses = BoatNameExpensesCookie.Split(",").Select(c => Convert.ToString(c)).ToArray(); decimal[] ExpensePrice = ExpensePriceCookie.Split(",").Select(c => Convert.ToDecimal(c)).ToArray(); string[] Causes = CauseCookie.Split(",").Select(c => Convert.ToString(c)).ToArray(); for (int i = 0; i < BoatNamesExpenses.Length; i++) { var boat = _context.Boats.FirstOrDefault(c => c.BoatName == BoatNamesExpenses[i]); Expense ex = new Expense() { BoatID = boat.BoatID, Cause = Causes[i], Date = TimeNow(), PersonID = 3, Price = ExpensePrice[i] }; _context.Expenses.Add(ex); await _context.SaveChangesAsync(); Person person1 = _context.People.Find(3); person1.credit -= ExpensePrice[i]; await _context.SaveChangesAsync(); } c.TotalOfExpenses = ExpensePrice.Sum(); } var p = _context.People.Find(4); FathAllahGift g = new FathAllahGift() { charge = fathallah, CreditBefore = p.credit, CreditAfter = fathallah + p.credit, Date = TimeNow(), PersonID = 3 }; p.credit += fathallah; Person pp = _context.People.Find(3); pp.credit -= fathallah; _context.FathAllahGifts.Add(g); _context.Collectings.Add(c); await _context.SaveChangesAsync(); if (Adding != null) { var AddingCookie = Adding.TrimEnd(Adding[Adding.Length - 1]); var AddingPriceCookie = AddingPrice.TrimEnd(AddingPrice[AddingPrice.Length - 1]); string[] AddingNames = AddingCookie.Split(",").Select(c => Convert.ToString(c)).ToArray(); decimal[] AddingPrices = AddingPriceCookie.Split(",").Select(c => Convert.ToDecimal(c)).ToArray(); var collecting = _context.Collectings.ToList().Where(x => x.Date.ToShortDateString() == TimeNow().ToShortDateString()).FirstOrDefault(); collecting.TotalOfAdditionalPayment = AddingPrices.Sum(); for (int i = 0; i < AddingNames.Length; i++) { AdditionalPayment ad = new AdditionalPayment() { Name = AddingNames[i], Value = AddingPrices[i], ID = collecting.ID, Date = TimeNow() }; _context.AdditionalPayments.Add(ad); Person ppp = _context.People.Find(3); ppp.credit -= AddingPrices[i]; _context.SaveChanges(); } } var FinalCredit = c.TotalPaidFromMerchants - (c.TotalPaidForMerchants + c.TotalHalek + c.TotalOfAdditionalPayment + fathallah + c.TotalOfExpenses); //Person halaka = _context.People.Find(1); //halaka.credit += FinalCredit; pp.credit = 0.0m; await _context.SaveChangesAsync(); return(Json(new { message = "success" })); }
public async Task <IActionResult> FinalCalc(decimal PricePaidFromMagdy, decimal driversTotal, decimal PricePaidForFathallah, decimal PaidFathallahSalary, decimal totalOfIncome, decimal totalSarhas, decimal totalOfDailyExpense, decimal FinalTotal, string InternalMerchant, string InternalMerchantPrice, string ToLeaderBoatName, string ToLeaderPrice, string BoatNameForHalek, string HalekPrice, string HalekName, string Adding, string AddingPrice, string BoatNameExpenses, string ExpensePricee, string OperatorName, string OperatorPrice, string Cause) { var c = _context.Collectings.ToList().Where(x => x.Date.ToShortDateString() == TimeNow().ToShortDateString()).FirstOrDefault(); decimal collectedToday = 0.0m; if (c != null) { collectedToday = (c.TotalPaidFromMerchants + c.TotalOfCashes) - (c.TotalPaidForMerchants + c.TotalHalek + c.TotalOfAdditionalPayment + c.TotalForFahAllah + c.TotalOfExpenses); } BranchOffice branch = new BranchOffice() { Date = TimeNow(), Collecting = collectedToday, DriversSalary = driversTotal, ExpensesTotal = totalOfDailyExpense, FathallahSalary = PaidFathallahSalary, OfficeMoney = PricePaidFromMagdy, SarhasTotal = totalSarhas, CurrentCredit = FinalTotal, IncomeTotal = totalOfIncome }; _context.BranchOffices.Add(branch); _context.SaveChanges(); var user = await _userManager.GetUserAsync(User); var roles = await _userManager.GetRolesAsync(user); int PID = 1; if (roles.Contains("partner")) { PID = 2; } if (InternalMerchant != null && InternalMerchantPrice != null) { var InternalMerchantCookie = InternalMerchant.TrimEnd(InternalMerchant[InternalMerchant.Length - 1]); var InternalMerchantPriceCookie = InternalMerchantPrice.TrimEnd(InternalMerchantPrice[InternalMerchantPrice.Length - 1]); string[] InternalMerchantNames = InternalMerchantCookie.Split(",").Select(c => Convert.ToString(c)).ToArray(); decimal[] InternalMerchantprices = InternalMerchantPriceCookie.Split(",").Select(c => Convert.ToDecimal(c)).ToArray(); for (int i = 0; i < InternalMerchantNames.Length; i++) { var merchant = _context.Merchants.FirstOrDefault(c => c.MerchantName == InternalMerchantNames[i]); PaidForMerchant m; m = new PaidForMerchant() { IsPaidForUs = true, MerchantID = merchant.MerchantID, Payment = InternalMerchantprices[i], PreviousDebtsForMerchant = merchant.PreviousDebts - InternalMerchantprices[i], Date = TimeNow(), IsCash = true, PersonID = PID }; //Person pppp = _context.People.Find(PID); //pppp.credit += InternalMerchantprices[i]; merchant.PreviousDebts = merchant.PreviousDebts - InternalMerchantprices[i]; _context.PaidForMerchant.Add(m); _context.SaveChanges(); } } if (ToLeaderBoatName != null && ToLeaderPrice != null) { var ToLeaderCookie = ToLeaderBoatName.TrimEnd(ToLeaderBoatName[ToLeaderBoatName.Length - 1]); var ToPriceCookie = ToLeaderPrice.TrimEnd(ToLeaderPrice[ToLeaderPrice.Length - 1]); string[] ToLeaderBoatNames = ToLeaderCookie.Split(",").Select(c => Convert.ToString(c)).ToArray(); decimal[] Toprices = ToPriceCookie.Split(",").Select(c => Convert.ToDecimal(c)).ToArray(); for (int i = 0; i < ToLeaderBoatNames.Length; i++) { var Boat = _context.Boats.Where(c => c.BoatName == ToLeaderBoatNames[i]).FirstOrDefault(); _context.LeaderLoans.Add(new LeaderLoan { Price = Toprices[i], BoatID = Boat.BoatID, Date = TimeNow(), PersonID = PID }); Boat.DebtsOfLeader += Toprices[i]; //pp.credit -= Toprices[i]; _context.SaveChanges(); } } if (HalekName != null) { var BoatNameCookie = BoatNameForHalek.TrimEnd(BoatNameForHalek[BoatNameForHalek.Length - 1]); var HalekPriceCookie = HalekPrice.TrimEnd(HalekPrice[HalekPrice.Length - 1]); var HalekNameCookie = HalekName.TrimEnd(HalekName[HalekName.Length - 1]); string[] BoatNames = BoatNameCookie.Split(",").Select(c => Convert.ToString(c)).ToArray(); decimal[] HalekPrices = HalekPriceCookie.Split(",").Select(c => Convert.ToDecimal(c)).ToArray(); string[] HalekNames = HalekNameCookie.Split(",").Select(c => Convert.ToString(c)).ToArray(); for (int i = 0; i < HalekNames.Length; i++) { var boat = _context.Boats.FirstOrDefault(c => c.BoatName == BoatNames[i]); var lastSarhaID = _context.Sarhas.Where(c => c.BoatID == boat.BoatID && c.IsFinished == false).FirstOrDefault().SarhaID; var lastSarha = _context.Sarhas.Find(lastSarhaID); var debt_sarha = _context.Debts_Sarhas.Include(c => c.Debt).ToList().Where(c => c.SarhaID == lastSarhaID && c.Debt.DebtName == HalekNames[i] && c.PersonID == PID && c.Date.ToShortDateString() == TimeNow().ToShortDateString()).FirstOrDefault(); boat.DebtsOfHalek += HalekPrices[i]; if (debt_sarha != null) { debt_sarha.Price += HalekPrices[i]; } else { var debt = _context.Debts.Where(c => c.DebtName == HalekNames[i]).FirstOrDefault(); Debts_Sarha ds = new Debts_Sarha() { Price = HalekPrices[i], DebtID = debt.DebtID, SarhaID = lastSarhaID, PersonID = PID, Date = TimeNow() }; _context.Debts_Sarhas.Add(ds); _context.SaveChanges(); } //Person person1 = _context.People.Find(3); //person1.credit -= HalekPrices[i]; _context.SaveChanges(); } //c.TotalHalek = HalekPrices.Sum(); } if (BoatNameExpenses != null) { var BoatNameExpensesCookie = BoatNameExpenses.TrimEnd(BoatNameExpenses[BoatNameExpenses.Length - 1]); var ExpensePriceCookie = ExpensePricee.TrimEnd(ExpensePricee[ExpensePricee.Length - 1]); var CauseCookie = Cause.TrimEnd(Cause[Cause.Length - 1]); string[] BoatNamesExpenses = BoatNameExpensesCookie.Split(",").Select(c => Convert.ToString(c)).ToArray(); decimal[] ExpensePrice = ExpensePriceCookie.Split(",").Select(c => Convert.ToDecimal(c)).ToArray(); string[] Causes = CauseCookie.Split(",").Select(c => Convert.ToString(c)).ToArray(); for (int i = 0; i < BoatNamesExpenses.Length; i++) { var boat = _context.Boats.FirstOrDefault(c => c.BoatName == BoatNamesExpenses[i]); Expense ex = new Expense() { BoatID = boat.BoatID, Cause = Causes[i], Date = TimeNow(), PersonID = PID, Price = ExpensePrice[i] }; _context.Expenses.Add(ex); boat.TotalOfExpenses += ExpensePrice[i]; await _context.SaveChangesAsync(); //Person person1 = _context.People.Find(3); //person1.credit -= ExpensePrice[i]; await _context.SaveChangesAsync(); } } var p = _context.People.Find(4); FathAllahGift g = new FathAllahGift() { charge = PricePaidForFathallah, CreditBefore = p.credit, CreditAfter = PricePaidForFathallah + p.credit, Date = TimeNow(), PersonID = PID }; p.credit += PricePaidForFathallah; //Person pp = _context.People.Find(3); //pp.credit -= fathallah; _context.FathAllahGifts.Add(g); //_context.Collectings.Add(c); await _context.SaveChangesAsync(); if (Adding != null) { var AddingCookie = Adding.TrimEnd(Adding[Adding.Length - 1]); var AddingPriceCookie = AddingPrice.TrimEnd(AddingPrice[AddingPrice.Length - 1]); string[] AddingNames = AddingCookie.Split(",").Select(c => Convert.ToString(c)).ToArray(); decimal[] AddingPrices = AddingPriceCookie.Split(",").Select(c => Convert.ToDecimal(c)).ToArray(); //var collecting = _context.Collectings.ToList().Where(x => x.Date.ToShortDateString() == TimeNow().ToShortDateString()).FirstOrDefault(); //collecting.TotalOfAdditionalPayment = AddingPrices.Sum(); for (int i = 0; i < AddingNames.Length; i++) { AdditionalForOffice ad = new AdditionalForOffice() { Name = AddingNames[i], Value = AddingPrices[i], PersonID = PID, Date = TimeNow() }; _context.AdditionalForOffices.Add(ad); //Person ppp = _context.People.Find(3); //ppp.credit -= AddingPrices[i]; _context.SaveChanges(); } } if (OperatorName != null) { var OperatorNameCookie = OperatorName.TrimEnd(OperatorName[OperatorName.Length - 1]); var OperatorPriceCookie = OperatorPrice.TrimEnd(AddingPrice[AddingPrice.Length - 1]); string[] OperatorNames = OperatorNameCookie.Split(",").Select(c => Convert.ToString(c)).ToArray(); decimal[] OperatorPrices = OperatorPriceCookie.Split(",").Select(c => Convert.ToDecimal(c)).ToArray(); //var collecting = _context.Collectings.ToList().Where(x => x.Date.ToShortDateString() == TimeNow().ToShortDateString()).FirstOrDefault(); //collecting.TotalOfAdditionalPayment = AddingPrices.Sum(); for (int i = 0; i < OperatorNames.Length; i++) { var operatorr = _context.Operators.Where(x => x.OperatorName == OperatorNames[i]).FirstOrDefault(); PaidForOperator pp = new PaidForOperator() { OperatorID = operatorr.OperatorID, Payment = OperatorPrices[i], DebtsAfterPayment = operatorr.Credit - OperatorPrices[i], PersonID = PID, Date = TimeNow() }; _context.PaidForOperators.Add(pp); //Person ppp = _context.People.Find(3); //ppp.credit -= AddingPrices[i]; _context.SaveChanges(); } } Person pppp = _context.People.Find(PID); pppp.credit = FinalTotal; await _context.SaveChangesAsync(); return(Json(new { message = "success" })); }