public async Task <IActionResult> Create(BoatVM model) { if (ModelState.IsValid) { var user = await _userManager.GetUserAsync(User); var roles = await _userManager.GetRolesAsync(user); int PID = 1; if (roles.Contains("partner")) { PID = 2; } model.BoatImage = "default.png"; if (model.File != null) { string uploads = Path.Combine(_hosting.WebRootPath, "img"); string fullPath = Path.Combine(uploads, model.File.FileName); model.File.CopyTo(new FileStream(fullPath, FileMode.Create)); model.BoatImage = model.File.FileName; } Boat boat = new Boat() { BoatName = model.BoatName, TypeID = model.TypeID, BoatImage = model.BoatImage, BoatLeader = model.BoatLeader, BoatLicenseNumber = model.BoatLicenseNumber, DebtsOfHalek = model.DebtsOfHalek, // DebtsOfMulfunction = model.DebtsOfMulfunction, BoatNumber = model.BoatNumber, DebtsOfStartingWork = model.DebtsOfStartingWork , IsActive = true }; db.Boats.Add(boat); if (model.chkBoatStatus == true) { Person p = db.People.Find(PID); p.credit -= model.DebtsOfStartingWork; } await db.SaveChangesAsync(); //----------------------------------------------------------------------------------------------------------------------------------------- //اضافة مبدئيه لمع حدوث اكسبشن مع احمدفتح الله ويجب على المالك تعديل بيانات السرحه قبل حساب فاتورة المركب //وسيتم تعديل التاريخ بعد عمل فاتوره المركب ليصبح بنفس تاريخ عمل الفاتوره Sarha s = new Sarha() { BoatID = boat.BoatID, IsFinished = false, NumberOfBoxes = 0, NumberOfFishermen = 6, DateOfSarha = TimeNow() }; db.Sarhas.Add(s); await db.SaveChangesAsync(); //------------------------------------------------------------------------------------------------------------------------------------------ return(RedirectToAction("ActiveBoats")); } ViewBag.Types = new SelectList(await db.BoatTypes.ToListAsync(), "TypeID", "TypeName", model.TypeID); return(View(model)); }
public IActionResult Edit(int?id) { Boat model = db.Boats.Find(id); BoatVM boat = new BoatVM() { BoatID = model.BoatID, BoatName = model.BoatName, TypeID = model.TypeID, BoatImage = model.BoatImage, BoatLeader = model.BoatLeader, BoatLicenseNumber = model.BoatLicenseNumber, DebtsOfHalek = model.DebtsOfHalek, // DebtsOfMulfunction = model.DebtsOfMulfunction, BoatNumber = model.BoatNumber, DebtsOfStartingWork = model.DebtsOfStartingWork, }; ViewBag.Types = new SelectList(db.BoatTypes.ToList(), "TypeID", "TypeName", model.TypeID); return(View(boat)); }
public async Task <IActionResult> Edit(BoatVM model) { if (ModelState.IsValid) { var user = await _userManager.GetUserAsync(User); var roles = await _userManager.GetRolesAsync(user); int PID = 1; if (roles.Contains("partner")) { PID = 2; } if (model.File != null) { string uploads = Path.Combine(_hosting.WebRootPath, "img"); string fullPath = Path.Combine(uploads, model.File.FileName); model.File.CopyTo(new FileStream(fullPath, FileMode.Create)); model.BoatImage = model.File.FileName; } var BoatBeforeUpdate = db.Boats.Find(model.BoatID);//.DebtsOfStartingWork; if (BoatBeforeUpdate != null) { db.Entry(BoatBeforeUpdate).State = EntityState.Detached; } Boat boat = new Boat() { BoatID = model.BoatID, BoatName = model.BoatName, TypeID = model.TypeID, BoatImage = model.BoatImage, BoatLeader = model.BoatLeader, BoatLicenseNumber = model.BoatLicenseNumber, DebtsOfHalek = model.DebtsOfHalek, // DebtsOfMulfunction = model.DebtsOfMulfunction, BoatNumber = model.BoatNumber, DebtsOfStartingWork = model.DebtsOfStartingWork, IsActive = BoatBeforeUpdate.IsActive, TotalOfExpenses = BoatBeforeUpdate.TotalOfExpenses, LeaderLoans = BoatBeforeUpdate.LeaderLoans, LeaderPaybacks = BoatBeforeUpdate.LeaderPaybacks, IncomeOfSharedBoat = BoatBeforeUpdate.IncomeOfSharedBoat }; db.Entry(boat).State = EntityState.Modified; if (boat.DebtsOfStartingWork != BoatBeforeUpdate.DebtsOfStartingWork) { Person p = db.People.Find(PID); if (boat.DebtsOfStartingWork > BoatBeforeUpdate.DebtsOfStartingWork) { p.credit -= boat.DebtsOfStartingWork - BoatBeforeUpdate.DebtsOfStartingWork; } else { p.credit += BoatBeforeUpdate.DebtsOfStartingWork - boat.DebtsOfStartingWork; } } await db.SaveChangesAsync(); return(RedirectToAction("Index")); } ViewBag.Types = new SelectList(await db.BoatTypes.ToListAsync(), "TypeID", "TypeName", model.TypeID); return(View(model)); }