コード例 #1
0
ファイル: AdminController.cs プロジェクト: alonsodev/SSR
        private void NotificacionCalificadoConcepto(ConceptViewModel pConceptViewModel)
        {
            var                     base_url                 = ConfigurationManager.AppSettings["site.url"];
            UserBL                  userBL                   = new UserBL();
            UserViewModel           investigador             = userBL.ObtenerUser(pConceptViewModel.user_id_created.Value);
            SendEmailNotificationBL oSendEmailNotificationBL = new SendEmailNotificationBL();

            NotificationConceptViewModel oNotificationConceptViewModel = new NotificationConceptViewModel();

            oNotificationConceptViewModel.name             = investigador.contact_name;
            oNotificationConceptViewModel.url_view_concept = base_url + @"/Concept";
            oNotificationConceptViewModel.to = investigador.user_email;


            oNotificationConceptViewModel.url_politicas  = ConfigurationManager.AppSettings["site.url.politicas"];
            oNotificationConceptViewModel.url_contacto   = ConfigurationManager.AppSettings["site.url.contacto"];
            oNotificationConceptViewModel.url_privacidad = ConfigurationManager.AppSettings["site.url.privacidad"];

            oNotificationConceptViewModel.draft_law_title = pConceptViewModel.title;
            oSendEmailNotificationBL.EnviarNotificacionConcepto(oNotificationConceptViewModel, "notificacion.concept.calificado");

            NotificationBL        oNotificationBL        = new NotificationBL();
            NotificationViewModel pNotificationViewModel = new NotificationViewModel();

            pNotificationViewModel.user_id = investigador.id;
            pNotificationViewModel.message = "El concepto con número '" + pConceptViewModel.concept_id + "' ha sido calificado.";
            pNotificationViewModel.url     = @"/Concept";
            oNotificationBL.Agregar(pNotificationViewModel);
        }
コード例 #2
0
        public JsonResult Crear([Bind(Include = "investigator_id,user_id,first_name,second_name,last_name,second_last_name,gender_id,mobile_phone," +
                                                "birthdate_text,user_email,user_pass,document_type_id,doc_nro,nationality_id,contract_name,phone,address,user_pass2,institution_id," +
                                                "investigation_group_id,program_id,interest_areas,address_country_id,department_id,address_municipality_id,commissions,educational_institution_id,education_level_id,CVLAC")] InvestigatorViewModel pViewModel)
        {
            // TODO: Add insert logic here

            if (pViewModel == null)
            {
                return(Json(new
                {
                    message_error = "Datos inavalidos",
                    status = "0",
                }));
            }
            pViewModel.investigator_id = 0;

            pViewModel.user_id_created = 0;
            pViewModel.birthdate       = DateTime.ParseExact(pViewModel.birthdate_text, "dd/MM/yyyy", CultureInfo.InvariantCulture);
            var user_pass = pViewModel.user_pass;

            pViewModel.user_pass    = Helper.Encripta(pViewModel.user_pass);
            pViewModel.user_name    = pViewModel.first_name + " " + pViewModel.second_name + " " + pViewModel.last_name + " " + pViewModel.second_last_name;
            pViewModel.user_name    = pViewModel.user_name.Replace("  ", " ").Replace("  ", " ");
            pViewModel.contact_name = pViewModel.user_name;
            string user_code = Guid.NewGuid().ToString();

            pViewModel.user_code_activate = user_code;
            UserBL oBL = new UserBL();

            var user_id = oBL.AgregarInvestigador(pViewModel);

            SendEmailNotificationBL oSendEmailNotificationBL = new SendEmailNotificationBL();

            NotificationGeneralAccountViewModel oNotification = new NotificationGeneralAccountViewModel();


            oNotification.url_activar_cuenta = ConfigurationManager.AppSettings["site.url"] + "/Account/Activar/?code=" + user_code;
            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"];
            oNotification.name           = pViewModel.contact_name;
            oNotification.to             = pViewModel.user_email;
            oSendEmailNotificationBL.EnviarNotificacionActivarCuenta(oNotification);

            return(Json(new
            {
                // this is what datatables wants sending back
                status = "1",
            }));
        }
