public ActionResult Configure(CorreiosShippingModel model)
        {
            if (!ModelState.IsValid)
            {
                return(Configure());
            }

            //save settings
            _correiosSettings.Url                     = model.Url;
            _correiosSettings.CodigoEmpresa           = model.CodigoEmpresa;
            _correiosSettings.Senha                   = model.Senha;
            _correiosSettings.CustoAdicionalEnvio     = model.CustoAdicionalEnvio;
            _correiosSettings.IncluirAvisoRecebimento = model.IncluirAvisoRecebimento;
            _correiosSettings.IncluirMaoPropria       = model.IncluirMaoPropria;
            _correiosSettings.IncluirValorDeclarado   = model.IncluirValorDeclarado;
            _correiosSettings.DiasUteisAdicionais     = model.DiasUteisAdicionais;
            _correiosSettings.CEPRestito              = model.CEPRestito;
            _correiosSettings.CategoriasRetritras     = model.CategoriasRetritras;
            // Save selected services
            var carrierServicesOfferedDomestic       = new StringBuilder();
            int carrierServicesDomesticSelectedCount = 0;

            if (model.CheckedCarrierServices != null)
            {
                foreach (var cs in model.CheckedCarrierServices)
                {
                    carrierServicesDomesticSelectedCount++;
                    string serviceId = CorreiosServices.GetServiceId(cs);
                    if (!String.IsNullOrEmpty(serviceId))
                    {
                        carrierServicesOfferedDomestic.AppendFormat("{0},", serviceId);
                    }
                }
            }

            if (carrierServicesDomesticSelectedCount == 0)
            {
                _correiosSettings.CarrierServicesOffered = "41106,40010,40215";
            }
            else
            {
                _correiosSettings.CarrierServicesOffered = carrierServicesOfferedDomestic.ToString().TrimEnd(',');
            }


            _settingService.SaveSetting(_correiosSettings);

            ViewData["sucesso"] = this._localizationService.GetResource("Admin.Configuration.Updated");

            return(Configure());
        }
        public ActionResult Configure()
        {
            var model = new CorreiosShippingModel();

            model.Url                     = _correiosSettings.Url;
            model.CodigoEmpresa           = _correiosSettings.CodigoEmpresa;
            model.Senha                   = _correiosSettings.Senha;
            model.CustoAdicionalEnvio     = _correiosSettings.CustoAdicionalEnvio;
            model.IncluirAvisoRecebimento = _correiosSettings.IncluirAvisoRecebimento;
            model.IncluirMaoPropria       = _correiosSettings.IncluirMaoPropria;
            model.IncluirValorDeclarado   = _correiosSettings.IncluirValorDeclarado;
            model.DiasUteisAdicionais     = _correiosSettings.DiasUteisAdicionais;
            model.CEPRestito              = _correiosSettings.CEPRestito;
            model.CategoriasRetritras     = _correiosSettings.CategoriasRetritras;

            var services = new CorreiosServices();
            // Load service names
            string carrierServicesOfferedDomestic = _correiosSettings.CarrierServicesOffered;

            foreach (string service in services.Services)
            {
                model.AvailableCarrierServices.Add(service);
            }

            if (!String.IsNullOrEmpty(carrierServicesOfferedDomestic))
            {
                foreach (string service in services.Services)
                {
                    string serviceId = CorreiosServices.GetServiceId(service);
                    if (!String.IsNullOrEmpty(serviceId) && !String.IsNullOrEmpty(carrierServicesOfferedDomestic))
                    {
                        if (carrierServicesOfferedDomestic.Contains(serviceId))
                        {
                            model.CarrierServicesOffered.Add(service);
                        }
                    }
                }
            }


            return(View("~/Plugins/Shipping.Correios/Views/ShippingCorreios/Configure.cshtml", model));
        }