Exemple #1
0
        public ActionResult Create()
        {
            var benefitForm = new CreateBenefitForm();

            benefitForm.BranchOfficesSelected = _branchOfficeService.GetByShopId(_currentUser.Shop.Id).Select(bo => bo.Id);
            return(View(benefitForm));
        }
Exemple #2
0
        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));
            }
        }