Пример #1
0
        public void EnviarNotificacionInvestigadorProyectosNuevos(NotificationDraftLawViewModel oNotification)
        {
            NotificacionConfig oNotificacionConfig = new NotificacionConfig("notificacion.proyectos.nuevos");

            string        mensaje = ObtenerMensajeProyectosNuevos(oNotification, oNotificacionConfig.xslPath);
            List <string> images  = new List <string>();

            images.Add(ConfigurationManager.AppSettings["site.path"] + @"\Assets\img\logo-cael-arca.png");
            EmailHelper.SendMail(mensaje, oNotificacionConfig.From, oNotification.to, oNotificacionConfig.Cc, oNotificacionConfig.Bcc, oNotificacionConfig.Asunto, null, images.ToArray());
        }
Пример #2
0
        private static string ObtenerMensajeProyectosNuevos(NotificationDraftLawViewModel oNotification, string xslPath)
        {
            StringBuilder msgBody = new StringBuilder();

            if (File.Exists(xslPath))
            {
                MailGenerator mailGenerator = new MailGenerator(xslPath);
                //string serialize = ConvertObjectToXMLString(oAsignacionLancha);

                string message = mailGenerator.Generate(oNotification, typeof(NotificationDraftLawViewModel));
                msgBody.Append(message);
                return(msgBody.ToString());
            }
            return(string.Empty);
        }
Пример #3
0
        static void Main(string[] args)
        {
            try
            {
                new Program();
                logger.Info("Inicio Proceso: Notificacion.Nuevos.Proyectos.Ley");
                DraftLawBL oDraftLawBL        = new DraftLawBL();
                List <DraftLawViewModel> list = oDraftLawBL.ObtenerNotificables();

                logger.Info("Proceso Notificacion.Nuevos.Proyectos.Ley: " + list.Count());

                if (list.Count() > 0)
                {
                    UserBL oUserBL = new UserBL();
                    List <InvestigatorViewModel> investigadores           = oUserBL.ObtenerInvestigadores();
                    SendEmailNotificationBL      oSendEmailNotificationBL = new SendEmailNotificationBL();

                    foreach (InvestigatorViewModel investigador in investigadores)
                    {
                        try
                        {
                            logger.Info("Inicio Investigador: " + investigador.contact_name);


                            List <DraftLawViewModel> proyectos_asociados = list.Where(a => investigador.commissions.Contains(a.commission_id.Value) && investigador.interest_areas.Contains(a.interest_area_id.Value)).ToList();
                            logger.Info("Proyectyso Nuevos: " + proyectos_asociados.Count());
                            if (proyectos_asociados != null && proyectos_asociados.Count > 0)
                            {
                                NotificationDraftLawViewModel oNotification = new NotificationDraftLawViewModel();
                                oNotification.name      = investigador.contact_name;
                                oNotification.url       = ConfigurationManager.AppSettings["site.url"] + "/Investigator/MisProyectosLey";
                                oNotification.to        = investigador.user_email;
                                oNotification.DraftLaws = proyectos_asociados;

                                oNotification.url_home = ConfigurationManager.AppSettings["site.url"];

                                oNotification.url_politicas  = ConfigurationManager.AppSettings["site.url.politicas"];
                                oNotification.url_contacto   = ConfigurationManager.AppSettings["site.url.contacto"];
                                oNotification.url_privacidad = ConfigurationManager.AppSettings["site.url.privacidad"];
                                oSendEmailNotificationBL.EnviarNotificacionInvestigadorProyectosNuevos(oNotification);

                                NotificationBL        oNotificationBL        = new NotificationBL();
                                NotificationViewModel pNotificationViewModel = new NotificationViewModel();
                                pNotificationViewModel.user_id = investigador.user_id;
                                pNotificationViewModel.message = "Se han registrado proyecto(s) de ley de sus áreas de interés";
                                pNotificationViewModel.url     = @"/Investigator/MisProyectosLey";

                                oNotificationBL.Agregar(pNotificationViewModel);
                            }

                            logger.Info("Fin Investigador: " + investigador.contact_name);
                        }
                        catch (Exception ex)
                        {
                            logger.Info("Error en Notificacion.Nuevos.Proyectos.Ley:");
                            logger.Info("Mensaje: " + ex.Message);
                            logger.Info("StackTrace: " + ex.StackTrace);
                            logger.Error("Notificacion.Nuevos.Proyectos.Ley: ", ex);
                        }
                    }

                    oDraftLawBL.ActualizarNotificacion(list);
                }


                logger.Info("Fin de Proceso: Notificacion.Nuevos.Proyectos.Ley");
            }
            catch (Exception ex)
            {
                logger.Info("Error en Notificacion.Nuevos.Proyectos.Ley:");
                logger.Info("Mensaje: " + ex.Message);
                logger.Info("StackTrace: " + ex.StackTrace);
                logger.Error("Notificacion.Nuevos.Proyectos.Ley: ", ex);
            }
        }