public ActionResult Create() { var benefitForm = new CreateBenefitForm(); benefitForm.BranchOfficesSelected = _branchOfficeService.GetByShopId(_currentUser.Shop.Id).Select(bo => bo.Id); return(View(benefitForm)); }
public async Task <ActionResult> Create(CreateBenefitForm benefitForm) { try { if (!ModelState.IsValid) { return(View(benefitForm)); } var benefit = benefitForm.ToBenefit(); var currentShop = _shopService.GetByUserId(this.User.Identity.GetUserId()); benefit.ShopId = currentShop.Id; _benefitService.Create(benefit); if (benefitForm.Files.Any(f => f != null)) { List <BenefitFile> benefitFiles = new List <BenefitFile>(); foreach (var file in benefitForm.Files) { var benefitFile = new BenefitFile(); benefitFile.BenefitId = benefit.Id; benefitFile.File = file.ToFile(); benefitFiles.Add(benefitFile); } _benefitFileService.Create(benefitFiles); } var email = _currentUser.PointexUser.Email; await _notificationService.SendPendingBenefitEmail(benefit.Name, email, true, AppSettings.Theme); return(RedirectToAction("Index", new BenefitListFiltersModel().GetRouteValues()).WithSuccess("Beneficio Creado")); } catch (Exception) { ModelState.AddModelError("", "Hubo un error en la solicitud. Por favor intente nuevamente más tarde"); return(View(benefitForm)); } }