コード例 #1
0
        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
                }));
            }
        }
コード例 #2
0
        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));
            }
        }
コード例 #3
0
        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));
            }
        }
コード例 #4
0
        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));
            }
        }
コード例 #5
0
        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));
            }
        }
コード例 #6
0
        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));
            }
        }
コード例 #7
0
        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
                }));
            }
        }
コード例 #8
0
        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)
                }));
            }
        }
コード例 #9
0
        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));
            }
        }
コード例 #10
0
        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));
            }
        }
コード例 #11
0
        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
                }));
            }
        }
コード例 #12
0
        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)
                }));
            }
        }
コード例 #13
0
        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
                }));
            }
        }
コード例 #14
0
        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)
                }));
            }
        }
コード例 #15
0
ファイル: TestConversor.cs プロジェクト: csjfnc/gio
 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);
 }
コード例 #16
0
        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));
        }