public async Task <ActionResult> CreateProcedure(ProcedureViewModel model) { if (!ModelState.IsValid) { ViewBag.Error = CreateError(); return(View("Error")); } try { var procedureDto = Mapper.Map <ProcedureViewModel, ProcedureDTO>(model); _procedureService.AddItem(procedureDto); _procedureService.Commit(); TempData["Success"] = Resources.Messages.ProcedureCreatedSuccess; await SenEmailAboutAddProcedure(model); _currentUser = GetCurrentUser(); Logger.Log.Info($"{_currentUser.Email} Added Procedure for Product #{procedureDto.ProductId} {procedureDto.ProcedureType}"); return(RedirectToAction("ProductProcedures", new { id = model.ProductId })); } catch (Exception ex) { @ViewBag.Error = ex.ToString(); return(View("Error")); } }