Ejemplo n.º 1
0
        public ActionResult GetPosteById(long IdPoste)
        {
            Poste     poste = UnitOfWork.PosteRepository.Get(p => p.IdPoste == IdPoste && p.DataExclusao == null, includeProperties: "Cidade").FirstOrDefault();
            FotoPoste foto  = UnitOfWork.FotoPosteRepository.Get(f => f.IdPoste == IdPoste && f.DataExclusao == null).FirstOrDefault();

            PosteView posteview = new MetodosPosteView().PostetoPosteView(poste);

            LatLon LatLong = new ConverterUtmToLatLon(poste.Cidade.Datum, poste.Cidade.NorteOuSul, poste.Cidade.Zona).Convert(poste.X, poste.Y);

            //Object poste_return = new
            //{
            //    IdPoste = poste.IdPoste,
            //    Latitude = LatLong.Lat,
            //    Longitude = LatLong.Lon,
            //    //Img = poste.Finalizado == true ? "03" : "08",
            //    Img = poste.Finalizado == true ? "10" : "08",
            //    IdCidade = poste.IdCidade,
            //    CodGeo = poste.CodigoGeo,
            //    Altura = poste.Altura,
            //    TipoPoste = poste.TipoPoste,
            //    Esforco = poste.Esforco,
            //    Descricao = poste.Descricao
            //};

            return(Json(posteview, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 2
0
        public void PosteFull(long IdFoto)
        {
            FotoPoste fotos = UnitOfWork.FotoPosteRepository.Get(f => f.IdFotoPoste == IdFoto).FirstOrDefault();

            if (fotos != null && System.IO.File.Exists(fotos.Path))
            {
                new WebImage(fotos.Path).Resize(1024, 1024).Write();
            }
            else
            {
                new WebImage("~/Images/no-image-available.png").Resize(200, 200).Write();
            }
        }
Ejemplo n.º 3
0
        public void Add_IMG_Poste()
        {
            OrdemDeServico OS = unitOfWork.OrdemDeServicoRepository.Get(os => os.NumeroOS == NUMOS).FirstOrDefault();

            Assert.IsNotNull(OS);

            Poste poste = unitOfWork.PosteRepository.Get(p => p.OrdemDeServico.IdOrdemDeServico == OS.IdOrdemDeServico).FirstOrDefault();

            poste.Fotos.Add(new FotoPoste()
            {
                CodigoGeoBD = 007, NumeroFoto = "007COD", Path = "C:\\Users\\mcaraujo\\Desktop\\imgTeste.png", Poste = poste
            });
            unitOfWork.PosteRepository.Update(poste);
            unitOfWork.Save();

            FotoPoste fotoPoste = unitOfWork.PosteRepository.Get(p => p.OrdemDeServico.IdOrdemDeServico == OS.IdOrdemDeServico).FirstOrDefault().Fotos.FirstOrDefault();

            Assert.IsNotNull(fotoPoste);
        }
Ejemplo n.º 4
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)
                }));
            }
        }
Ejemplo n.º 5
0
        public ActionResult SalvarEdicaoPoste(PosteJs objeto_poste)
        {
            Poste posteBd = UnitOfWork.PosteRepository.Get(pp => pp.IdPoste == objeto_poste.IdPoste && pp.DataExclusao == null, includeProperties: "OrdemDeServico,Cidade").FirstOrDefault();

            if (posteBd != null)
            {
                List <FotoPoste> fotosPoste = UnitOfWork.FotoPosteRepository.Get(f => f.IdPoste == objeto_poste.IdPoste).ToList();

                foreach (FotoPoste f in fotosPoste)
                {
                    UnitOfWork.FotoPosteRepository.Delete(f);
                }

                if (objeto_poste.LstFoto != null && objeto_poste.LstFoto.Count > 0)
                {
                    foreach (FotoView foto_view in objeto_poste.LstFoto)
                    {
                        if (!String.IsNullOrEmpty(foto_view.NumeroFoto.Trim()))
                        {
                            /// Nao deve Vim foto_view.DataFoto vazio mas se vim nao quebra o codigo
                            DateTime DataDiretorio = foto_view.DataFoto != String.Empty ? Convert.ToDateTime(foto_view.DataFoto) : DateTime.Now;
                            String   Data          = DataDiretorio.ToString("ddMMyyyy");

                            FotoPoste ft = new FotoPoste
                            {
                                CodigoGeoBD = -1,
                                IdPoste     = objeto_poste.IdPoste,
                                NumeroFoto  = foto_view.NumeroFoto.Trim().ToUpper(),
                                DataFoto    = DataDiretorio,
                                Path        = string.Format(ConfigurationManager.AppSettings["NewPathFotos"], posteBd.Cidade.CidadeDiretorio, Data, User.Identity.Name.ToUpper(), foto_view.NumeroFoto.Trim().ToUpper())
                            };

                            UnitOfWork.FotoPosteRepository.Insert(ft);
                        }
                    }
                }

                // 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.Altura               = objeto_poste.Altura;
                posteBd.Esforco              = objeto_poste.Esforco != null ? objeto_poste.Esforco : 0;
                posteBd.TipoPoste            = objeto_poste.TipoPoste;
                posteBd.encontrado           = objeto_poste.EncontradoPoste;
                posteBd.para_raio            = objeto_poste.PararioPoste;
                posteBd.aterramento          = objeto_poste.AterramentoPoste;
                posteBd.estrutura_primaria   = objeto_poste.EstruturaPrimariaPoste;
                posteBd.estrutura_secundaria = objeto_poste.EstruturaSecundaria_poste;
                posteBd.qtd_estai            = objeto_poste.QuantidadeEstai;
                posteBd.ano           = objeto_poste.AnoPoste;
                posteBd.situacao      = objeto_poste.SituacaoPoste;
                posteBd.equipamento1  = objeto_poste.EquipamentoPoste;
                posteBd.mufla         = objeto_poste.MuflaPoste;
                posteBd.rede_primaria = objeto_poste.RedePrimarioPoste;
                posteBd.defeito       = objeto_poste.DefeitoPoste;
                posteBd.barramento    = objeto_poste.BarramentoPoste;

                //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();

                return(Json(new ResponseView()
                {
                    Status = Status.OK, Result = Resources.Messages.Save_OK
                }, JsonRequestBehavior.AllowGet));
            }
            else
            {
                return(Json(new ResponseView()
                {
                    Status = Status.NotFound, Result = Resources.Messages.Poste_Not_Found
                }, JsonRequestBehavior.AllowGet));
            }
        }