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