예제 #1
0
 public ActionResult AddDeliveryPost(Delivery delivery)
 {
     try {
         List <KeyValuePair <string, string> > errors = deliveryValidator.CanAddDelivery(delivery);
         if (errors.Count == 0)
         {
             int id = deliveryHandler.Add(delivery);
             if (id > 0)
             {
                 return(RedirectToAction("GetDeliveriesList"));
             }
             else
             {
                 this.ModelState.AddModelError("", "Something got wrong when adding delivery. Delivery not added!");
                 return(AddDelivery(delivery));
             }
         }
         else
         {
             foreach (KeyValuePair <string, string> error in errors)
             {
                 this.ModelState.AddModelError(error.Key, error.Value);
             }
             return(AddDelivery(delivery));
         }
     }
     catch (Exception ex) {
         this.ModelState.AddModelError("", ex.Message);
         if (ex.InnerException != null)
         {
             this.ModelState.AddModelError("", ex.InnerException.Message);
         }
         return(AddDelivery(delivery));
     }
 }