public ActionResult UpdateDeliveryPost(Delivery delivery) { try { List <KeyValuePair <string, string> > errors = deliveryValidator.CanUpdateDelivery(delivery); if (errors.Count == 0) { bool result = deliveryHandler.Update(delivery); if (result) { return(RedirectToAction("GetDeliveriesList")); } else { this.ModelState.AddModelError("", "Something got wrong when update delivery. Delivery not updated!"); return(View("UpdateDelivery", delivery)); ; } } else { foreach (KeyValuePair <string, string> error in errors) { this.ModelState.AddModelError(error.Key, error.Value); } return(View("UpdateDelivery", delivery)); } } catch (Exception ex) { this.ModelState.AddModelError("", ex.Message); if (ex.InnerException != null) { this.ModelState.AddModelError("", ex.InnerException.Message); } return(View("UpdateDelivery", delivery)); } }