public async Task <IActionResult> Edit([Bind("Id, Name, Description, StartDate, EndDate, CourseId, ParentStartDate, ParentEndDate, CourseName")] ModuleAddViewModel @module) { if (ModelState.IsValid) { var moduleEntity = await _context.Modules.FirstOrDefaultAsync(a => a.Id == @module.Id); moduleEntity.Name = @module.Name; moduleEntity.StartDate = @module.StartDate; moduleEntity.EndDate = @module.EndDate; moduleEntity.Description = @module.Description; var activitiesOutSideStartEndDate = await GetActivitiesOutSideCourseStartEndDates(moduleEntity); if (activitiesOutSideStartEndDate.Count() > 0) { var errorCount = 0; foreach (var activity in activitiesOutSideStartEndDate) { ModelState.AddModelError($"activity_start_end_error_{errorCount++}", $"Activity: {activity.Description} {activity.StartDate.ToString(Common.DateFormat)} - {activity.EndDate.ToString(Common.DateFormat)} is outside module Start/End dates"); } return(View(@module)); } _context.Update(moduleEntity); await _context.SaveChangesAsync(); TempData["AlertMsg"] = "Saved changes"; return(RedirectToAction(nameof(Details), new { id = moduleEntity.Id })); } return(View(@module)); }
public async Task <IActionResult> Create([Bind("Name, Description, StartDate, EndDate, DocId, CourseId, ParentStartDate, ParentEndDate, CourseName")] ModuleAddViewModel @module) { if (ModelState.IsValid) { var model = _mapper.Map <Module>(@module); _context.Add(model); await _context.SaveChangesAsync(); TempData["AlertMsg"] = "Module added"; return(RedirectToAction(nameof(Details), new { id = model.Id })); } return(View(@module)); }