public ActionResult enviarNotificaciones()
        {
            try
            {
                siciEntities2 db = new siciEntities2();

                String sql = "SELECT CAST(TI.Cedula AS VARCHAR)Cedula, Email, NombreTransferencia, CAST(TT.IdTransferencia AS VARCHAR)IdTransferencia " +
                             " FROM Tbl_Transferencias TT " +
                             " LEFT JOIN Tbl_EspecializacionesUsuario Te " +
                             " ON TT.IdEspecializacion = Te.IdEspecializacion " +
                             " LEFT JOIN Tbl_InformacionBasicaUsuario TI " +
                             " ON TI.id = TE.id " +
                             " LEFT JOIN Tbl_HistoricoNotificaciones TH " +
                             " ON TT.IdTransferencia = TH.IdTransferencia " +
                             " WHERE TH.IdTransferencia IS NULL AND TI.Cedula IS NOT NULL ";

                String sqlInsert = "INSERT INTO Tbl_HistoricoNotificaciones " +
                                   " SELECT CAST(TT.IdTransferencia AS VARCHAR)IdTransferencia " +
                                   "   FROM Tbl_Transferencias TT " +
                                   "   LEFT JOIN Tbl_EspecializacionesUsuario Te " +
                                   "   ON TT.IdEspecializacion = Te.IdEspecializacion " +
                                   "   LEFT JOIN Tbl_InformacionBasicaUsuario TI " +
                                   " ON TI.id = TE.id " +
                                   "   LEFT JOIN Tbl_HistoricoNotificaciones TH " +
                                   "   ON TT.IdTransferencia = TH.IdTransferencia " +
                                   "   WHERE TH.IdTransferencia IS NULL AND TI.Cedula IS NOT NULL" +
                                   " GROUP BY TT.IdTransferencia; ";


                IEnumerable <Notificacion> data = db.Database.SqlQuery <Notificacion>(sql);
                var secuencia = data.GetEnumerator();

                MailMessage mail       = new MailMessage();
                SmtpClient  SmtpServer = new SmtpClient("smtp.gmail.com");

                mail.From              = new MailAddress("*****@*****.**");
                SmtpServer.Port        = 587;
                SmtpServer.Credentials = new System.Net.NetworkCredential("*****@*****.**", "1024579400");
                SmtpServer.EnableSsl   = true;

                for (int a = 0; a < data.Count(); a++)
                {
                    Notificacion x = data.ElementAt(a);
                    mail.To.Add(x.Email);
                    mail.Subject = "Nueva oferta disponible!";
                    mail.Body    = "Ha recibido esta notificación porque se publicó la siguiente oferta de su interes: " + x.NombreTransferencia + ", la puede consultar en este enlace: http://localhost:57005/Tbl_Inscripciones/CreateEspecial?cedula=" + x.Cedula + "&idTransferencia=" + x.IdTransferencia;

                    SmtpServer.Send(mail);
                }

                db.Database.ExecuteSqlCommand(sqlInsert);
                ViewBag.resultado = "Proceso realizado con éxito";
            }
            catch (Exception e) {
                ViewBag.resultado = "Ocurrió un error mientras se realiza en elvío";
            }
            return(View());
        }
Esempio n. 2
0
        public ActionResult DashBoard()
        {
            siciEntities2 db = new siciEntities2();
            var           x  = from transferencias in db.Tbl_Transferencias where transferencias.EstadoTransferencia == 1 select transferencias;

            ViewBag.conteoTrasferencias = x.ToList().ToArray().Length;

            var s = from sedes in db.Tbl_Sedes select sedes;

            ViewBag.conteoSedes = s.ToList().ToArray().Length;

            return(View(db.Tbl_Anuncios.ToList().OrderBy(t => t.FechaCreacionAnuncio)));
        }
Esempio n. 3
0
        public void generarReporteSedes()
        {
            siciEntities2 db2  = new siciEntities2();
            var           grid = new GridView();



            grid.DataSource = (from m in db2.Tbl_Sedes select m).ToList();
            grid.DataBind();
            Response.ClearContent();
            Response.AddHeader("content-disposition", "attachment; filename=ReporteSedes.xls");
            Response.ContentType = "application/excel";
            StringWriter   sw            = new StringWriter();
            HtmlTextWriter htmlTextwrite = new HtmlTextWriter(sw);

            grid.RenderControl(htmlTextwrite);
            Response.Write(sw.ToString());
            Response.End();
        }
Esempio n. 4
0
        public void generarReporteProcedimientoAlmacenado()
        {
            siciEntities2 db2  = new siciEntities2();
            var           grid = new GridView();

            db2.PROC_GENERARREPORTE();

            grid.DataSource = (from m in db2.Tbl_reporteInformacionPorUsuario select m).ToList();
            grid.DataBind();
            Response.ClearContent();
            Response.AddHeader("content-disposition", "attachment; filename=ReporteAsistencia.xls");
            Response.ContentType = "application/excel";
            StringWriter   sw            = new StringWriter();
            HtmlTextWriter htmlTextwrite = new HtmlTextWriter(sw);

            grid.RenderControl(htmlTextwrite);
            Response.Write(sw.ToString());
            Response.End();
        }
Esempio n. 5
0
        public async Task <ActionResult> Login(LoginViewModel model, string returnUrl)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            // No cuenta los errores de inicio de sesión para el bloqueo de la cuenta
            // Para permitir que los errores de contraseña desencadenen el bloqueo de la cuenta, cambie a shouldLockout: true
            var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout : false);

            if (result == SignInStatus.Success)
            {
                siciEntities2 db = new siciEntities2();
                var           x  = from m in db.Tbl_InformacionBasicaUsuario where m.Email == model.Email select m;
                Tbl_InformacionBasicaUsuario r = x.First();
                var y = from m in db.Tbl_Perfiles where m.IdPerfil == r.IdPerfil select m;

                Session["id"]     = r.Id;
                Session["cedula"] = r.Cedula;
                Session["email"]  = r.Email;
                Session["perfil"] = y.First().Descripcion.ToLower();
            }

            switch (result)
            {
            case SignInStatus.Success:

                return(RedirectToAction("DashBoard", "Home"));

            case SignInStatus.LockedOut:
                return(View("Lockout"));

            case SignInStatus.RequiresVerification:
                return(RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = model.RememberMe }));

            case SignInStatus.Failure:
            default:
                ModelState.AddModelError("", "Intento de inicio de sesión no válido.");
                return(View(model));
            }
        }