private void nuevo() { Response response = new Response(true, "", "", "", null); bienestarEntities db = new bienestarEntities(); try { var becas = db.BE_BECA_SOLICITUD.Select(be => new { be.CODIGO, be.OBSERVACION, be.APROBADA, be.CEDULA, BECA = be.BE_BECA_TIPO.NOMBRE, TIPOCODIGO = be.BE_BECA_TIPO.CODIGO, NOMBRE = be.DATOSPERSONALE.DTPNOMBREC.Trim() + " " + be.DATOSPERSONALE.DTPAPELLIC.Trim() + " " + be.DATOSPERSONALE.DTPAPELLIC2.Trim(), be.BE_BECA_SOLICITUD_HISTORIAL, NIVELCARRERA = new NivelCarrera(), PERIODO = new Periodo(), }).OrderBy(o => o.CODIGO).ToList(); if (becas != null && becas.Count > 0) { foreach (var beca in becas) { var temp = this.getNivelCarrera(beca.CEDULA); beca.NIVELCARRERA.PERIODO = temp.PERIODO; beca.NIVELCARRERA.CODIGONIVEL = temp.CODIGONIVEL; beca.NIVELCARRERA.NIVEL = temp.NIVEL; beca.NIVELCARRERA.CODIGOCARRERA = temp.CODIGOCARRERA; beca.NIVELCARRERA.CARRERA = temp.CARRERA; BE_BECA_SOLICITUD_HISTORIAL bsh = beca.BE_BECA_SOLICITUD_HISTORIAL.FirstOrDefault(); beca.PERIODO.ID = Utils.getPeriodo(bsh != null ? bsh.FECHA : DateTime.Now); PERIODO period = getPeriodById(beca.PERIODO.ID); beca.PERIODO.NOMBRE = period.PRDCODIGOI + " - " + period.PRDFECINIF.ToString("MMMM yyyy") + " - " + period.PRDFECFINF.ToString("MMMM yyyy"); } int periodo = 0; becas = becas.Where(w => (periodo == 0 || w.NIVELCARRERA.PERIODO == periodo) || true).ToList(); response = new Response(true, "", "", "", becas); } else { response = new Response(false, "info", "Informaci\u00F3n", "No se han encontrado becas registradas", null); } } catch (Exception e) { response = new Response(false, "error", "Error", "Error al obtener las becas", e); writeResponseObject(response); } }
public void saveBecaSolicitud(Models.BE_BECA_SOLICITUD beca_solicitud) { Models.bienestarEntities db = new Models.bienestarEntities(); Models.BE_BECA_SOLICITUD editBS = null; if (beca_solicitud.CODIGO == 0) { db.BE_BECA_SOLICITUD.AddObject(beca_solicitud); BE_USUARIO sysUser = db.BE_USUARIO.Where(u => u.NOMBREUSUARIO.ToLower() == "sistema").FirstOrDefault(); if (sysUser != null) { BE_BECA_SOLICITUD_HISTORIAL bsh = new BE_BECA_SOLICITUD_HISTORIAL(); bsh.FECHA = DateTime.Now; bsh.CODIGOUSUARIO = sysUser.CODIGO; beca_solicitud.BE_BECA_SOLICITUD_HISTORIAL.Add(bsh); } } else { editBS = db.BE_BECA_SOLICITUD.Where(bs => bs.CODIGO == beca_solicitud.CODIGO).First(); editBS.CODIGOTIPO = beca_solicitud.CODIGOTIPO; } db.SaveChanges(); // send notification mail if (editBS == null) { string becaMailNotification = db.BE_DATOS_SISTEMA.Where(d => d.NOMBRE == "becaMailNotification").Select(d => d.VALOR).First(); string body = "Se le notifica que ha sido ingresada una nueva solicitud de beca para el estudiante " + beca_solicitud.DATOSPERSONALE.DTPNOMBREC + beca_solicitud.DATOSPERSONALE.DTPAPELLIC + " con CI: " + beca_solicitud.CEDULA; Class.Utils.sendMail(becaMailNotification, "Nueva solicitud de beca ingresada", body); } writeResponseObject(editBS == null ? beca_solicitud : editBS); }
public void exportExcelReport(string _carrera, string _nivel, string _beca, string _estado, int _rubro, int _periodo) { List <string[]> rows = new List <string[]>(); string[] header = { "CEDULA", "NOMBRE", "CARRERA", "NIVEL", "TIPO BECA", "PORCENTAJE", "ESTADO", "RUBRO", "PERIODO" }; try { bienestarEntities db = new bienestarEntities(); var becas = db.BE_BECA_SOLICITUD.Select(be => new { be.CODIGO, be.OBSERVACION, be.APROBADA, be.CEDULA, BECA = be.BE_BECA_TIPO.NOMBRE, TIPOCODIGO = be.BE_BECA_TIPO.CODIGO, NOMBRE = be.DATOSPERSONALE.DTPNOMBREC.Trim() + " " + be.DATOSPERSONALE.DTPAPELLIC.Trim() + " " + be.DATOSPERSONALE.DTPAPELLIC2.Trim(), be.BE_BECA_SOLICITUD_HISTORIAL, NIVELCARRERA = new NivelCarrera(), PERIODO = new Periodo(), }).OrderBy(o => o.CODIGO).ToList(); if (becas != null && becas.Count > 0) { foreach (var beca in becas) { var temp = this.getNivelCarrera(beca.CEDULA); beca.NIVELCARRERA.PERIODO = temp.PERIODO; beca.NIVELCARRERA.CODIGONIVEL = temp.CODIGONIVEL; beca.NIVELCARRERA.NIVEL = temp.NIVEL; beca.NIVELCARRERA.CODIGOCARRERA = temp.CODIGOCARRERA; beca.NIVELCARRERA.CARRERA = temp.CARRERA; BE_BECA_SOLICITUD_HISTORIAL bsh = beca.BE_BECA_SOLICITUD_HISTORIAL.FirstOrDefault(); beca.PERIODO.ID = Utils.getPeriodo(bsh != null ? bsh.FECHA : DateTime.Now); PERIODO period = getPeriodById(beca.PERIODO.ID); beca.PERIODO.NOMBRE = period.PRDCODIGOI + " - " + period.PRDFECINIF.ToString("MMMM yyyy") + " - " + period.PRDFECFINF.ToString("MMMM yyyy"); } becas = becas.Where(w => (_carrera != "null" ? w.NIVELCARRERA.CARRERA == _carrera : true) && (_nivel != "null" ? w.NIVELCARRERA.NIVEL == _nivel : true) && (_beca != "null" ? w.BECA == _beca : true) && (_estado != "null" ? (_estado == "Pendiente" ? w.APROBADA == 0 : _estado == "Procesando" ? w.APROBADA == 1 : _estado == "Aprobada" ? w.APROBADA == 2 : w.APROBADA == 3) : true) && (_periodo != 0 ? w.PERIODO.ID == _periodo : true) && ((w.BE_BECA_SOLICITUD_HISTORIAL.LastOrDefault() != null && _rubro != -1) ? w.BE_BECA_SOLICITUD_HISTORIAL.LastOrDefault().RUBRO == _rubro : true) ).ToList(); } foreach (var beca in becas) { string[] row = new string[9]; row[0] = beca.CEDULA; row[1] = beca.NOMBRE; row[2] = beca.NIVELCARRERA.CARRERA; row[3] = beca.NIVELCARRERA.NIVEL; row[4] = beca.BECA; if (beca.BE_BECA_SOLICITUD_HISTORIAL.LastOrDefault() != null) { row[5] = beca.BE_BECA_SOLICITUD_HISTORIAL.LastOrDefault().OTORGADO + "%"; row[7] = beca.BE_BECA_SOLICITUD_HISTORIAL.LastOrDefault().RUBRO == 1 ? "Pensi\u00F3n" : beca.BE_BECA_SOLICITUD_HISTORIAL.LastOrDefault().RUBRO == 2 ? "Matr\u00EDcula" : beca.BE_BECA_SOLICITUD_HISTORIAL.LastOrDefault().RUBRO == 3 ? "Pensi\u00F3n y matr\u00EDcula" : "Ninguno"; } row[6] = beca.APROBADA == 0 ? "Pendiente" : beca.APROBADA == 1 ? "Procesando" : beca.APROBADA == 2 ? "Aprobada" : "Rechazada"; PERIODO period = getPeriodById(beca.PERIODO.ID); row[8] = period.PRDCODIGOI + " - " + period.PRDFECINIF.ToString("MMMM yyyy") + " - " + period.PRDFECFINF.ToString("MMMM yyyy"); rows.Add(row); } } catch (Exception e) { string[] row = new string[] { "Error al exportar becas... (" + e.ToString() + ")" }; rows.Add(row); } // export data string response = Utils.MakeHtmlTable(header, rows); Utils.writeResponseExcel(response, "becas.xls"); }
public void saveBeca(EditedBeca editedBeca) { try { if (Utils.haveAccessTo(Utils.MODULOBECAS)) { using (Models.bienestarEntities db = new Models.bienestarEntities()) { BE_BECA_SOLICITUD_HISTORIAL historial = db.BE_BECA_SOLICITUD_HISTORIAL.Where(h => h.CODIGOSOLICITUD == editedBeca.CODIGO).OrderByDescending(h => h.FECHA).FirstOrDefault(); // add new historial if (historial == null || (historial != null && (historial.OTORGADO != editedBeca.OTORGADO || historial.RUBRO != editedBeca.RUBRO))) { BE_BECA_SOLICITUD_HISTORIAL newHistorial = new BE_BECA_SOLICITUD_HISTORIAL(); newHistorial.CODIGOSOLICITUD = editedBeca.CODIGO; newHistorial.CODIGOUSUARIO = editedBeca.CODIGOUSUARIO; newHistorial.FECHA = DateTime.Now; newHistorial.RUBRO = editedBeca.RUBRO; newHistorial.OTORGADO = editedBeca.OTORGADO; db.BE_BECA_SOLICITUD_HISTORIAL.AddObject(newHistorial); db.SaveChanges(); } } /* * save changes for beca */ using (Models.bienestarEntities db = new Models.bienestarEntities()) { BE_BECA_SOLICITUD beca = db.BE_BECA_SOLICITUD.Where(b => b.CODIGO == editedBeca.CODIGO).FirstOrDefault(); if (beca != null && (beca.OBSERVACION != editedBeca.OBSERVACION || beca.APROBADA != editedBeca.APROBADA)) { beca.OBSERVACION = editedBeca.OBSERVACION; if (beca.APROBADA != editedBeca.APROBADA) { beca.APROBADA = editedBeca.APROBADA; if (beca.APROBADA == 2 || beca.APROBADA == 3) { editedBeca.ENVIARNOTIFICACION = true; } } db.SaveChanges(); } if (beca != null && editedBeca.ENVIARNOTIFICACION) { string to = beca.DATOSPERSONALE.DTPEMAILC; string subject = "Notificación Bienestar Estudiantil (Beca solicitada)"; string body = beca.OBSERVACION + (beca.APROBADA == 2 ? " ESTADO SOLICITUD BECA: 'Aprobada'" : (beca.APROBADA == 3 ? " ESTADO SOLICITUD BECA: 'Rechazada'" : "")); Utils.sendMail(to, subject, body); } } } } catch (Exception e) { Response response = new Response(false, "error", "Error", e.ToString(), null); writeResponse(new JavaScriptSerializer().Serialize(response)); } }