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()); }
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))); }
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(); }
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(); }
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)); } }