コード例 #3
0
        public JsonResult Recuperar([Bind(Include = "user_email")] LoginViewModel pLoginModel)
        {
            UserBL                  oUserBL                  = new UserBL();
            UserViewModel           oUserViewModel           = oUserBL.ObtenerUser(pLoginModel.user_email);
            SendEmailNotificationBL oSendEmailNotificationBL = new SendEmailNotificationBL();

            if (oUserViewModel == null || oUserViewModel.id <= 0)
            {
                return(Json(new
                {
                    message_error = "No hay una cuenta asociada al correo electrónico ingresado.",
                    status = "0",
                }));
            }
            if (oUserViewModel.user_status_id == 2)
            {
                return(Json(new
                {
                    message_error = "El usuario esta en inactivo. Por favor comuniquese con el administrador del sistema para activar su cuenta",
                    status = "0",
                }));
            }
            string user_code = Guid.NewGuid().ToString();

            oUserBL.ActualizarCodigoRecuperar(oUserViewModel.id, user_code);
            NotificationGeneralAccountViewModel oNotification = new NotificationGeneralAccountViewModel();

            oNotification.url_recuperar_cuenta = ConfigurationManager.AppSettings["site.url"] + "/Account/CambiarPassword/?code=" + user_code;
            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"];
            oNotification.name = oUserViewModel.contact_name;
            oNotification.to   = oUserViewModel.user_email;
            oSendEmailNotificationBL.EnviarNotificacionRecuperarCuenta(oNotification);
            return(Json(new
            {
                // this is what datatables wants sending back
                status = "1",
            }));
        }
コード例 #4
0
ファイル: UserController.cs プロジェクト: alonsodev/SSR
        public ActionResult Crear([Bind(Include = "id,user_name,user_email,user_email2,user_pass,document_type_id,doc_nro,nationality_id,contact_name,phone,address,user_role_id,user_status_id,institution_ids,address_country_id,department_id,address_municipality_id")] UserViewModel pUserViewModel)
        {
            // TODO: Add insert logic here

            if (pUserViewModel == null)
            {
                return(HttpNotFound());
            }
            pUserViewModel.id = 0;

            pUserViewModel.user_id_created = AuthorizeUserAttribute.UsuarioLogeado().user_id;

            pUserViewModel.user_pass = Helper.Encripta(Guid.NewGuid().ToString());
            string user_code = Guid.NewGuid().ToString();

            pUserViewModel.user_code_recover = user_code;
            UserBL oUserBL = new UserBL();

            oUserBL.Agregar(pUserViewModel);

            SendEmailNotificationBL oSendEmailNotificationBL = new SendEmailNotificationBL();



            NotificationGeneralAccountViewModel oNotification = new NotificationGeneralAccountViewModel();

            oNotification.url_recuperar_cuenta = ConfigurationManager.AppSettings["site.url"] + "/Account/CambiarPassword/?code=" + user_code;
            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"];
            oNotification.name = pUserViewModel.contact_name;
            oNotification.to   = pUserViewModel.user_email;
            oSendEmailNotificationBL.EnviarNotificacionNuevaCuenta(oNotification);

            return(RedirectToAction("Index"));
        }
