public async Task <ActionResult> DetailsForm(InstBasicViewModel model) { if (!ModelState.IsValid) { var errors = ModelState.Values.SelectMany(a => a.Errors); TempData["Code"] = "danger"; TempData["Head"] = "Error"; TempData["Messages"] = errors.Select(a => a.ErrorMessage).ToList(); } else { var inst = await _db.Institutions.FindAsync(model.Id); if (inst == null) { TempData["Code"] = "danger"; TempData["Head"] = "Error"; TempData["Messages"] = new List <string>() { "Cannot find requested Institution" }; } try { Mapper.Map(model, inst); await _db.SaveChangesAsync(); TempData["Code"] = "success"; TempData["Head"] = "Done"; TempData["Messages"] = new List <string>() { "Institution details have been updated." }; } catch (Exception e) { TempData["Code"] = "danger"; TempData["Head"] = "Error"; TempData["Messages"] = new List <string>() { e.Message }; } } return(RedirectToAction("Manage", new { id = model.Id })); }
public async Task <ActionResult> Create(InstBasicViewModel model, HttpPostedFileBase instPhoto) { if (!ModelState.IsValid) { var errors = ModelState.Values.SelectMany(a => a.Errors); model.Code = "danger"; model.Head = "Error"; model.Message = string.Join("\n", errors.Select(a => a.ErrorMessage).ToList()); return(View(model)); } else { try { var inst = Mapper.Map <Institution>(model); if (instPhoto != null) { inst.CollegeCrest = _fs.ConvertToBytes(instPhoto); } _db.Institutions.Add(inst); await _db.SaveChangesAsync(); TempData["Code"] = "success"; TempData["Head"] = "Done"; TempData["Messages"] = new List <string>() { "Institution has been added." }; return(RedirectToAction("Manage", new { id = inst.Id })); } catch (Exception e) { var errors = ModelState.Values.SelectMany(a => a.Errors); model.Code = "danger"; model.Head = "Error"; model.Message = e.Message; return(View(model)); } } }