Esempio n. 1
0
        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);
            }
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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");
        }
Esempio n. 4
0
        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));
            }
        }