public IActionResult LicenceCreate(CreateLicenceViewModel model)
        {
            if (model == null)
            {
                throw new ArgumentNullException(nameof(model));
            }

            LicenceType licenceType = _licenceProvider.LicenceTypesGet().Where(l => l.Id == model.LicenceType).FirstOrDefault();

            if (licenceType == null)
            {
                ModelState.AddModelError(String.Empty, Languages.LanguageStrings.LicenceTypeInvalid);
            }

            if (ModelState.IsValid)
            {
                switch (_licenceProvider.LicenceTrialCreate(UserId(), licenceType))
                {
                case Middleware.LicenceCreate.Existing:
                    GrowlAdd(String.Format(Languages.LanguageStrings.LicenceCreateTrialExists,
                                           licenceType.Description));
                    break;

                case Middleware.LicenceCreate.Failed:
                    GrowlAdd(Languages.LanguageStrings.LicenceCreateTrialFailed);
                    break;

                case Middleware.LicenceCreate.Success:
                    GrowlAdd(Languages.LanguageStrings.LicenceCreatedTrial);
                    break;
                }

                return(RedirectToAction(nameof(Licences)));
            }

            model.Breadcrumbs = GetBreadcrumbs();
            model.CartSummary = GetCartSummary();

            return(View(model));
        }
Example #2
0
        public IActionResult LicenceCreate(CreateLicenceViewModel model)
        {
            if (model == null)
            {
                throw new ArgumentNullException(nameof(model));
            }

            LicenceType licenceType = _licenceProvider.LicenceTypesGet().Where(l => l.Id == model.LicenceType).FirstOrDefault();

            if (licenceType == null)
            {
                ModelState.AddModelError(String.Empty, "Invalid Licence Type");
            }

            if (ModelState.IsValid)
            {
                switch (_licenceProvider.LicenceTrialCreate(UserId(), licenceType))
                {
                case Middleware.LicenceCreate.Existing:
                    GrowlAdd($"You already have a trial licence for {licenceType.Description}");
                    break;

                case Middleware.LicenceCreate.Failed:
                    GrowlAdd("Failed to create a trial licence");
                    break;

                case Middleware.LicenceCreate.Success:
                    GrowlAdd("Trial licence succesfully created");
                    break;
                }

                return(RedirectToAction(nameof(Licences)));
            }

            return(View(model));
        }