private void detach_RelatorioEmails(RelatorioEmail entity) { this.SendPropertyChanging(); entity.ProdutoVa = null; }
public Answer LogEmail(string xml) { ProdutoVaArquivoRepository arquivoRepository = new ProdutoVaArquivoRepository(); ProdutoVaRepository vaRepository = new ProdutoVaRepository(); string crm = string.Empty; string crmUf = string.Empty; string email = string.Empty; int idArquivo = 0; int idVa = 0; DateTime? data = null; string userTerritorio; string userSenha; #region lê informações do Xml passado XmlDocument doc = new XmlDocument(); try { doc.Load(new StringReader(xml)); XmlElement nodeUsuario = (XmlElement)doc.GetElementsByTagName("user")[0]; userTerritorio = nodeUsuario.GetElementsByTagName("territory")[0].InnerText; userSenha = nodeUsuario.GetElementsByTagName("password")[0].InnerText; XmlElement nodeLogs = (XmlElement)doc.GetElementsByTagName("emails")[0]; //faz autenticação var territorio = GetTerritorio(userTerritorio, userSenha); if (territorio == null) return new Answer(Answer.EnumStatus.ErroLogin, "Login e/ou senha inválido(s)"); foreach (XmlNode nodeLog in nodeLogs.ChildNodes) { crm = nodeLog["crm"].InnerText.ToString(); crmUf = nodeLog["crmUf"].InnerText.ToString(); email = nodeLog["email"].InnerText.ToString(); idArquivo = nodeLog["attachmentId"].InnerText.ToInt(); idVa = nodeLog["presentationId"].InnerText.ToInt(); data = nodeLog["date"].InnerText.ToDateTime(); #region Valida Informações passadas /* //verifica VA var va = vaRepository.GetProdutoVa(idVa); if (va == null) return new Answer(Answer.EnumStatus.Erro, "VA não existente"); //verifica arquivo var arquivo = arquivoRepository.GetProdutoVaArquivo(idArquivo); if (arquivo == null) return new Answer(Answer.EnumStatus.Erro, "Arquivo não existente"); if (!va.ProdutoVaArquivos.Any(a => a.Id == arquivo.Id)) return new Answer(Answer.EnumStatus.Erro, "Arquivo não pertence ao VA informado"); */ #endregion } RelatorioEmailRepository relatorioEmailRepository = new RelatorioEmailRepository(); foreach (XmlNode nodeLog in nodeLogs.ChildNodes) { crm = nodeLog["crm"].InnerText.ToString(); crmUf = nodeLog["crmUf"].InnerText.ToString(); email = nodeLog["email"].InnerText.ToString(); idArquivo = nodeLog["attachmentId"].InnerText.ToInt(); idVa = nodeLog["presentationId"].InnerText.ToInt(); data = nodeLog["date"].InnerText.ToDateTime(); #region grava relatório RelatorioEmail relatorioEmail = new RelatorioEmail(); relatorioEmail.IdTerritorio = territorio.Id; relatorioEmail.IdVa_temp = idVa; relatorioEmail.IdProdutoVaArquivo_temp = idArquivo; relatorioEmail.Data = data; relatorioEmail.Crm = crm; relatorioEmail.CrmUf = crmUf; relatorioEmail.Email = email; relatorioEmail.IdTerritorio = territorio.Id; relatorioEmail.Status = (char?)RelatorioEmail.EnumStatus.Pendente; relatorioEmailRepository.Add(relatorioEmail); relatorioEmailRepository.Save(); try { relatorioEmail.IdVa = idVa; relatorioEmail.IdProdutoVaArquivo = idArquivo; relatorioEmailRepository.Save(); } catch (Exception e) { relatorioEmail.IdVa = null; relatorioEmail.IdProdutoVaArquivo = null; relatorioEmail.Xml = xml; relatorioEmailRepository.Save(); Util.Sistema.Error.TrataErro(e, enviarEmail: false); } #endregion } relatorioEmailRepository.Save(); /*foreach (XmlNode nodeLog in nodeLogs.ChildNodes) { idArquivo = nodeLog["attachmentId"].InnerText.ToInt(); email = nodeLog["email"].InnerText.ToString(); var arquivo = arquivoRepository.GetProdutoVaArquivo(idArquivo); try { List<Attachment> attachments = new List<Attachment>{ new Attachment(arquivo.GetCaminhoFisico()) }; Util.Email.Enviar(email, Util.Email.GetCorpoEmail("logEmail"), "Anexo", attachments); cont++; } catch(Exception e) { erros++; } }*/ } catch (Exception e) { Util.Sistema.Error.TrataErro(e); return new Answer(Answer.EnumStatus.Erro, "Erro ao fazer a leitura do arquivo xml"); } #endregion return new Answer(Answer.EnumStatus.Ok, string.Empty); }
private void attach_RelatorioEmails(RelatorioEmail entity) { this.SendPropertyChanging(); entity.Territorio = this; }
private void attach_RelatorioEmails(RelatorioEmail entity) { this.SendPropertyChanging(); entity.ProdutoVaArquivo = this; }
partial void DeleteRelatorioEmail(RelatorioEmail instance);
partial void UpdateRelatorioEmail(RelatorioEmail instance);
partial void InsertRelatorioEmail(RelatorioEmail instance);