예제 #1
0
        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));
            }
        }