private String loadSolicitudes() { try { SqlDataContext sql = new SqlDataContext(); StringBuilder sb = new StringBuilder(); String labelEstado = ""; Response.Write("USER="******"user"]); if (!String.IsNullOrEmpty(Request["user"])) { var solicitudes = (from s in sql.solicitudes where s.user_id == Convert.ToInt64(Request["user"]) select s); sb.Append("<table class='table table-bordered table-striped table-condensed'><thead><tr><th>Titulo</th><th>Fecha Desde</th><th>Fecha Hasta</th><th>Estado</th></tr></thead><tbody>"); if (solicitudes.Count() > 0) { foreach (var solicitud in solicitudes) { switch (solicitud.estado) { case "PENDIENTE": labelEstado = "<span class='label label-warning'>PENDIENTE</span>"; break; case "APROBADO": labelEstado = "<span class='label label-warning'>APROBADO</span>"; break; case "DESAPROBADO": labelEstado = "<span class='label label-warning'>DESAPROBADO</span>"; break; } sb.Append("<tr><td>" + solicitud.titulo.ToString() + "</td><td>" + solicitud.fecha_desde.ToString("dd/MM/yyyy") + "</td><td>" + solicitud.fecha_hasta.ToString("dd/MM/yyyy") + "</td><td>" + labelEstado + "</td></tr>"); } } else { sb.Append("<tr><td colspan='4'>No hay solicitudes realizadas</td></tr>"); } sb.Append("</tbody></table>"); } return sb.ToString(); } catch (Exception ex) { _errorReporting.ReportError("loadSolicitudes - " + ex.ToString(), ErrorReporting.ERROR_DEVELOPMENT); } return ""; }
protected void Page_Load(object sender, EventArgs e) { if (String.IsNullOrEmpty(Request["user"])) { Response.Write("Debe estar logueado para poder ingresar a esta funcionalidad."); Response.End(); } else { SqlDataContext sql = new SqlDataContext(); var empleados = (from em in sql.relaciones where em.jefe == Convert.ToInt64(Request["user"]) select em).Count(); if (empleados > 0) { Response.Write("Debe ser supervisor para poder ingresar a esta funcionalidad."); Response.End(); } else { _errorReporting = ErrorReporting.getInstance; if (!String.IsNullOrEmpty(Request["action"])) { Response.Expires = -1; Response.ContentType = "text/plain"; switch (Request["action"]) { case "loadInbox": Response.Write(loadInbox()); break; case "chageEstado": Response.Write(chageEstado().ToString().ToLower()); break; } Response.End(); } } } }
private Boolean chageEstado() { SqlDataContext sql = new SqlDataContext(); try { String estado = Request["estado"]; String id = Request["id"]; var inbox = (from i in sql.inboxes where i.id == Convert.ToInt64(id) select i).First(); var solicitud = (from s in sql.solicitudes where s.id == inbox.solicitud_id select s).First(); var usuario = (from u in sql.registrados where u.idRegistrado == solicitud.user_id select u).First(); solicitud.estado = estado; sql.SubmitChanges(); Hashtable dataMail = new Hashtable(); dataMail.Add("ESTADO", estado.ToLower()); dataMail.Add("TITULO", solicitud.titulo); dataMail.Add("FECHA_DESDE", solicitud.fecha_desde.ToString("dd/MM/yyyy")); dataMail.Add("FECHA_HASTA", solicitud.fecha_hasta.ToString("dd/MM/yyyy")); dataMail.Add("MENSAJE", solicitud.mensaje); EmailSender emailSender = new EmailSender(); emailSender.send(usuario.Mail, "Pedido de Fecha", "change-state.html", dataMail); } catch (Exception ex) { _errorReporting.ReportError("chageEstado - " + ex.ToString(), ErrorReporting.ERROR_DEVELOPMENT); return false; } return true; }
private String loadInbox() { try { SqlDataContext sql = new SqlDataContext(); StringBuilder sb = new StringBuilder(); String labelEstado = ""; var inbox = (from i in sql.inboxes join s in sql.solicitudes on i.solicitud_id equals s.id join u in sql.registrados on s.user_id equals u.idRegistrado where i.user_id == Convert.ToInt64(Request["user"]) select new { i.id, i.solicitud_id, s.mensaje, s.titulo, s.user_id, s.estado, s.fecha_desde, s.fecha_hasta, u.Nombre, u.Apellido, u.Mail }) .Distinct(); sb.Append("<table class='table table-bordered table-striped table-condensed'><thead><tr><th>Titulo</th><th>Fecha Desde</th><th>Fecha Hasta</th><th>Usuario</th><th>Estado</th></tr></thead><tbody>"); foreach (var i in inbox) { switch (i.estado) { case "PENDIENTE": labelEstado = "<span class='label label-warning'>PENDIENTE</span>"; break; case "APROBADO": labelEstado = "<span class='label label-warning'>APROBADO</span>"; break; case "DESAPROBADO": labelEstado = "<span class='label label-warning'>DESAPROBADO</span>"; break; } sb.Append("<script type='text/javascript'>solicitudes.push({id:" + i.id + ", solicitud_id:" + i.solicitud_id + ", mensaje:'" + i.mensaje + "', titulo:'" + i.titulo + "', user_id:" + i.user_id + ", fechaDesde:'" + i.fecha_desde.ToString("dd/MM/yyyy") + "', fechaHasta:'" + i.fecha_hasta.ToString("dd/MM/yyyy") + "', nombre:'" + i.Nombre + " " + i.Apellido + "', estado:'" + i.estado + "'});</script>"); sb.Append("<tr onclick='javascript:showSolicitud(" + i.id + ");' style='cursor:pointer;'><td>" + i.titulo.ToString() + "</td><td>" + i.fecha_desde.ToString("dd/MM/yyyy") + "</td><td>" + i.fecha_hasta.ToString("dd/MM/yyyy") + "</td><td>" + i.Nombre + " " + i.Apellido + "</td><td>" + labelEstado + "</td></tr>"); } sb.Append("</tbody></table>"); return sb.ToString(); } catch (Exception ex) { _errorReporting.ReportError("loadInbox - " + ex.ToString(), ErrorReporting.ERROR_DEVELOPMENT); } return ""; }
private Boolean saveSolicitud() { try { SqlDataContext sql = new SqlDataContext(); String[] splitFechaDesde = Request["fechaDesde"].Split('/'); String[] splitFechaHasta = Request["fechaHasta"].Split('/'); Int64 id = Convert.ToInt64(Request["user"]); var solicitud = new solicitude(); solicitud.estado = "PENDIENTE"; solicitud.titulo = Request["titulo"]; solicitud.mensaje = Request["mensaje"]; solicitud.fecha_desde = new DateTime(Convert.ToInt32(splitFechaDesde[2]), Convert.ToInt32(splitFechaDesde[1]), Convert.ToInt32(splitFechaDesde[0])); solicitud.fecha_hasta = new DateTime(Convert.ToInt32(splitFechaHasta[2]), Convert.ToInt32(splitFechaHasta[1]), Convert.ToInt32(splitFechaHasta[0])); solicitud.user_id = id; sql.solicitudes.InsertOnSubmit(solicitud); sql.SubmitChanges(); var relacion = (from r in sql.relaciones where r.empleado == id select r).First(); var inbox = new inbox(); inbox.solicitud_id = solicitud.id; inbox.user_id = relacion.jefe; sql.inboxes.InsertOnSubmit(inbox); sql.SubmitChanges(); var usuario = (from u in sql.registrados where u.idRegistrado == id select u).First(); Hashtable dataMail = new Hashtable(); dataMail.Add("TITULO", solicitud.titulo); dataMail.Add("FECHA_DESDE", solicitud.fecha_desde.ToString("dd/MM/yyyy")); dataMail.Add("FECHA_HASTA", solicitud.fecha_hasta.ToString("dd/MM/yyyy")); dataMail.Add("MENSAJE", solicitud.mensaje); EmailSender emailSender = new EmailSender(); emailSender.send(usuario.Mail, "Pedido de Fecha", "sent-solicitud.html", dataMail); } catch (Exception ex) { _errorReporting.ReportError("saveSolicitud - " + ex.ToString(), ErrorReporting.ERROR_DEVELOPMENT); return false; } return true; }