public HttpResponseMessage Deletar(PosteEditAPI poste) { Poste PostesDB = UnitOfWork.PosteRepository.Get(p => p.IdPoste == poste.IdPoste && p.DataExclusao == null, includeProperties: "Cidade").FirstOrDefault(); if (PostesDB != null) { // Salvando a posição do Mobile no momento da exclusao do poste UTM posicaoAtualizacao = new ConverterLatLonToUtm(PostesDB.Cidade.Datum, PostesDB.Cidade.NorteOuSul, PostesDB.Cidade.Zona).Convert(poste.LatAtualizacao, poste.LonAtualizacao); PostesDB.XAtualizacao = posicaoAtualizacao.X; PostesDB.YAtualizacao = posicaoAtualizacao.Y; UnitOfWork.PosteRepository.Update(PostesDB); UnitOfWork.PosteRepository.SetDataExclusao(PostesDB); UnitOfWork.Save(); return(Request.CreateResponse(HttpStatusCode.OK, new ResponseApi() { Status = Status.OK, Message = Resources.Messages.Save_OK })); } else { return(Request.CreateResponse(HttpStatusCode.OK, new ResponseApi() { Status = Status.NOK, Message = Resources.Messages.Not_Register_Data_Base })); } }
public ActionResult NewPoste(PosteView requestData) { Cidade cidade = UnitOfWork.CidadeRepository.Get(c => c.IdCidade == requestData.IdCidade).FirstOrDefault(); if (cidade != null) { ConverterLatLonToUtm converter = new ConverterLatLonToUtm(cidade.Datum, cidade.NorteOuSul, cidade.Zona); UTM utm = converter.Convert(requestData.Latitude, requestData.Longitude); OrdemDeServico ordemDeServico = UnitOfWork.OrdemDeServicoRepository.Get(or => or.NumeroOS == requestData.IdOrdemServicoTexto).FirstOrDefault(); Poste p = new Poste { X = utm.X, Y = utm.Y, Cidade = cidade, DataCadastro = DateTime.Now, IdOrdemDeServico = ordemDeServico.IdOrdemDeServico, CodigoGeo = -1 }; UnitOfWork.PosteRepository.Insert(p); UnitOfWork.Save(); Poste pst = UnitOfWork.PosteRepository.Get(pt => pt.X == p.X && pt.Y == p.Y, includeProperties: "Cidade").FirstOrDefault(); PosteView posteview = new MetodosPosteView().PostetoPosteView(pst); return(Json(new ResponseView() { Status = Status.Found, Result = posteview }, JsonRequestBehavior.AllowGet)); } else { return(Json(new ResponseView() { Status = Status.NotFound, Result = Resources.Messages.Cidade_Not_Found }, JsonRequestBehavior.AllowGet)); } }
public ActionResult SalvarArrastarPoste(PosteJs objeto_poste) { Poste posteBd = UnitOfWork.PosteRepository.Get(pp => pp.IdPoste == objeto_poste.IdPoste && pp.DataExclusao == null, includeProperties: "OrdemDeServico,Cidade").FirstOrDefault(); var vaos = UnitOfWork.VaosDemandaPosteRepository.Get(v => v.IdPoste == objeto_poste.IdPoste).ToList(); if (posteBd != null) { ConverterLatLonToUtm converter = new ConverterLatLonToUtm(posteBd.Cidade.Datum, posteBd.Cidade.NorteOuSul, posteBd.Cidade.Zona); UTM utm = converter.Convert(objeto_poste.Latitude, objeto_poste.Longitude); posteBd.X = utm.X; posteBd.Y = utm.Y; //posteBd.Esforco = objeto_poste.Esforco != null ? objeto_poste.Esforco.ToUpper() : ""; //posteBd.TipoPoste = objeto_poste.TipoPoste; //posteBd.Altura = objeto_poste.Altura; //posteBd.Descricao = objeto_poste.Descricao != null ? objeto_poste.Descricao.ToUpper() : ""; //posteBd.DataCadastro = DateTime.Now; /// Atualizando o Poste UnitOfWork.PosteRepository.Update(posteBd); //Salvando as Alteraçoes UnitOfWork.Save(); Poste poste = UnitOfWork.PosteRepository.Get(p => p.IdPoste == objeto_poste.IdPoste).FirstOrDefault(); if (vaos != null) { foreach (var item in vaos) { item.X1 = utm.X; item.Y1 = utm.Y; } } UnitOfWork.Save(); return(Json(new { Poste = PostePaginadoView.GeneratePosteUnico(poste), VaosDemandas = VaosDemandasPaginadoView.GenerateByOs(vaos) }, JsonRequestBehavior.AllowGet)); } else { return(Json(new ResponseView() { Status = Status.NotFound, Result = Resources.Messages.Poste_Not_Found }, JsonRequestBehavior.AllowGet)); } }
public ActionResult NewAnotacao(AnotacaoView requestData) { Cidade cidade = UnitOfWork.CidadeRepository.Get(c => c.IdCidade == requestData.IdCidade).FirstOrDefault(); OrdemDeServico ordemDeServico = UnitOfWork.OrdemDeServicoRepository.Get(or => or.NumeroOS == requestData.NumeroOs).FirstOrDefault(); if (cidade != null) { ConverterLatLonToUtm converter = new ConverterLatLonToUtm(cidade.Datum, cidade.NorteOuSul, cidade.Zona); UTM utm = converter.Convert(requestData.X, requestData.Y); Anotacao anotacao = new Anotacao { IdCidade = cidade.IdCidade, IdOrdemDeServico = ordemDeServico.IdOrdemDeServico, Descricao = requestData.Descricao, X = utm.X, Y = utm.Y }; UnitOfWork.AnotacaoRepository.Insert(anotacao); UnitOfWork.Save(); Anotacao anotacaoview = UnitOfWork.AnotacaoRepository.Get(nota => nota.IdAnotacao == anotacao.IdAnotacao).FirstOrDefault(); AnotacaoView AnotacaoView = new AnotacaoPaginadoView().AnotacaToAnotacaoView(anotacaoview); /* var notas = new * { * IdCidade = anotacaoview.IdCidade, * IdOrdemDeServico = anotacaoview.IdOrdemDeServico, * Descricao = anotacaoview.Descricao, * X = anotacaoview.X, * Y = anotacaoview.Y * };*/ return(Json(new ResponseView() { Status = Status.Found, Result = AnotacaoView }, JsonRequestBehavior.AllowGet)); } else { return(Json(new ResponseView() { Status = Status.NotFound, Result = "Cidade nao Encontrada" }, JsonRequestBehavior.AllowGet)); } }
public ActionResult NovoNoMaps([System.Web.Http.FromBody] DemandaStrandView demandaStrandView) { Cidade cidade = UnitOfWork.CidadeRepository.Get(c => c.IdCidade == demandaStrandView.IdCidade).FirstOrDefault(); ConverterLatLonToUtm converter = null; if (cidade != null) { converter = new ConverterLatLonToUtm(cidade.Datum, cidade.NorteOuSul, cidade.Zona); OrdemDeServico ordemDeServico = UnitOfWork.OrdemDeServicoRepository.Get(or => or.NumeroOS == demandaStrandView.NumeroOs).FirstOrDefault(); double x1 = Double.Parse(demandaStrandView.X1Texto, System.Globalization.CultureInfo.InvariantCulture); double y1 = Double.Parse(demandaStrandView.Y1Texto, System.Globalization.CultureInfo.InvariantCulture); double x2 = Double.Parse(demandaStrandView.X2Texto, System.Globalization.CultureInfo.InvariantCulture); double y2 = Double.Parse(demandaStrandView.Y2Texto, System.Globalization.CultureInfo.InvariantCulture); UTM utm1 = converter.Convert(x1, y1); UTM utm2 = converter.Convert(x2, y2); DemandaStrand demandaStrand = new DemandaStrand { IdCidade = demandaStrandView.IdCidade, IdOrdemDeServico = ordemDeServico.IdOrdemDeServico, X1 = utm1.X, Y1 = utm1.Y, X2 = utm2.X, Y2 = utm2.Y, DataInclusao = DateTime.Now }; UnitOfWork.DemandaStrandRepository.Insert(demandaStrand); UnitOfWork.Save(); DemandaStrand strand = UnitOfWork.DemandaStrandRepository.Get(d => d.ID == demandaStrand.ID).FirstOrDefault(); return(Json(StrandPaginadoView.GenerateUnico(strand), JsonRequestBehavior.AllowGet)); } else { return(Json(new { Status = Status.NotFound, Result = "Cidade nao encontrada!" }, JsonRequestBehavior.AllowGet)); } }
public ActionResult Novo(DemandaStrandView demandaStrandView) { Cidade cidade = UnitOfWork.CidadeRepository.Get(c => c.IdCidade == demandaStrandView.IdCidade).FirstOrDefault(); ConverterLatLonToUtm converter = null; if (cidade != null) { converter = new ConverterLatLonToUtm(cidade.Datum, cidade.NorteOuSul, cidade.Zona); Poste poste1 = UnitOfWork.PosteRepository.Get(p1 => p1.IdPoste == demandaStrandView.IdPoste1).FirstOrDefault(); Poste poste2 = UnitOfWork.PosteRepository.Get(p2 => p2.IdPoste == demandaStrandView.IdPoste2).FirstOrDefault(); OrdemDeServico ordemDeServico = UnitOfWork.OrdemDeServicoRepository.Get(or => or.NumeroOS == demandaStrandView.NumeroOs).FirstOrDefault(); /* UTM utm1 = converter.Convert(demandaStrandView.X1, demandaStrandView.Y1); * UTM utm2 = converter.Convert(demandaStrandView.X2, demandaStrandView.Y2);*/ DemandaStrand demandaStrand = new DemandaStrand { IdCidade = demandaStrandView.IdCidade, IdOrdemDeServico = ordemDeServico.IdOrdemDeServico, X1 = poste1.X, Y1 = poste1.Y, X2 = poste2.X, Y2 = poste2.Y, DataInclusao = DateTime.Now }; UnitOfWork.DemandaStrandRepository.Insert(demandaStrand); UnitOfWork.Save(); DemandaStrand strand = UnitOfWork.DemandaStrandRepository.Get(d => d.ID == demandaStrand.ID).FirstOrDefault(); return(Json(StrandPaginadoView.GenerateUnico(strand), JsonRequestBehavior.AllowGet)); } else { return(Json(new { Status = Status.NotFound, Result = "Cidade nao encontrada!" }, JsonRequestBehavior.AllowGet)); } }
public HttpResponseMessage Add(PosteEditAPI Poste) { /// Validando o Poste ICollection <ValidationResult> results; if (Poste.TryValidate(out results)) { OrdemDeServico OSBD = UnitOfWork.OrdemDeServicoRepository.Get(os => os.IdOrdemDeServico == Poste.IdOrdemDeServico, includeProperties: "Cidade").FirstOrDefault(); if (OSBD != null) { ConverterLatLonToUtm converter = new ConverterLatLonToUtm(OSBD.Cidade.Datum, OSBD.Cidade.NorteOuSul, OSBD.Cidade.Zona); UTM utmPoste = converter.Convert(Poste.Lat, Poste.Lon); // Salvando a posição do Mobile no momento da Edição do poste UTM posicaoAtualizacao = converter.Convert(Poste.LatAtualizacao, Poste.LonAtualizacao); Poste posteAux = new Poste() { X = utmPoste.X, Y = utmPoste.Y, XAtualizacao = posicaoAtualizacao.X, YAtualizacao = posicaoAtualizacao.Y, OrdemDeServico = OSBD, DataCadastro = DateTime.Now, Cidade = OSBD.Cidade, Altura = Poste.Altura, TipoPoste = Poste.TipoPoste, Esforco = Poste.Esforco, Descricao = Poste.Descricao }; UnitOfWork.PosteRepository.Insert(posteAux); /// usuario Usuario User = UnitOfWork.UsuarioRepository.Get(u => u.IdUsuario == IdUsuario).FirstOrDefault(); if (Poste.Fotos != null && Poste.Fotos.Count > 0) { foreach (FotoAPI foto in Poste.Fotos) { if (foto != null) { DateTime DataDiretorio = Convert.ToDateTime(foto.DataFoto); //ConvertDate.UnixTimestampToDateTime(foto.DataFoto); String Data = DataDiretorio.ToString("dd-MM-yyyy hh:mm:ss"); UnitOfWork.FotoPosteRepository.Insert(new FotoPoste { CodigoGeoBD = -1, IdPoste = posteAux.IdPoste, NumeroFoto = foto.NumeroFoto.Trim(), DataFoto = DataDiretorio, Path = string.Format(ConfigurationManager.AppSettings["NewPathFotos"], OSBD.Cidade.CidadeDiretorio, Data, User.UserName.ToUpper(), foto.NumeroFoto.Trim()) }); } } } UnitOfWork.Save(); List <FotoAPI> FotosApi = new List <FotoAPI>(); foreach (FotoPoste foto in posteAux.Fotos.Where(f => f.DataExclusao == null)) { FotoAPI ft = new FotoAPI(); ft.NumeroFoto = foto.NumeroFoto; ft.DataFoto = foto.DataFoto.ToString("dd-MM-yyyy hh:mm:ss"); //ConvertDate.DateTimeToUnixTimestamp(foto.DataFoto); FotosApi.Add(ft); } ConverterUtmToLatLon converterToLatLong = new ConverterUtmToLatLon(posteAux.Cidade.Datum, posteAux.Cidade.NorteOuSul, posteAux.Cidade.Zona); return(Request.CreateResponse(HttpStatusCode.OK, new ResponseApi() { Status = Status.OK, Message = Resources.Messages.Save_OK, Results = new { IdPoste = posteAux.IdPoste, Posicao = converterToLatLong.Convert(posteAux.X, posteAux.Y), DataCadastro = posteAux.DataCadastro, DataExclusao = posteAux.DataExclusao, Finalizado = posteAux.Finalizado, CodigoGeo = posteAux.CodigoGeo, IdLogradouro = posteAux.IdLogradouro, IdCidade = posteAux.Cidade.IdCidade, IdOrdemDeServico = posteAux.IdOrdemDeServico, Fotos = FotosApi, Altura = posteAux.Altura, TipoPoste = posteAux.TipoPoste, Esforco = posteAux.Esforco, Descricao = posteAux.Descricao } })); } else { return(Request.CreateResponse(HttpStatusCode.OK, new ResponseApi() { Status = Status.NOK, Message = Resources.Messages.OS_Not_Found })); } } else { string MessageValidate = string.Empty; foreach (var validationResult in results) { MessageValidate += validationResult.ErrorMessage; } return(Request.CreateResponse(HttpStatusCode.OK, new ResponseApi() { Status = Status.NOK, Message = MessageValidate })); } }
public HttpResponseMessage Edit(PosteEditAPI Poste) { /// Validando o Poste ICollection <ValidationResult> results; if (Poste.TryValidate(out results)) { Poste posteBD = UnitOfWork.PosteRepository.Get(p => p.IdPoste == Poste.IdPoste && p.DataExclusao == null, includeProperties: "Cidade,Fotos,OrdemDeServico").FirstOrDefault(); if (posteBD != null) { ConverterLatLonToUtm converter = new ConverterLatLonToUtm(posteBD.Cidade.Datum, posteBD.Cidade.NorteOuSul, posteBD.Cidade.Zona); UTM utmPoste = converter.Convert(Poste.Lat, Poste.Lon); //Atribuindo os novos valores da Edicao posteBD.X = utmPoste.X; posteBD.Y = utmPoste.Y; posteBD.Finalizado = Poste.Finalizado; posteBD.Altura = Poste.Altura; posteBD.TipoPoste = Poste.TipoPoste; posteBD.Esforco = Poste.Esforco != null ? Poste.Esforco : 0; posteBD.Descricao = Poste.Descricao != null?Poste.Descricao.ToUpper() : ""; posteBD.DataCadastro = ConvertDate.UnixTimestampToDateTime(Poste.DataAtualizacao); // Salvando a posição do Mobile no momento da Edição do poste UTM posicaoAtualizacao = converter.Convert(Poste.LatAtualizacao, Poste.LonAtualizacao); posteBD.XAtualizacao = posicaoAtualizacao.X; posteBD.YAtualizacao = posicaoAtualizacao.Y; UnitOfWork.PosteRepository.Update(posteBD); /// Setando DataDeExclusao em todas as fotos foreach (FotoPoste f in posteBD.Fotos) { f.DataExclusao = DateTime.Now; UnitOfWork.FotoPosteRepository.Update(f); } /// usuario Usuario User = UnitOfWork.UsuarioRepository.Get(u => u.IdUsuario == IdUsuario).FirstOrDefault(); // Verificando as alterações das fotos if (Poste.Fotos != null && Poste.Fotos.Count > 0) { foreach (FotoAPI foto in Poste.Fotos) { if (foto != null) { DateTime DataDiretorio = Convert.ToDateTime(foto.DataFoto); //ConvertDate.UnixTimestampToDateTime(foto.DataFoto); String Data = DataDiretorio.ToString("dd-MM-yyyy hh:mm:ss"); FotoPoste f = UnitOfWork.FotoPosteRepository.Get(fto => fto.IdPoste == posteBD.IdPoste && fto.NumeroFoto.Trim() == foto.NumeroFoto.Trim()).FirstOrDefault(); if (f != null) { f.DataExclusao = null; f.DataFoto = DataDiretorio; f.Path = string.Format(ConfigurationManager.AppSettings["NewPathFotos"], posteBD.Cidade.CidadeDiretorio, Data, User.UserName.ToUpper(), foto.NumeroFoto.Trim()); UnitOfWork.FotoPosteRepository.Update(f); } else { FotoPoste fAux = new FotoPoste { CodigoGeoBD = -1, IdPoste = posteBD.IdPoste, NumeroFoto = foto.NumeroFoto.Trim(), DataFoto = DataDiretorio, Path = string.Format(ConfigurationManager.AppSettings["NewPathFotos"], posteBD.Cidade.CidadeDiretorio, Data, User.UserName.ToUpper(), foto.NumeroFoto.Trim()) }; UnitOfWork.FotoPosteRepository.Insert(fAux); } } } } UnitOfWork.Save(); //Commit List <FotoAPI> FotosApi = new List <FotoAPI>(); foreach (FotoPoste foto in posteBD.Fotos.Where(f => f.DataExclusao == null)) { FotoAPI ft = new FotoAPI(); ft.NumeroFoto = foto.NumeroFoto; ft.DataFoto = foto.DataFoto.ToString("dd-MM-yyyy hh:mm:ss"); //ConvertDate.DateTimeToUnixTimestamp(foto.DataFoto); FotosApi.Add(ft); } ConverterUtmToLatLon converterToLatLong = new ConverterUtmToLatLon(posteBD.Cidade.Datum, posteBD.Cidade.NorteOuSul, posteBD.Cidade.Zona); return(Request.CreateResponse(HttpStatusCode.OK, new ResponseApi() { Status = Status.OK, Message = Resources.Messages.Save_OK, Results = new { IdPoste = posteBD.IdPoste, Posicao = converterToLatLong.Convert(posteBD.X, posteBD.Y), DataCadastro = posteBD.DataCadastro, DataExclusao = posteBD.DataExclusao, Finalizado = posteBD.Finalizado, CodigoGeo = posteBD.CodigoGeo, IdLogradouro = posteBD.IdLogradouro, IdCidade = posteBD.Cidade.IdCidade, IdOrdemDeServico = posteBD.IdOrdemDeServico, Fotos = FotosApi, Altura = posteBD.Altura, TipoPoste = posteBD.TipoPoste, Esforco = posteBD.Esforco, Descricao = posteBD.Descricao } })); } else { return(Request.CreateResponse(HttpStatusCode.OK, new ResponseApi() { Status = Status.NOK, Message = Resources.Messages.Poste_Not_Found })); } } else { string MessageValidate = string.Empty; foreach (var validationResult in results) { MessageValidate += validationResult.ErrorMessage + "-"; } return(Request.CreateResponse(HttpStatusCode.OK, new ResponseApi() { Status = Status.NOK, Message = MessageValidate.Remove(MessageValidate.Length - 1) })); } }
public ActionResult SalvarPontoEntrega(PontoEntregaView PontoEntregaReceived) { if (PontoEntregaReceived != null) { //Poste poste = UnitOfWork.PosteRepository.Get(p => p.IdPoste == PontoEntregaReceived.IdPoste).FirstOrDefault(); Cidade cidade = UnitOfWork.CidadeRepository.Get(c => c.IdCidade == PontoEntregaReceived.IdCidade).FirstOrDefault(); ConverterLatLonToUtm converter = new ConverterLatLonToUtm(cidade.Datum, cidade.NorteOuSul, cidade.Zona); UTM utm = converter.Convert(PontoEntregaReceived.Latitude, PontoEntregaReceived.Longitude); if (PontoEntregaReceived.IdPontoEntrega != -1) { #region Atualiza Ponto de Entrega PontoEntrega ponto_entrega_bd = UnitOfWork.PontoEntregaRepository.Get(p => p.IdPontoEntrega == PontoEntregaReceived.IdPontoEntrega).FirstOrDefault(); // ponto_entrega_bd.IdPontoEntrega = PontoEntregaReceived.IdPontoEntrega; //ponto_entrega_bd.IdPoste = PontoEntregaReceived.IdPoste; ponto_entrega_bd.CodigoGeoBD = PontoEntregaReceived.CodigoGeoBD; // ponto_entrega_bd.IdOrdemDeServico = PontoEntregaReceived.IdOrdemServico; ponto_entrega_bd.Classificacao = PontoEntregaReceived.Classificacao; ponto_entrega_bd.Complemento1 = PontoEntregaReceived.Complemento1; //ponto_entrega_bd.Complemento2 = PontoEntregaReceived.Complemento2; //ponto_entrega_bd.Status = PontoEntregaReceived.Status; // ponto_entrega_bd.ClasseAtendimento = PontoEntregaReceived.ClasseAtendimento; //ponto_entrega_bd.TipoConstrucao = PontoEntregaReceived.TipoConstrucao; ponto_entrega_bd.Numero = PontoEntregaReceived.Numero; ponto_entrega_bd.ClasseSocial = PontoEntregaReceived.ClasseSocial; ponto_entrega_bd.IdLagradouro = PontoEntregaReceived.IdLogradouro; ponto_entrega_bd.Classificacao = PontoEntregaReceived.Classificacao; ponto_entrega_bd.Ocorrencia = PontoEntregaReceived.Ocorrencia; ponto_entrega_bd.QtdDomicilio = PontoEntregaReceived.QtdDomicilio; ponto_entrega_bd.NumeroAndaresEdificio = PontoEntregaReceived.NumeroAndaresEdificio; ponto_entrega_bd.TotalApartamentosEdificio = PontoEntregaReceived.TotalApartamentosEdificio; ponto_entrega_bd.NomeEdificio = PontoEntregaReceived.NomeEdificio; ponto_entrega_bd.QtdBlocos = PontoEntregaReceived.QtdBlocos; ponto_entrega_bd.TipoComercio = PontoEntregaReceived.ClassificacaoComercio; ponto_entrega_bd.QtdSalas = PontoEntregaReceived.QtdDomicilioComercio; //ponto_entrega_bd.Fase = PontoEntregaReceived.Fase; //ponto_entrega_bd.EtLigacao = PontoEntregaReceived.EtLigacao; // ponto_entrega_bd.Observacao = PontoEntregaReceived.Observacao; //ponto_entrega_bd.X = utm.X; // ponto_entrega_bd.Y = utm.Y; /// Atualizando o Ponto Entrega UnitOfWork.PontoEntregaRepository.Update(ponto_entrega_bd); List <Medidor> medidores_ponto_entrega = UnitOfWork.MedidoresRepository.Get(m => m.IdPontoEntrega == PontoEntregaReceived.IdPontoEntrega).ToList(); /// Apagando os Medidores do Ponto de Entrega foreach (Medidor medidor_bd in medidores_ponto_entrega) { UnitOfWork.MedidoresRepository.Delete(medidor_bd); } /* if (PontoEntregaReceived.Medidores != null) * { * foreach (MedidorView medidor_view in PontoEntregaReceived.Medidores) * { * /// Inserindo os Medidores * UnitOfWork.MedidoresRepository.Insert(new Medidor * { * IdPontoEntrega = medidor_view.IdPontoEntrega, * NumeroMedidor = medidor_view.NumeroMedidor, * ComplementoResidencial = medidor_view.ComplementoResidencial * }); * } * }*/ /// Apagando Fotos do ponto de Entrega List <FotoPontoEntrega> fotos_BD = UnitOfWork.FotoPontoEntregaRepository.Get(p => p.IdPontoEntrega == PontoEntregaReceived.IdPontoEntrega).ToList(); foreach (FotoPontoEntrega foto_bd in fotos_BD) { UnitOfWork.FotoPontoEntregaRepository.Delete(foto_bd); } if (PontoEntregaReceived.Fotos != null) { foreach (FotoPontoEntregaView foto in PontoEntregaReceived.Fotos) { /// Nao deve Vim foto_view.DataFoto vazio mas se vim nao quebra o codigo DateTime DataDiretorio = foto.DataFoto != String.Empty ? Convert.ToDateTime(foto.DataFoto) : DateTime.Now; String Data = DataDiretorio.ToString("ddMMyyyy"); UnitOfWork.FotoPontoEntregaRepository.Insert( new FotoPontoEntrega() { CodigoGeoBD = -1, DataFoto = Convert.ToDateTime(foto.DataFoto), IdPontoEntrega = PontoEntregaReceived.IdPontoEntrega, NumeroFoto = foto.NumeroFoto.Trim(), DataExclusao = null, Path = string.Format(ConfigurationManager.AppSettings["NewPathFotos"], cidade.CidadeDiretorio, Data, User.Identity.Name.ToUpper(), foto.NumeroFoto.Trim().ToUpper()) }); } } //Salvando as Alteraçoes UnitOfWork.Save(); #endregion } else { #region Novo Ponto de Entrega PontoEntrega new_ponto_entrega = new PontoEntrega(); new_ponto_entrega.IdPoste = PontoEntregaReceived.IdPoste; new_ponto_entrega.CodigoGeoBD = PontoEntregaReceived.CodigoGeoBD; // new_ponto_entrega.Status = PontoEntregaReceived.Status; // new_ponto_entrega.ClasseAtendimento = PontoEntregaReceived.ClasseAtendimento; // new_ponto_entrega.TipoConstrucao = PontoEntregaReceived.TipoConstrucao; new_ponto_entrega.Numero = PontoEntregaReceived.Numero; new_ponto_entrega.ClasseSocial = PontoEntregaReceived.ClasseSocial; // new_ponto_entrega.Logradouro = PontoEntregaReceived.Logradouro; // new_ponto_entrega.Fase = PontoEntregaReceived.Fase; // new_ponto_entrega.EtLigacao = PontoEntregaReceived.EtLigacao; // new_ponto_entrega.Observacao = PontoEntregaReceived.Observacao; new_ponto_entrega.X = utm.X; new_ponto_entrega.Y = utm.Y; /// Atualizando o Ponto Entrega UnitOfWork.PontoEntregaRepository.Insert(new_ponto_entrega); /* if (PontoEntregaReceived.Medidores != null) * { * foreach (MedidorView medidor_view in PontoEntregaReceived.Medidores) * { * /// Inserindo os Medidores * UnitOfWork.MedidoresRepository.Insert(new Medidor * { * IdPontoEntrega = new_ponto_entrega.IdPontoEntrega, * NumeroMedidor = medidor_view.NumeroMedidor, * ComplementoResidencial = medidor_view.ComplementoResidencial * }); * } * }*/ foreach (FotoPontoEntregaView foto in PontoEntregaReceived.Fotos) { /// Nao deve Vim foto_view.DataFoto vazio mas se vim nao quebra o codigo DateTime DataDiretorio = foto.DataFoto != String.Empty ? Convert.ToDateTime(foto.DataFoto) : DateTime.Now; String Data = DataDiretorio.ToString("ddMMyyyy"); FotoPontoEntrega novaFoto = new FotoPontoEntrega(); novaFoto.CodigoGeoBD = -1; novaFoto.DataFoto = Convert.ToDateTime(foto.DataFoto); novaFoto.IdPontoEntrega = new_ponto_entrega.IdPontoEntrega; novaFoto.NumeroFoto = foto.NumeroFoto.Trim(); novaFoto.DataExclusao = null; novaFoto.Path = string.Format(ConfigurationManager.AppSettings["NewPathFotos"], cidade.CidadeDiretorio, Data, User.Identity.Name.ToUpper(), foto.NumeroFoto.Trim().ToUpper()); novaFoto.PontoEntrega = new_ponto_entrega; UnitOfWork.FotoPontoEntregaRepository.Insert(novaFoto); } //Salvando as Alteraçoes UnitOfWork.Save(); #endregion } return(Json(new ResponseView() { Status = Status.OK, Result = Resources.Messages.Save_OK }, JsonRequestBehavior.AllowGet)); } else { return(Json(new ResponseView() { Status = Status.NOK, Result = Resources.Messages.Error_Save_Changes }, JsonRequestBehavior.AllowGet)); } }
public ActionResult SalvarPontoEntregaNovo(PontoEntregaView PontoEntregaReceived) { Cidade Cidade = UnitOfWork.CidadeRepository.Get(c => c.IdCidade == PontoEntregaReceived.IdCidade).FirstOrDefault(); if (Cidade != null) { double latPonto = Double.Parse(PontoEntregaReceived.LatitudeTexto, System.Globalization.CultureInfo.InvariantCulture); double lonPonto = Double.Parse(PontoEntregaReceived.LongitudeTexto, System.Globalization.CultureInfo.InvariantCulture); //double latPoste = Double.Parse(PontoEntregaReceived.LatitudePosteTexto, System.Globalization.CultureInfo.InvariantCulture); // double lonPoste = Double.Parse(PontoEntregaReceived.LongitudePosteTexto, System.Globalization.CultureInfo.InvariantCulture); OrdemDeServico ordemServico = UnitOfWork.OrdemDeServicoRepository.Get(or => or.NumeroOS == PontoEntregaReceived.IdOrdemServicoTexto).FirstOrDefault(); ConverterLatLonToUtm converter = new ConverterLatLonToUtm(Cidade.Datum, Cidade.NorteOuSul, Cidade.Zona); UTM utmPonto = converter.Convert(latPonto, lonPonto); // UTM utmPoste = converter.Convert(latPoste, lonPoste); PontoEntrega new_ponto_entrega = new PontoEntrega(); new_ponto_entrega.IdCidade = PontoEntregaReceived.IdCidade; new_ponto_entrega.IdPoste = PontoEntregaReceived.IdPoste; new_ponto_entrega.CodigoGeoBD = PontoEntregaReceived.CodigoGeoBD; new_ponto_entrega.Complemento1 = PontoEntregaReceived.Complemento1; // new_ponto_entrega.ClasseAtendimento = PontoEntregaReceived.ClasseAtendimento; // new_ponto_entrega.TipoConstrucao = PontoEntregaReceived.TipoConstrucao; new_ponto_entrega.Numero = PontoEntregaReceived.Numero; new_ponto_entrega.ClasseSocial = PontoEntregaReceived.ClasseSocial; // new_ponto_entrega.Logradouro = PontoEntregaReceived.Logradouro; // new_ponto_entrega.Fase = PontoEntregaReceived.Fase; // new_ponto_entrega.EtLigacao = PontoEntregaReceived.EtLigacao; // new_ponto_entrega.Observacao = PontoEntregaReceived.Observacao; new_ponto_entrega.X = utmPonto.X; new_ponto_entrega.Y = utmPonto.Y; new_ponto_entrega.IdOrdemDeServico = ordemServico.IdOrdemDeServico; new_ponto_entrega.DataInclusao = DateTime.Now; new_ponto_entrega.Classificacao = PontoEntregaReceived.Classificacao; new_ponto_entrega.Ocorrencia = PontoEntregaReceived.Ocorrencia; new_ponto_entrega.QtdDomicilio = PontoEntregaReceived.QtdDomicilio; new_ponto_entrega.QtdSalas = PontoEntregaReceived.QtdDomicilioComercio; new_ponto_entrega.NumeroAndaresEdificio = PontoEntregaReceived.NumeroAndaresEdificio; new_ponto_entrega.TotalApartamentosEdificio = PontoEntregaReceived.TotalApartamentosEdificio; new_ponto_entrega.NomeEdificio = PontoEntregaReceived.NomeEdificio; new_ponto_entrega.QtdBlocos = PontoEntregaReceived.QtdBlocos; new_ponto_entrega.TipoComercio = PontoEntregaReceived.ClassificacaoComercio; /// Atualizando o Ponto Entrega UnitOfWork.PontoEntregaRepository.Insert(new_ponto_entrega); /* if (PontoEntregaReceived.Medidores != null) * { * foreach (MedidorView medidor_view in PontoEntregaReceived.Medidores) * { * /// Inserindo os Medidores * UnitOfWork.MedidoresRepository.Insert(new Medidor * { * IdPontoEntrega = new_ponto_entrega.IdPontoEntrega, * NumeroMedidor = medidor_view.NumeroMedidor, * ComplementoResidencial = medidor_view.ComplementoResidencial * }); * } * }*/ /* foreach (FotoPontoEntregaView foto in PontoEntregaReceived.Fotos) * { * /// Nao deve Vim foto_view.DataFoto vazio mas se vim nao quebra o codigo * DateTime DataDiretorio = foto.DataFoto != String.Empty ? Convert.ToDateTime(foto.DataFoto) : DateTime.Now; * String Data = DataDiretorio.ToString("ddMMyyyy"); * * FotoPontoEntrega novaFoto = new FotoPontoEntrega(); * novaFoto.CodigoGeoBD = -1; * novaFoto.DataFoto = Convert.ToDateTime(foto.DataFoto); * novaFoto.IdPontoEntrega = new_ponto_entrega.IdPontoEntrega; * novaFoto.NumeroFoto = foto.NumeroFoto.Trim(); * novaFoto.DataExclusao = null; * novaFoto.Path = string.Format(ConfigurationManager.AppSettings["NewPathFotos"], Cidade.CidadeDiretorio, Data, User.Identity.Name.ToUpper(), foto.NumeroFoto.Trim().ToUpper()); * novaFoto.PontoEntrega = new_ponto_entrega; * * UnitOfWork.FotoPontoEntregaRepository.Insert(novaFoto); * }*/ UnitOfWork.Save(); PontoEntrega pontoEntrega = UnitOfWork.PontoEntregaRepository.Get(p => p.IdPontoEntrega == new_ponto_entrega.IdPontoEntrega).FirstOrDefault(); Poste Poste = UnitOfWork.PosteRepository.Get(p => p.IdPoste == PontoEntregaReceived.IdPoste).FirstOrDefault(); if (Poste != null) { VaosDemandaPoste vaosDemandaPoste = new VaosDemandaPoste { IdCidade = PontoEntregaReceived.IdCidade, IdOrdemDeServico = ordemServico.IdOrdemDeServico, IdPoste = PontoEntregaReceived.IdPoste, IdPontoEntrega = new_ponto_entrega.IdPontoEntrega, X1 = Poste.X, Y1 = Poste.Y, X2 = utmPonto.X, Y2 = utmPonto.Y, }; UnitOfWork.VaosDemandaPosteRepository.Insert(vaosDemandaPoste); UnitOfWork.Save(); VaosDemandaPoste VaosDemandaPoste = UnitOfWork.VaosDemandaPosteRepository.Get(v => v.IdVaosDemandaPoste == vaosDemandaPoste.IdVaosDemandaPoste).FirstOrDefault(); // return Json(new MetodosPontoEntregaView().PontoEntregaToPontoEntregaView(PontoEntrega), JsonRequestBehavior.AllowGet); return(Json(new { Demanda = new MetodosPontoEntregaView().PontoEntregaToPontoEntregaView(pontoEntrega), VaoDemandaPoste = new VaosDemandasPaginadoView().VaoToVaoView(VaosDemandaPoste) }, JsonRequestBehavior.AllowGet)); } else { return(Json(new { Demanda = new MetodosPontoEntregaView().PontoEntregaToPontoEntregaView(pontoEntrega) }, JsonRequestBehavior.AllowGet)); } } else { return(Json(new ResponseView() { Status = Status.NotFound, Result = "Cidade nao encontrada" }, JsonRequestBehavior.AllowGet)); } }
public HttpResponseMessage Add(IPEditAPI IP) { /// Validando o IP ICollection <ValidationResult> results; if (IP.TryValidate(out results)) { Poste PosteBD = UnitOfWork.PosteRepository.Get(os => os.IdPoste == IP.IdPoste, includeProperties: "Cidade").FirstOrDefault(); if (PosteBD != null) { // Salvando a posição do Mobile no momento da Edição do poste UTM posicaoAtualizacao = new ConverterLatLonToUtm(PosteBD.Cidade.Datum, PosteBD.Cidade.NorteOuSul, PosteBD.Cidade.Zona).Convert(IP.LatAtualizacao, IP.LonAtualizacao); PosteBD.XAtualizacao = posicaoAtualizacao.X; PosteBD.YAtualizacao = posicaoAtualizacao.Y; IP IPAux = new IP() { Poste = PosteBD, TipoBraco = IP.TipoBraco, TipoLuminaria = IP.TipoLuminaria, QtdLuminaria = IP.QtdLuminaria, TipoLampada = IP.TipoLampada, Potencia = IP.Potencia, CodigoGeoBD = -1, Acionamento = IP.Acionamento, LampadaAcesa = IP.LampadaAcesa, Fase = IP.Fase, QtdLampada = IP.QtdLampada }; UnitOfWork.IPRepository.Insert(IPAux); UnitOfWork.Save(); return(Request.CreateResponse(HttpStatusCode.OK, new ResponseApi() { Status = Status.OK, Message = Resources.Messages.Save_OK, Results = new { IdIp = IPAux.IdIp, IdPoste = IPAux.IdPoste, TipoBraco = IPAux.TipoBraco, TipoLuminaria = IPAux.TipoLuminaria, QtdLuminaria = IPAux.QtdLuminaria, TipoLampada = IPAux.TipoLampada, Potencia = IPAux.Potencia, Fase = IPAux.Fase, Acionamento = IPAux.Acionamento, LampadaAcesa = IPAux.LampadaAcesa, QtdLampada = IPAux.QtdLampada } })); } else { return(Request.CreateResponse(HttpStatusCode.OK, new ResponseApi() { Status = Status.NOK, Message = Resources.Messages.Poste_Not_Found })); } } else { string MessageValidate = string.Empty; foreach (var validationResult in results) { MessageValidate += validationResult.ErrorMessage; } return(Request.CreateResponse(HttpStatusCode.OK, new ResponseApi() { Status = Status.NOK, Message = MessageValidate })); } }
public HttpResponseMessage Edit(IPEditAPI IP) { /// Validando o IP ICollection <ValidationResult> results; if (IP.TryValidate(out results)) { IP IpDB = UnitOfWork.IPRepository.Get(ip => ip.IdIp == IP.IdIp && ip.DataExclusao == null, includeProperties: "Poste.Cidade").FirstOrDefault(); if (IpDB != null) { //Atribuindo os novos valores da Edicao IpDB.TipoBraco = IP.TipoBraco; IpDB.TipoLuminaria = IP.TipoLuminaria; IpDB.QtdLuminaria = IP.QtdLuminaria; IpDB.TipoLampada = IP.TipoLampada; IpDB.Potencia = IP.Potencia; IpDB.Fase = IP.Fase; IpDB.Acionamento = IP.Acionamento; IpDB.LampadaAcesa = IP.LampadaAcesa; IpDB.QtdLampada = IP.QtdLampada; // Salvando a posição do Mobile no momento da Edição do poste UTM posicaoAtualizacao = new ConverterLatLonToUtm(IpDB.Poste.Cidade.Datum, IpDB.Poste.Cidade.NorteOuSul, IpDB.Poste.Cidade.Zona).Convert(IP.LatAtualizacao, IP.LonAtualizacao); IpDB.Poste.XAtualizacao = posicaoAtualizacao.X; IpDB.Poste.YAtualizacao = posicaoAtualizacao.Y; UnitOfWork.IPRepository.Update(IpDB); UnitOfWork.Save(); //Commit return(Request.CreateResponse(HttpStatusCode.OK, new ResponseApi() { Status = Status.OK, Message = Resources.Messages.Save_OK, Results = new { IdIp = IpDB.IdIp, IdPoste = IpDB.IdPoste, TipoBraco = IpDB.TipoBraco, TipoLuminaria = IpDB.TipoLuminaria, QtdLuminaria = IpDB.QtdLuminaria, TipoLampada = IpDB.TipoLampada, Potencia = IpDB.Potencia, Fase = IpDB.Fase, Acionamento = IpDB.Acionamento, LampadaAcesa = IpDB.LampadaAcesa, QtdLampada = IpDB.QtdLampada } })); } else { return(Request.CreateResponse(HttpStatusCode.OK, new ResponseApi() { Status = Status.NOK, Message = Resources.Messages.Ip_Not_Found })); } } else { string MessageValidate = string.Empty; foreach (var validationResult in results) { MessageValidate += validationResult.ErrorMessage + "-"; } return(Request.CreateResponse(HttpStatusCode.OK, new ResponseApi() { Status = Status.NOK, Message = MessageValidate.Remove(MessageValidate.Length - 1) })); } }
public HttpResponseMessage Add(TransformadorEditAPI Transformador) { /// Validando o IP ICollection <ValidationResult> results; if (Transformador.TryValidate(out results)) { Poste PosteBD = UnitOfWork.PosteRepository.Get(os => os.IdPoste == Transformador.IdPoste, includeProperties: "Cidade").FirstOrDefault(); if (PosteBD != null) { // Salvando a posição do Mobile no momento da Edição do poste UTM posicaoAtualizacao = new ConverterLatLonToUtm(PosteBD.Cidade.Datum, PosteBD.Cidade.NorteOuSul, PosteBD.Cidade.Zona).Convert(Transformador.LatAtualizacao, Transformador.LonAtualizacao); PosteBD.XAtualizacao = posicaoAtualizacao.X; PosteBD.YAtualizacao = posicaoAtualizacao.Y; Transformador TransformadorAux = new Transformador() { Poste = PosteBD, CodigoGeoBD = Transformador.CodigoGeoBD, Status = Transformador.Status, Proprietario = Transformador.Proprietario, Fase = Transformador.Fase, NumeroCampo = Transformador.NumeroCampo, PotenciaTotal = Transformador.PotenciaTotal, TipoLigacao = Transformador.TipoLigacao, TensaoNominal = Transformador.TensaoNominal, TipoInstalacao = Transformador.TipoInstalacao, CortaCircuito = Transformador.CortaCircuito, Descricao = Transformador.Descricao, NumeroEquipamento = Transformador.NumeroEquipamento }; UnitOfWork.TransformadorRepository.Insert(TransformadorAux); UnitOfWork.Save(); return(Request.CreateResponse(HttpStatusCode.OK, new ResponseApi() { Status = Status.OK, Message = Resources.Messages.Save_OK, Results = new { IdTransformador = TransformadorAux.IdTransformador, IdPoste = TransformadorAux.IdPoste, CodigoGeoBD = TransformadorAux.CodigoGeoBD, Status = TransformadorAux.Status, Proprietario = TransformadorAux.Proprietario, Fase = TransformadorAux.Fase, NumeroCampo = TransformadorAux.NumeroCampo, PotenciaTotal = TransformadorAux.PotenciaTotal, TipoLigacao = TransformadorAux.TipoLigacao, TensaoNominal = TransformadorAux.TensaoNominal, TipoInstalacao = TransformadorAux.TipoInstalacao, CortaCircuito = TransformadorAux.CortaCircuito, Descricao = TransformadorAux.Descricao, NumeroEquipamento = TransformadorAux.NumeroEquipamento } })); } else { return(Request.CreateResponse(HttpStatusCode.OK, new ResponseApi() { Status = Status.NOK, Message = Resources.Messages.Poste_Not_Found })); } } else { string MessageValidate = string.Empty; foreach (var validationResult in results) { MessageValidate += validationResult.ErrorMessage; } return(Request.CreateResponse(HttpStatusCode.OK, new ResponseApi() { Status = Status.NOK, Message = MessageValidate })); } }
public HttpResponseMessage Edit(TransformadorEditAPI Transformador) { /// Validando o Transformador ICollection <ValidationResult> results; if (Transformador.TryValidate(out results)) { Transformador TransformadorDB = UnitOfWork.TransformadorRepository.Get(trf => trf.IdTransformador == Transformador.IdTransformador && trf.DataExclusao == null, includeProperties: "Poste.Cidade").FirstOrDefault(); if (TransformadorDB != null) { //Atribuindo os novos valores da Edicao TransformadorDB.CodigoGeoBD = Transformador.CodigoGeoBD; TransformadorDB.Status = Transformador.Status; TransformadorDB.Proprietario = Transformador.Proprietario; TransformadorDB.Fase = Transformador.Fase; TransformadorDB.NumeroCampo = Transformador.NumeroCampo; TransformadorDB.PotenciaTotal = Transformador.PotenciaTotal; TransformadorDB.TipoLigacao = Transformador.TipoLigacao; TransformadorDB.TensaoNominal = Transformador.TensaoNominal; TransformadorDB.TipoInstalacao = Transformador.TipoInstalacao; TransformadorDB.CortaCircuito = Transformador.CortaCircuito; TransformadorDB.Descricao = Transformador.Descricao; TransformadorDB.NumeroEquipamento = Transformador.NumeroEquipamento; // Salvando a posição do Mobile no momento da Edição do poste UTM posicaoAtualizacao = new ConverterLatLonToUtm(TransformadorDB.Poste.Cidade.Datum, TransformadorDB.Poste.Cidade.NorteOuSul, TransformadorDB.Poste.Cidade.Zona).Convert(Transformador.LatAtualizacao, Transformador.LonAtualizacao); TransformadorDB.Poste.XAtualizacao = posicaoAtualizacao.X; TransformadorDB.Poste.YAtualizacao = posicaoAtualizacao.Y; UnitOfWork.TransformadorRepository.Update(TransformadorDB); UnitOfWork.Save(); //Commit return(Request.CreateResponse(HttpStatusCode.OK, new ResponseApi() { Status = Status.OK, Message = Resources.Messages.Save_OK, Results = new { IdTransformador = TransformadorDB.IdTransformador, IdPoste = TransformadorDB.IdPoste, CodigoGeoBD = TransformadorDB.CodigoGeoBD, Status = TransformadorDB.Status, Proprietario = TransformadorDB.Proprietario, Fase = TransformadorDB.Fase, NumeroCampo = TransformadorDB.NumeroCampo, PotenciaTotal = TransformadorDB.PotenciaTotal, TipoLigacao = TransformadorDB.TipoLigacao, TensaoNominal = TransformadorDB.TensaoNominal, TipoInstalacao = TransformadorDB.TipoInstalacao, CortaCircuito = TransformadorDB.CortaCircuito, Descricao = TransformadorDB.Descricao, NumeroEquipamento = TransformadorDB.NumeroEquipamento } })); } else { return(Request.CreateResponse(HttpStatusCode.OK, new ResponseApi() { Status = Status.NOK, Message = Resources.Messages.Transformador_Not_Found })); } } else { string MessageValidate = string.Empty; foreach (var validationResult in results) { MessageValidate += validationResult.ErrorMessage + "-"; } return(Request.CreateResponse(HttpStatusCode.OK, new ResponseApi() { Status = Status.NOK, Message = MessageValidate.Remove(MessageValidate.Length - 1) })); } }
public void Conversor_UTM_To_LatLon() { LatLon ll = new ConverterUtmToLatLon(Datum.WGS_84, NorteOuSul.S, 23).Convert(613362.38, 7801565.459); UTM utm = new ConverterLatLonToUtm(Datum.WGS_84, NorteOuSul.S, 23).Convert(ll.Lat, ll.Lon); }
public ActionResult CriarOsPeloSite(string[] latlons, string[] PostesSelecionados, string[] StrandsSelecionados, int IdCidade, string NomeOrdem, string IdUsuario, SituacaoOrdemServico Situacao, string Observacao) { ConverterLatLonToUtm converter = null; var cidade = UnitOfWork.CidadeRepository.Get(id => id.IdCidade == IdCidade).FirstOrDefault(); if (cidade != null) { converter = new ConverterLatLonToUtm(cidade.Datum, cidade.NorteOuSul, cidade.Zona); } OrdemDeServico OrdemDeServico = new OrdemDeServico() { IdCidade = IdCidade, IdUsuario = IdUsuario, Observacao = Observacao, NumeroOS = NomeOrdem, Situacao = Situacao, DataInicio = DateTime.Now }; UnitOfWork.OrdemDeServicoRepository.Insert(OrdemDeServico); UnitOfWork.Save(); if (PostesSelecionados != null) { for (int i = 0; i < PostesSelecionados.Length; i++) { long idP = Convert.ToInt64(PostesSelecionados[i]); //Realoca Poste para nova OS var posteselect = UnitOfWork.PosteRepository.Get(id => id.IdPoste == idP).FirstOrDefault(); if (posteselect != null) { posteselect.IdOrdemDeServico = OrdemDeServico.IdOrdemDeServico; } //Realoca Poste para nova OS var demanda = UnitOfWork.PontoEntregaRepository.Get(id => id.IdPoste == idP).ToList(); foreach (var item in demanda) { item.IdOrdemDeServico = OrdemDeServico.IdOrdemDeServico; } //Realoca VaosDemandas para nova OS var vao = UnitOfWork.VaosDemandaPosteRepository.Get(id => id.IdPoste == idP).ToList(); foreach (var item in vao) { item.IdOrdemDeServico = OrdemDeServico.IdOrdemDeServico; } // (vao != null) //{ // vao.IdOrdemDeServico = OrdemDeServico.IdOrdemDeServico; //} } UnitOfWork.Save(); } if (StrandsSelecionados != null) { for (int i = 0; i < StrandsSelecionados.Length; i++) { long idS = Convert.ToInt64(StrandsSelecionados[i]); var strandSelect = UnitOfWork.DemandaStrandRepository.Get(id => id.ID == idS).FirstOrDefault(); if (strandSelect != null) { strandSelect.IdOrdemDeServico = OrdemDeServico.IdOrdemDeServico; } } UnitOfWork.Save(); } int ordem = -1; List <string> latlongs = new List <string>(); bool pode = false; double latInicio = 0, lonInicio = 0; double latPrimo = 0, lonPrimo = 0; List <double> lates = new List <double>(); for (int i = 0; i < latlons.Length; i++) { var x1y1 = latlons[i].Replace("(", "").Replace(")", "").Replace(" ", "").Split(','); for (int x = 0; x < x1y1.Length; x++) { double lastlons = Double.Parse(x1y1[x], System.Globalization.CultureInfo.InvariantCulture); // Console.WriteLine(lastlons.ToString(new System.Globalization.CultureInfo("en-US", true))); lates.Add(lastlons); } } int con = lates.Count(); int contadorFiel = con; int contador = 0; double latitude1 = 0, longitude1 = 0, latitude2 = 0, longitude2 = 0; for (int d = 0; d <= con; d++) { if (lonInicio == 0) { if (contador == 3) { longitude2 = lates[d]; contador++; pode = true; contador = 5; } if (contador == 2) { latitude2 = lates[d]; contador++; } if (contador == 1) { longitude1 = lates[d]; contador++; } if (contador == 0) { latitude1 = lates[d]; contador++; } } else { if (contadorFiel > d) { bool sovai = false; if (contador == 1) { longitude1 = lates[d]; contador++; pode = false; sovai = true; } if (contador == 0) { latitude1 = lates[d]; contador++; } if (sovai) { UTM lonIni = converter.Convert(latInicio, lonInicio); UTM latvem = converter.Convert(latitude1, longitude1); ordem++; PoligonoOS PoligonoOS = new PoligonoOS() { IdOrdemDeServico = OrdemDeServico.IdOrdemDeServico, Ordem = ordem, X1 = latInicio, Y1 = lonInicio, X2 = latvem.X, Y2 = latvem.Y, }; UnitOfWork.PoligonoOSRepository.Insert(PoligonoOS); UnitOfWork.Save(); latInicio = latvem.X; lonInicio = latvem.Y; contador = 0; } } else { ordem++; PoligonoOS PoligonoOS = new PoligonoOS() { IdOrdemDeServico = OrdemDeServico.IdOrdemDeServico, Ordem = ordem, X1 = latInicio, Y1 = lonInicio, X2 = latPrimo, Y2 = lonPrimo }; UnitOfWork.PoligonoOSRepository.Insert(PoligonoOS); UnitOfWork.Save(); } } if (pode) { UTM xy1 = converter.Convert(latitude1, longitude1); UTM xy2 = converter.Convert(latitude2, longitude2); if (latInicio == 0) { ordem++; PoligonoOS PoligonoOS = new PoligonoOS() { IdOrdemDeServico = OrdemDeServico.IdOrdemDeServico, Ordem = ordem, X1 = xy1.X, Y1 = xy1.Y, X2 = xy2.X, Y2 = xy2.Y, }; UnitOfWork.PoligonoOSRepository.Insert(PoligonoOS); UnitOfWork.Save(); } latInicio = xy2.X; lonInicio = xy2.Y; contador = 0; pode = false; if (lonPrimo == 0) { latPrimo = xy1.X; lonPrimo = xy1.Y; } } } OrdemDeServico OrdemBd = UnitOfWork.OrdemDeServicoRepository.Get(or => or.IdOrdemDeServico == OrdemDeServico.IdOrdemDeServico).FirstOrDefault(); //OrdemServicoView OrdemServicoView = new OrdemServicoView().GetOSByNum(OrdemBd); // return Json(new {Ordem = new OrdemServicoView().GetOSByNum(OrdemBd)}, JsonRequestBehavior.AllowGet); return(Json(new ResponseView() { Status = Status.OK, Result = Resources.Messages.Save_OK }, JsonRequestBehavior.AllowGet)); }