コード例 #1
0
        public ActionResult Salvar(LocalizarVM localizarVm)
        {
            #region Configurar Estado e Municipio

            Municipio                  municipio     = null;
            List <Estado>              lstEstados    = new List <Estado>();
            List <Municipio>           lstMunicipios = new List <Municipio>();
            ResponseJsonData <dynamic> resposta      = new ResponseJsonData <dynamic>();
            resposta = _bus.ObterEstadosMunicipiosPorCoordenada(localizarVm.Filtros.Coordenada.EastingUtmTexto, localizarVm.Filtros.Coordenada.NorthingUtmTexto);

            var objJson    = resposta.Data;
            int codigoIbge = 0;
            if (objJson["Municipio"] != null)
            {
                codigoIbge = Convert.ToInt32(objJson["Municipio"]["IBGE"] ?? 0);
            }

            ListaValoresDa _da = new ListaValoresDa();
            municipio = _da.ObterMunicipio(codigoIbge);

            if (municipio.Estado.Sigla != ViewModelHelper.EstadoDefaultSigla())
            {
                lstEstados    = _busLista.Estados.Where(x => x.Texto != ViewModelHelper.EstadoDefaultSigla()).ToList();
                lstMunicipios = new List <Municipio>();
            }
            else
            {
                lstEstados    = _busLista.Estados;
                lstMunicipios = _busLista.Municipios(municipio.Estado.Id);

                localizarVm.Filtros.EstadoId    = municipio.Estado.Id;
                localizarVm.Filtros.MunicipioId = municipio.Id;
            }

            #endregion

            SalvarVM vm = new SalvarVM(lstEstados, lstMunicipios, lstMunicipios, _busLista.Segmentos, _busLista.TiposCoordenada,
                                       _busLista.Datuns, _busLista.Fusos, _busLista.Hemisferios, _busLista.TiposResponsavel, _busLista.LocalColetaPonto, _busLista.FormaColetaPonto,
                                       localizarVm.Filtros.EstadoId, localizarVm.Filtros.MunicipioId, 0, 0);

            vm.SetLocalizarVm(localizarVm.Filtros);
            vm.SetCoordenada();
            PreencherSalvar(vm);

            if (vm.Empreendimento.Responsaveis != null && vm.Empreendimento.Responsaveis.Count > 0)
            {
                vm.Responsaveis = ViewModelHelper.CriarSelectList(ObterResponsaveisList(vm.Empreendimento.Responsaveis), true);
            }

            if (vm.Empreendimento.Enderecos.Count == 0)
            {
                vm.Empreendimento.Enderecos.Add(new Endereco());
                vm.Empreendimento.Enderecos.Add(new Endereco());
            }
            else if (vm.Empreendimento.Enderecos.Count == 1)
            {
                vm.Empreendimento.Enderecos.Add(new Endereco());
            }

            if (Request.IsAjaxRequest())
            {
                vm.IsAjaxRequest = true;
                return(PartialView("Salvar", vm));
            }
            else
            {
                return(View("Salvar", vm));
            }
        }