static void GerarScriptTransportadoras() { var listaTransportadoras = LerArquivoTransportadora(); foreach (var item in listaTransportadoras) { var repoAreaCobertura = new RepositorioAreaCobertura(); var repoPesoValor = new RepositorioPesoValor(); int idTransportadora = 0; AreaCobertura areascoberturas = new AreaCobertura(); switch (item.NomeTransportadora) { case "FLASH COURIER": areascoberturas = repoAreaCobertura.ListarAreas().Where(x => x.CepInicio == item.CepDe & x.CepTermino == item.CepAte & x.TransportadoraId == Convert.ToInt32(Transportadoras.FlashCourier)).FirstOrDefault(); idTransportadora = Convert.ToInt32(Transportadoras.FlashCourier); break; case "INTERLOG DISTR.": areascoberturas = repoAreaCobertura.ListarAreas().Where(x => x.CepInicio == item.CepDe & x.CepTermino == item.CepAte & x.TransportadoraId == Convert.ToInt32(Transportadoras.InterlogDristr)).FirstOrDefault(); idTransportadora = Convert.ToInt32(Transportadoras.InterlogDristr); break; case "TREX LOGISTICA": areascoberturas = repoAreaCobertura.ListarAreas().Where(x => x.CepInicio == item.CepDe & x.CepTermino == item.CepAte & x.TransportadoraId == Convert.ToInt32(Transportadoras.TrexLogistica)).FirstOrDefault(); idTransportadora = Convert.ToInt32(Transportadoras.TrexLogistica); break; default: break; } if (areascoberturas != null) { var pesoValor = repoPesoValor.Listar().Where(x => x.AreaCoberturaId == areascoberturas.Id & x.PesoMaximo == item.ValorMax & x.PesoMinimo == item.ValorMin).FirstOrDefault(); if (pesoValor != null) { pesoValor.Valor = item.ValorCusto; repoPesoValor.Alterar(pesoValor); } else { var pesoValorEntidate = CriarEntidadePesoValor(item, areascoberturas.Id); repoPesoValor.Inserir(pesoValorEntidate); } } else { var areaCoberturaEntidade = CriarEntidadeAreaCobertura(item, idTransportadora); repoAreaCobertura.Inserir(areaCoberturaEntidade); var idAreaCobertura = repoAreaCobertura.Listar().Where(x => x.CepInicio == areaCoberturaEntidade.CepInicio && x.CepTermino == areaCoberturaEntidade.CepTermino && x.TransportadoraId == areaCoberturaEntidade.TransportadoraId).FirstOrDefault().Id; var pesoValorEntidate = CriarEntidadePesoValor(item, idAreaCobertura); repoPesoValor.Inserir(pesoValorEntidate); } } }
static AreaCobertura CriarEntidadeAreaCobertura(Transportadora transportadora, int idTransportadora) { AreaCobertura retorno = new AreaCobertura(); retorno.CepInicio = transportadora.CepDe; retorno.CepTermino = transportadora.CepAte; retorno.DataCriacao = DateTime.Now; retorno.TransportadoraId = idTransportadora; retorno.UltimaAtualizacao = DateTime.Now; return(retorno); }
static AreaCobertura CriarEntidadeAreaCobertura(Correios correio) { AreaCobertura retorno = new AreaCobertura(); retorno.CepInicio = correio.CepInicio; retorno.CepTermino = correio.CepFim; retorno.DataCriacao = DateTime.Now.Date; retorno.TransportadoraId = 1; retorno.UltimaAtualizacao = DateTime.Now.Date; return(retorno); }