コード例 #5
0
ファイル: AdminController.cs プロジェクト: alonsodev/SSR
        private void NotificacionNuevaSolicitud(ConsultationViewModel pConsultationViewModel, string subject)
        {
            var base_url = ConfigurationManager.AppSettings["site.url"];

            UserBL userBL = new UserBL();

            List <UserViewModel> evaluadores = userBL.ObtenerPorPermiso(118);// 12 = perfil evaluador

            foreach (UserViewModel evaluador in evaluadores)
            {
                SendEmailNotificationBL oSendEmailNotificationBL = new SendEmailNotificationBL();

                NotificationGeneralAccountViewModel oNotificationConceptViewModel = new NotificationGeneralAccountViewModel();
                oNotificationConceptViewModel.name = evaluador.contact_name;
                oNotificationConceptViewModel.url_solicitud_concepto = base_url + @"/Consultation/Ver/" + pConsultationViewModel.consultation_id;
                oNotificationConceptViewModel.to = evaluador.user_email;

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

                oNotificationConceptViewModel.url_politicas  = ConfigurationManager.AppSettings["site.url.politicas"];
                oNotificationConceptViewModel.url_contacto   = ConfigurationManager.AppSettings["site.url.contacto"];
                oNotificationConceptViewModel.url_privacidad = ConfigurationManager.AppSettings["site.url.privacidad"];


                oSendEmailNotificationBL.EnviarNotificacionSolicitudConcepto(oNotificationConceptViewModel, subject);


                NotificationBL        oNotificationBL        = new NotificationBL();
                NotificationViewModel pNotificationViewModel = new NotificationViewModel();
                pNotificationViewModel.user_id = evaluador.id;
                pNotificationViewModel.message = "Hay una nueva solicitud de concepto con número '" + pConsultationViewModel.consultation_id + "'";
                pNotificationViewModel.url     = @"/Consultation/Ver/" + pConsultationViewModel.consultation_id;

                oNotificationBL.Agregar(pNotificationViewModel);
            }
        }
コード例 #6
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);
            }
        }
コード例 #7
0
ファイル: AdminController.cs プロジェクト: alonsodev/SSR
        public IHttpActionResult EnviarNotificacion(ConceptSendNotification filter)
        {
            var           base_url    = ConfigurationManager.AppSettings["site.url"];
            UserBL        userBL      = new UserBL();
            UserViewModel congresista = userBL.ObtenerUser(filter.user_id);



            ConceptBL               oConceptBL               = new ConceptBL();
            var                     concept                  = oConceptBL.Obtener(filter.concept_id);
            InvestigatorViewModel   investigador             = userBL.ObtenerInvestigator(concept.investigator_id.Value);
            SendEmailNotificationBL oSendEmailNotificationBL = new SendEmailNotificationBL();

            if (filter.solicitud_datos_investigador == 1)
            {
                NotificationConceptMovil oNotificationViewModel = new NotificationConceptMovil();

                oNotificationViewModel.concept_id         = concept.concept_id;
                oNotificationViewModel.contact_data_name  = investigador.contact_name;
                oNotificationViewModel.contact_data_phone = investigador.phone;
                oNotificationViewModel.contact_data_email = investigador.user_email;


                oNotificationViewModel.name = congresista.contact_name;

                //   oNotificationViewModel.to = congresista.user_email;


                oNotificationViewModel.url_politicas  = ConfigurationManager.AppSettings["site.url.politicas"];
                oNotificationViewModel.url_contacto   = ConfigurationManager.AppSettings["site.url.contacto"];
                oNotificationViewModel.url_privacidad = ConfigurationManager.AppSettings["site.url.privacidad"];


                oSendEmailNotificationBL.EnviarNotificacionMovil(oNotificationViewModel, "notificacion.movil.investigator.data");
            }


            if (filter.solicitud_ampliacion == 1)
            {
                NotificationConceptMovil oNotificationViewModel = new NotificationConceptMovil();

                oNotificationViewModel.concept_id         = concept.concept_id;
                oNotificationViewModel.contact_data_name  = congresista.contact_name;
                oNotificationViewModel.contact_data_phone = congresista.phone;
                oNotificationViewModel.contact_data_email = congresista.user_email;


                oNotificationViewModel.name    = investigador.contact_name;
                oNotificationViewModel.message = filter.message;


                oNotificationViewModel.url_politicas  = ConfigurationManager.AppSettings["site.url.politicas"];
                oNotificationViewModel.url_contacto   = ConfigurationManager.AppSettings["site.url.contacto"];
                oNotificationViewModel.url_privacidad = ConfigurationManager.AppSettings["site.url.privacidad"];


                oSendEmailNotificationBL.EnviarNotificacionMovil(oNotificationViewModel, "notificacion.movil.congresista.data");
            }



            var result = new
            {
                data = 1
            };

            return(Ok(result));
        }