public async Task <IActionResult> Create([Bind("ID,FirstName,LastName,ScaffoldTicket,DriversLicence")] LeadingHand leadingHand) { try { if (ModelState.IsValid) { leadingHand.FirstName = string.IsNullOrEmpty(leadingHand.FirstName) ? leadingHand.LastName : leadingHand.FirstName; leadingHand.LastName = string.IsNullOrEmpty(leadingHand.LastName) ? leadingHand.FirstName : leadingHand.LastName; _context.Add(leadingHand); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } } catch (DbUpdateException /*Ex*/) { //if (Ex.Number == 2627) //{ string sErrorMsg = "Leading hand's Code havs been allocated, please choose another one."; ModelState.AddModelError("", sErrorMsg); //} } return(View(leadingHand)); }
public async Task <IActionResult> Delete(LeadingHand leadingHand) { try{ if (await _context.LeadingHands.AnyAsync(m => m.ID == leadingHand.ID)) { _context.LeadingHands.Remove(leadingHand); await _context.SaveChangesAsync(); } return(RedirectToAction(nameof(Index))); } catch (DbUpdateConcurrencyException /* ex */) { //Log the error (uncomment ex variable name and write a log.) return(RedirectToAction(nameof(Delete), new { id = leadingHand.ID, concurrencyError = true })); } }
public static void Initialize(TowerScaffoldingContext context) { context.Database.EnsureCreated(); //Look for any customers. if (context.Customers.Any()) { return; } //DB has been created. var customers = new Customer[] { new Customer { CustomerName = "ANZ", Email = "*****@*****.**" }, }; foreach (Customer c in customers) { context.Customers.Add(c); } context.SaveChanges(); //var projects = new Project[] //{ //}; //foreach (Project p in projects) //{ // context.Projects.Add(p); //} //context.SaveChanges(); var leadingHands = new LeadingHand[] { new LeadingHand { ID = 1, FirstName = "Tongmei", LastName = "Lee", ScaffoldTicket = "05555", DriversLicence = "A029383", } }; foreach (LeadingHand l in leadingHands) { context.LeadingHands.Add(l); } context.SaveChanges(); var tasks = new Models.Task[] { new Models.Task { Date = DateTime.Parse("2018-06-17"), SiteID = 1, WorkDescription = "blablabla...", Progress = "18%", LeadingHandID = 1, Staff = "Thomas, Jim", NumberOfStaff = 2, U = 1, S = 2, H = 3, Start = new TimeSpan(09, 08, 10), Finish = new TimeSpan(18, 5, 60), Vehicle = "AAA555", Returned = Returned.OnTime, Quality = Quality.Good, TaskStatus = 0, }, }; foreach (Models.Task t in tasks) { context.Tasks.Add(t); } context.SaveChanges(); //var dayWorks = new DayWork[] //{ // new DayWork {DayWorkID = 101, Date = DateTime.Parse("2018-06-17"), TaskID = 101, Description = "The description of day work here", Type = "The type of day work here", Truck = "The truck of day work here", Scaffolder = "The Scaffolder of day work here", NumOfWorkers = 11, Uom = "The Uom of day work here", Qty = 13, }, //}; //foreach(DayWork dw in dayWorks) //{ // context.DayWorks.Add(dw); //} //context.SaveChanges(); }
public async Task <IActionResult> Edit(int?id, byte[] rowVersion) { if (id == null) { return(NotFound()); } var leadingHandToUpdate = await _context.LeadingHands.SingleOrDefaultAsync(m => m.ID == id); if (leadingHandToUpdate == null) { LeadingHand deletedLeadingHand = new LeadingHand(); await TryUpdateModelAsync(deletedLeadingHand); ModelState.AddModelError(string.Empty, "Unable to save changes.The customer was deleted by another user."); return(View(deletedLeadingHand)); } _context.Entry(leadingHandToUpdate).Property("RowVersion").OriginalValue = rowVersion; if (await TryUpdateModelAsync <LeadingHand>( leadingHandToUpdate, "", lh => lh.FirstName, lh => lh.LastName, lh => lh.ScaffoldTicket, lh => lh.DriversLicence)) { try { await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } catch (DbUpdateConcurrencyException ex) { var exceptionEntry = ex.Entries.Single(); var clientValues = (LeadingHand)exceptionEntry.Entity; var databaseEntry = exceptionEntry.GetDatabaseValues(); if (databaseEntry == null) { ModelState.AddModelError(string.Empty, "Unable to save changes. This Leading Hand was deleted by another user."); } else { var databaseValues = (LeadingHand)databaseEntry.ToObject(); if (databaseValues.FirstName != clientValues.FirstName) { ModelState.AddModelError("FirstName", $"Current First Name: {databaseValues.FirstName}"); } if (databaseValues.LastName != clientValues.LastName) { ModelState.AddModelError("LastName", $"Current Last Name: {databaseValues.LastName}"); } if (databaseValues.ScaffoldTicket != clientValues.ScaffoldTicket) { ModelState.AddModelError("ScaffoldTicket", $"Current ScaffoldTicket: {databaseValues.ScaffoldTicket}"); } if (databaseValues.DriversLicence != clientValues.DriversLicence) { ModelState.AddModelError("DriversLicence", $"Current DriversLicence: {databaseValues.DriversLicence}"); } ModelState.AddModelError("", "The record you attempted to edit " + "was modified by another user after you got the original value."); ModelState.AddModelError("", "The edit operation was canceled and the current valurs in the database " + "have been displayed."); ModelState.AddModelError("", "If you still want to edit this record, click the save button again. " + "Otherwise click the Back to list to the previous page."); leadingHandToUpdate.RowVersion = (byte[])databaseValues.RowVersion; ModelState.Remove("RowVersion"); } } } return(View(leadingHandToUpdate)); }