public async Task <IActionResult> Get(string Token) { var TokenApi = new Token { TokenDef = _config.GetValue <string>("Token:TokenDef") }; if (TokenApi.TokenDef != Token) { return(this.StatusCode(StatusCodes.Status401Unauthorized, $"O Token informado não é autorizado.")); } try { var Parceiros = await _repo.GetAllParceirosAsync(); if (Parceiros.Count() == 0) { return(NoContent()); } return(Ok(Parceiros)); } catch (System.Exception ex) { return(this.StatusCode(StatusCodes.Status500InternalServerError, $"Ocorreu um erro no banco de Dados.{ex.Message}")); } }
public async Task <IActionResult> Get(string Token) { var TokenApi = new Token { TokenDef = _config.GetValue <string>("Token:TokenDef") }; if (TokenApi.TokenDef != Token) { return(this.StatusCode(StatusCodes.Status401Unauthorized, $"O Token informado não é autorizado.")); } try { var controleArquivosXml = await _repo.GetAllControleAquivoXMLAsync(); var parceiros = await _repo.GetAllParceirosAsync(); foreach (var parceiro in parceiros) { var controle = controleArquivosXml.Where(x => x.ParceiroId == parceiro.Id).FirstOrDefault(); if (controle != null) { controle.FlagArquivoXML = false; controle.DataSolicitacao = DateTime.Now; controle.Mensagem = $"Iniciado processo de criação do arquivo para o parceiro: {controle.oParceiro.Nome} na data: {DateTime.Now.ToString("dd/MM/yyyy")}."; _repo.Update(controle); await _repo.SaveChangesAsync(); } else { var controleNew = new ControleArquivoXML(); controleNew.ParceiroId = parceiro.Id; controleNew.FlagArquivoXML = false; controleNew.DataSolicitacao = DateTime.Now; controleNew.Mensagem = $"Iniciado processo de criação do arquivo para o parceiro: {parceiro.Nome} na data: {DateTime.Now.ToString("dd/MM/yyyy")}."; _repo.Add(controleNew); await _repo.SaveChangesAsync(); } } Thread thread = new Thread(GeraArquivosXML); thread.Start(); return(this.StatusCode(StatusCodes.Status200OK)); } catch (System.Exception ex) { return(this.StatusCode(StatusCodes.Status500InternalServerError, $"Ocorreu um erro no banco de Dados.{ex.Message}")); } }
public async Task <IActionResult> Get(string Token) { var TokenApi = new Token { TokenDef = _config.GetValue <string>("Token:TokenDef") }; if (TokenApi.TokenDef != Token) { return(this.StatusCode(StatusCodes.Status401Unauthorized, $"O Token informado não é autorizado.")); } try { var XMLs = await _repo.GetAllXMLsAsync(); var Cargas = await _repo.GetAllParceiroCargasAsync(); var Imoveis = await _repo.GetAllImoveisAtivosAsync(true); var Parceiros = await _repo.GetAllParceirosAsync(); var cargaSimples = 0; var cargaDestaque = 0; var cargaSuperDestaque = 0; if (XMLs.Count() == 0) { return(this.StatusCode(StatusCodes.Status204NoContent, $"Não há XMLs cadastrados para parceiros.")); } if (Imoveis.Count() == 0) { return(this.StatusCode(StatusCodes.Status500InternalServerError, $"Não há Imoveis Ativos.")); } foreach (var xml in XMLs) { var parceiroCarga = Cargas.Where(x => x.ParceiroId == xml.ParceiroId).FirstOrDefault(); var parceiro = Parceiros.Where(x => x.Id == xml.ParceiroId).FirstOrDefault(); cargaSimples = parceiroCarga.AnuncioSimples; cargaDestaque = parceiroCarga.Destaque; cargaSuperDestaque = parceiroCarga.SuperDestaque; var stringXML = new StringBuilder(); stringXML.AppendLine(xml.XmlImovelInicio); stringXML.AppendLine($""); foreach (var imovel in Imoveis) { //parte B var stringFotos = new StringBuilder(); var fotos = await _repo.GetAllVideosByImovelIdAsync(imovel.Id); if (fotos.Count() > 0) { stringFotos.AppendLine(xml.XmlFotosInicio); foreach (var foto in fotos) { stringFotos.AppendLine(xml.XmlFotosCorpo.Replace("@fotoNome", foto.Nome).Replace("@fotoLink", foto.Link)); } stringFotos.AppendLine(xml.XmlFotosFim); } var stringVideos = new StringBuilder(); var videos = await _repo.GetAllVideosByImovelIdAsync(imovel.Id); if (videos.Count() > 0) { stringVideos.AppendLine(xml.XmlVideosInicio); foreach (var video in videos) { stringVideos.AppendLine(xml.XmlVideosCorpo.Replace("@videoNome", video.Nome).Replace("@videoLink", video.Link)); } stringVideos.AppendLine(xml.XmlVideosFim); } var flagTipoCarga = parceiro.TagSimples; if (cargaDestaque > 0) { if (imovel.FlagDestaque != null && Convert.ToInt32(imovel.FlagSuperDestaque) > 0) { flagTipoCarga = parceiro.TagDestaque; cargaDestaque--; } } if (cargaSuperDestaque > 0) { if (imovel.FlagSuperDestaque != null && Convert.ToInt32(imovel.FlagSuperDestaque) > 0) { flagTipoCarga = parceiro.TagSuperDestaque; cargaSuperDestaque--; } } stringXML.AppendLine(xml.XmlImovelCorpo.Replace("@nome", imovel.Nome) .Replace("@referencia", imovel.Referencia) .Replace("@fotos", stringFotos.ToString()) .Replace("@videos", stringVideos.ToString()) .Replace("@descricao", imovel.Descricao) .Replace("@precoVenda", imovel.PrecoVenda.ToString()) .Replace("@precoCondominio", imovel.PrecoCondominio.ToString()) .Replace("@latitude", imovel.oEndereco.Latitude.ToString()) .Replace("@longitude", imovel.oEndereco.Longitude.ToString()) .Replace("@areaUtil", imovel.AreaUtil.ToString()) .Replace("@areaTotal", imovel.AreaTotal.ToString()) .Replace("@qtdDormitorios", imovel.QtdDormitorios.ToString()) .Replace("@qtdSuites", imovel.QtdSuites.ToString()) .Replace("@qtdBanheiros", imovel.QtdBanheiros.ToString()) .Replace("@qtdSalas", imovel.QtdSalas.ToString()) .Replace("@qtdVagas", imovel.QtdVagas.ToString()) .Replace("@qtdElevador", imovel.QtdElevador.ToString()) .Replace("@qtdUnidadesAndar", imovel.QtdUnidadesAndar.ToString()) .Replace("@anoConstrucao", imovel.AnoConstrucao.ToString()) .Replace("@armarioCozinha", Convert.ToInt32(imovel.ArmarioCozinha).ToString()) .Replace("@armarioEmbutido", Convert.ToInt32(imovel.ArmarioEmbutido).ToString()) .Replace("@estacionamentoVisitantes", Convert.ToInt32(imovel.EstacionamentoVisitantes).ToString()) .Replace("@piscina", Convert.ToInt32(imovel.Piscina).ToString()) .Replace("@quadraSquash", Convert.ToInt32(imovel.QuadraSquash).ToString()) .Replace("@quadraTenis", Convert.ToInt32(imovel.QuadraTenis).ToString()) .Replace("@quadraPoliesportiva", Convert.ToInt32(imovel.QuadraPoliesportiva).ToString()) .Replace("@salaGinastica", Convert.ToInt32(imovel.SalaGinastica).ToString()) .Replace("@salaoFestas", Convert.ToInt32(imovel.SalaoFestas).ToString()) .Replace("@salaoJogos", Convert.ToInt32(imovel.SalaoJogos).ToString()) .Replace("@sauna", Convert.ToInt32(imovel.Sauna).ToString()) .Replace("@varanda", Convert.ToInt32(imovel.Varanda).ToString()) .Replace("@lavabo", Convert.ToInt32(imovel.Lavabo).ToString()) .Replace("@depositoSubsolo", Convert.ToInt32(imovel.DepositoSubsolo).ToString()) .Replace("@closet", Convert.ToInt32(imovel.Closet).ToString()) .Replace("@hidromassagem", Convert.ToInt32(imovel.Hidromassagem).ToString()) .Replace("@lareira", Convert.ToInt32(imovel.Lareira).ToString()) .Replace("@andarInteiro", Convert.ToInt32(imovel.AndarInteiro).ToString()) .Replace("@meioAndar", Convert.ToInt32(imovel.MeioAndar).ToString()) .Replace("@salaAlmoco", Convert.ToInt32(imovel.SalaAlmoco).ToString()) .Replace("@salaJantar", Convert.ToInt32(imovel.SalaJantar).ToString()) .Replace("@salaIntima", Convert.ToInt32(imovel.SalaIntima).ToString()) .Replace("@brinquedoteca", Convert.ToInt32(imovel.Brinquedoteca).ToString()) .Replace("@playground", Convert.ToInt32(imovel.Playground).ToString()) .Replace("@tagTipoCarga", flagTipoCarga) .Replace("@logradouro", imovel.oEndereco.Logradouro.ToString()) .Replace("@numero", imovel.oEndereco.Numero.ToString()) .Replace("@bairro", imovel.oEndereco.Bairro.ToString()) .Replace("@cidade", imovel.oEndereco.Cidade.ToString()) .Replace("@uf", imovel.oEndereco.UF.ToString()) .Replace("@cep", imovel.oEndereco.CEP.ToString()) .Replace("@complemento", imovel.Complemento.ToString()) ); } stringXML.AppendLine($""); stringXML.AppendLine(xml.XmlImovelFim); //Falta a parte de salvar esse xml e enviar via FTP. } return(Ok()); } catch (System.Exception ex) { return(this.StatusCode(StatusCodes.Status500InternalServerError, $"Ocorreu um erro no banco de Dados.{ex.Message}")); } }