private List <UniProfesorInstitutoDto> ComprobarDesviosEnviados(List <UniProfesorInstitutoDto> desvioList) { List <UniProfesorInstitutoDto> rtn = new List <UniProfesorInstitutoDto>(); foreach (UniProfesorInstitutoDto desvio in desvioList) { uniCorreoEnviado uniCorreoEnviadoModel = uniCorreoEnviadoDal.ObtenerPorId(desvio.codins, desvio.LegajoProfesor, desvio.CursoId); if (uniCorreoEnviadoModel == null) { desvio.EstadoAviso = EstadoAvisoEnum.AVISO_ENTRADA.GetHashCode(); rtn.Add(desvio); } else { if (uniCorreoEnviadoModel.EstadoAviso == EstadoAvisoEnum.DEFAULT.GetHashCode()) { desvio.EstadoAviso = EstadoAvisoEnum.AVISO_ENTRADA.GetHashCode(); rtn.Add(desvio); } if (uniCorreoEnviadoModel.EstadoAviso == EstadoAvisoEnum.AVISO_ENTRADA.GetHashCode()) { desvio.EstadoAviso = EstadoAvisoEnum.AVISO_SALIDA.GetHashCode(); rtn.Add(desvio); } } } return(rtn); }
public void GuardarCorreoEnviado(uniCorreoEnviado uniCorreoEnviado) { if (uniCorreoEnviado != null) { try { if (uniCorreoEnviado.EstadoAviso != EstadoAvisoEnum.AVISO_ENTRADA.GetHashCode() || uniCorreoEnviado.EstadoAviso == null) { uniCorreoEnviado uniCorreoEnviadoModel = context.uniCorreoEnviado.Where(x => x.codins == uniCorreoEnviado.codins && x.legajoProfesor == uniCorreoEnviado.legajoProfesor && x.cursoid == uniCorreoEnviado.cursoid).FirstOrDefault(); if (uniCorreoEnviado != null) { uniCorreoEnviadoModel.EstadoAviso = uniCorreoEnviado.EstadoAviso; uniCorreoEnviadoModel.FechaDeEnvio = uniCorreoEnviado.FechaDeEnvio; uniCorreoEnviadoModel.Emisor = uniCorreoEnviado.Emisor; uniCorreoEnviadoModel.Receptor = uniCorreoEnviado.Receptor; context.Entry(uniCorreoEnviadoModel).State = EntityState.Modified; context.SaveChanges(); } } else { context.uniCorreoEnviado.Add(uniCorreoEnviado); context.SaveChanges(); } } catch (Exception e) { throw e; } } }
public List <UniProfesorInstitutoDto> EnviarAvisoDeDesvios(List <UniProfesorInstitutoDto> desviosLista) { List <UniProfesorInstitutoDto> rtn = new List <UniProfesorInstitutoDto>(); SmtpClient SmtpServer = new SmtpClient(ConfigurationManager.AppSettings["SMTP_Servidor"]); SmtpServer.Port = Int32.Parse(ConfigurationManager.AppSettings["SMTP_Puerto"]); SmtpServer.Credentials = new System.Net.NetworkCredential(ConfigurationManager.AppSettings["CorreoEmisorDeAvisos"], "741852"); SmtpServer.EnableSsl = true; foreach (UniProfesorInstitutoDto desvio in desviosLista) { try { string horaEntrada = desvio.HoraInicio.HasValue ? desvio.HoraInicio.Value.TimeOfDay + " - " : ""; string horaSalida = desvio.HoraFin.HasValue ? desvio.HoraFin.Value.TimeOfDay + "" : ""; // Receptor MailMessage mail = new MailMessage(ConfigurationManager.AppSettings["CorreoEmisorDeAvisos"], desvio.CorreoInstituto); // CC if (!string.IsNullOrEmpty(desvio.CorreoCopia)) { string[] correoDeCopiaList = desvio.CorreoCopia.Split(';'); foreach (string correoDeCopia in correoDeCopiaList) { mail.CC.Add(new MailAddress(correoDeCopia)); } } mail.Subject = "[Desvío horario] " + desvio.LegajoProfesor + ": " + desvio.apellido; mail.Body = "El profesor de legajo " + desvio.LegajoProfesor + ", " + desvio.apellido + " se encuentra desvíado del horario planificado \n\n" + horaEntrada + horaSalida + "\n"; SmtpServer.Send(mail); rtn.Add(desvio); uniCorreoEnviado uniCorreoEnviadoModel = new uniCorreoEnviado(); uniCorreoEnviadoModel.codins = desvio.codins.HasValue ? desvio.codins.Value : 0; uniCorreoEnviadoModel.cursoid = desvio.CursoId; uniCorreoEnviadoModel.Emisor = ConfigurationManager.AppSettings["CorreoEmisorDeAvisos"]; uniCorreoEnviadoModel.EstadoAviso = desvio.EstadoAviso; uniCorreoEnviadoModel.FechaDeEnvio = DateTime.Now; uniCorreoEnviadoModel.legajoProfesor = desvio.LegajoProfesor; uniCorreoEnviadoModel.Receptor = desvio.CorreoInstituto + (desvio.CorreoInstituto == null ? "" : ";" + desvio.CorreoInstituto); uniCorreoEnviadoDal.GuardarCorreoEnviado(uniCorreoEnviadoModel); } catch (Exception e) { //TODO: registrar error? } } return(rtn); }