public TransactionValidateReceiptRequestBuilder(ExternalReceipt externalReceipt) : this() { this.ExternalReceipt = externalReceipt; }
public static TransactionValidateReceiptRequestBuilder ValidateReceipt(ExternalReceipt externalReceipt) { return(new TransactionValidateReceiptRequestBuilder(externalReceipt)); }
public async Task <IActionResult> Create([Bind("ExternalReceiptID,BoatID,SarhaID,TotalBeforePaying,Date,Commission,PaidFromDebts,TotalAfterPaying,FinalIncome")] ExternalReceipt externalReceipt) { //if (ModelState.IsValid) //{ // // Subtracting Paid From Halek var user = await _userManager.GetUserAsync(User); var roles = await _userManager.GetRolesAsync(user); int PID = 1; if (roles.Contains("partner")) { PID = 2; } var boat = _context.Boats.Find(externalReceipt.BoatID); boat.DebtsOfHalek -= Convert.ToDecimal(externalReceipt.PaidFromDebts); var p = _context.People.Find(PID); p.credit += Convert.ToDecimal(externalReceipt.PaidFromDebts); var sarhaId = _context.Sarhas.Where(x => x.BoatID == externalReceipt.BoatID).Max(x => x.SarhaID); var TotalAfterPaying = externalReceipt.TotalBeforePaying - externalReceipt.Commission - externalReceipt.PaidFromDebts; // Salary for Each One var sarha = _context.Sarhas.Find(sarhaId); var IndividualSalary = (Convert.ToDecimal(TotalAfterPaying) / 2) / sarha.NumberOfFishermen; // Calculating Final Income // for shared boats decimal FinalIncome; // 5 -> Shared Boat ... We will change it later if (boat.TypeID == 2) { FinalIncome = (Convert.ToDecimal(TotalAfterPaying) / 2) - IndividualSalary; boat.IncomeOfSharedBoat += FinalIncome; IncomesOfSharedBoat i = new IncomesOfSharedBoat() { BoatID = boat.BoatID, Date = TimeNow(), Income = FinalIncome }; _context.IncomesOfSharedBoats.Add(i); p.credit += FinalIncome; } // for ordinary boats else { FinalIncome = Convert.ToDecimal(TotalAfterPaying); } externalReceipt.SarhaID = sarhaId; externalReceipt.TotalAfterPaying = TotalAfterPaying; externalReceipt.FinalIncome = FinalIncome; _context.Add(externalReceipt); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Details), new { id = externalReceipt.ExternalReceiptID })); //} //ViewData["BoatID"] = new SelectList(_context.Boats, "BoatID", "BoatName", externalReceipt.BoatID); //ViewData["SarhaID"] = new SelectList(_context.Sarhas, "SarhaID", "SarhaID", externalReceipt.SarhaID); //return View(externalReceipt); }