Пример #1
0
        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);
        }
Пример #2
0
        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;
                }
            }
        }
Пример #3
0
        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);
        }