public IActionResult AddCompoundPurchasePolicy(string Description, int policy1, string Sign, int policy2, int Percent, string ShopId) { try { PoliciesModel policy = new PoliciesModel(); var shops = _serviceFacade.GetUserShops(new Guid(HttpContext.Session.Id)); var shop = shops.FirstOrDefault(currshop => currshop.Guid.Equals(new Guid(ShopId))); policy.PurchasePolicies = shop.PurchasePolicies; _serviceFacade.AddNewPurchasePolicy(new Guid(HttpContext.Session.Id), new Guid(ShopId), (object)"Compound purchase policy", policy.PurchasePolicies.ElementAt(policy1 - 1).Guid, (object)Sign, policy.PurchasePolicies.ElementAt(policy2 - 1).Guid, (object)Description); return(RedirectToAction("Policies", "Seller", new { ShopId = ShopId })); } catch (IllegalArgumentException) { var redirect = this.Url.Action("Index", "Seller"); var message = new UserMessage(redirect, "Please fill in all the fields in a valid manner."); return(View("UserMessage", message)); } catch (NoPrivilegesException) { var redirect = this.Url.Action("Index", "Seller"); var message = new UserMessage(redirect, "You haven't sufficient priviliges. Cannot complete the request."); return(View("UserMessage", message)); } catch (GeneralServerError) { var redirect = this.Url.Action("Index", "Seller"); var message = new UserMessage(redirect, "An error has occured. Please refresh and try again."); return(View("UserMessage", message)); } catch (DatabaseConnectionTimeoutException) { var redirect = this.Url.Action("Index", "Seller"); var message = new UserMessage(redirect, "An error has occured. Please refresh and try again. (Database connection lost)."); return(View("UserMessage", message)); } }
public Guid AddNewPurchasePolicy(Guid userGuid, Guid shopGuid, object policyType, object field1, object field2, object field3 = null, object field4 = null) { return(_serviceFacade.AddNewPurchasePolicy(userGuid, shopGuid, policyType, field1, field2, field3, field4)); }