/// <summary>
        /// Creates the tax authority registration view.
        /// </summary>
        /// <returns></returns>
        public ITaxAuthorityView CreateTaxAuthorityRegistrationView(IList <IInlandRevenue> inlandRevenues, IList <IJurisdiction> jurisdictions)
        {
            var inlandRevenueNameDDL = GetInlandRevenueDropdown.GetInlandRevnue(inlandRevenues, -1);
            var jurisdictionDDL      = GetJurisdictionDropdown.GetJurisdicions(jurisdictions, -1);

            var view = new TaxAuthorityView
            {
                InlandRevenueNames = inlandRevenueNameDDL,
                JurisdictionNames  = jurisdictionDDL
            };

            return(view);
        }
Example #2
0
        public ActionResult RegisterTaxAuthority(TaxAuthorityView taxAuthorityView)
        {
            if (taxAuthorityView == null)
            {
                throw new ArgumentNullException("taxAuthorityView");
            }


            if (taxAuthorityView.JurisdictionId == -1)
            {
                this.ModelState.AddModelError("", "Ensure to select the correct jurisdiction");

                var returnInfo = this.accountService.GetUpdatedRegistrationView(taxAuthorityView, "");
                return(this.View("RegisterTaxAuthority", taxAuthorityView));
            }


            if (taxAuthorityView.InlandRevenueId == -1)
            {
                this.ModelState.AddModelError("", "Ensure to select the correct Inland Revenues");

                var returnInfo = this.accountService.GetUpdatedRegistrationView(taxAuthorityView, "");

                return(this.View("RegisterTaxAuthority", taxAuthorityView));
            }

            // check if entries are valid based on definations in RegistrationView model
            if (!this.ModelState.IsValid)
            {
                var returnView = this.accountService.GetUpdatedRegistrationView(taxAuthorityView, "");
                return(this.View("RegisterTaxAuthority", returnView));
            }

            // call service in domain to process Registration information
            var returnModel = this.accountService.ProcessTaxAuthorityRegistrationInfo(taxAuthorityView);

            // check if there is error message then redisplay view using model
            if (!string.IsNullOrEmpty(returnModel.ProcessingMessage))
            {
                return(this.View("RegisterTaxAuthority", returnModel));
            }

            return(this.RedirectToAction("Login", "Account",
                                         new { infoMessage = "We have sent an email, Please Login to continue" }));
        }