Beispiel #1
0
        public void saveBecaTipo(BecaTipo becaTipo)
        {
            if (Utils.haveAccessTo(Utils.MODULOBECAS))
            {
                Models.bienestarEntities db = new Models.bienestarEntities();

                if (becaTipo.CODIGO == 0)
                {
                    BE_BECA_TIPO becaTipoSave = convertToBECA_TIPO(becaTipo);
                    db.BE_BECA_TIPO.AddObject(becaTipoSave);
                    db.SaveChanges();
                    writeResponseObject(becaTipoSave);
                }
                else
                {
                    using (Models.bienestarEntities dbTemp = new Models.bienestarEntities())
                    {
                        Models.BE_BECA_TIPO currentBecaTipo = dbTemp.BE_BECA_TIPO.Single(bt => bt.CODIGO == becaTipo.CODIGO);

                        currentBecaTipo.BE_BECA_TIPO_DOCUMENTO.ToList().ForEach(btd => dbTemp.BE_BECA_TIPO_DOCUMENTO.DeleteObject(btd));
                        dbTemp.SaveChanges();
                    }

                    BE_BECA_TIPO becaTipoSave = db.BE_BECA_TIPO.Where(b => b.CODIGO == becaTipo.CODIGO).Single();
                    becaTipoSave.NOMBRE = becaTipo.NOMBRE;
                    convertToBECA_TIPO(becaTipo).BE_BECA_TIPO_DOCUMENTO.ToList().ForEach(btd => becaTipoSave.BE_BECA_TIPO_DOCUMENTO.Add(btd));
                    db.SaveChanges();
                    writeResponseObject(becaTipoSave);
                }
            }
        }
Beispiel #2
0
        public void getStudentSolicitud(string cedula)
        {
            Models.bienestarEntities db = new Models.bienestarEntities();

            /*
             * restringir estudiantes que pueden pedir la beca
             */

            /* listar codigos periodos donde buscar */
            List <int> periodos = db.PERIODOes.Where(p => p.TPECODIGOI == 1 && p.PRDHABILMAT == "1").Select(p => p.PRDCODIGOI).ToList();

            /* listar codigos matriculas donde buscar */
            List <long> matriculas = db.MATRICULAs.Where(m => periodos.Contains(m.PRDCODIGOI) && m.NVLCODIGOI > 0).Select(m => m.INSCODIGOI).ToList();

            /* listar cedulas de inscripciones donde buscar */
            List <DATOSPERSONALE> datosPersonalesInscripciones = db.INSCRIPCIONs.Where(i => matriculas.Contains(i.INSCODIGOI) && i.DTPCEDULAC == cedula).Select(m => m.DATOSPERSONALE).ToList();

            DATOSPERSONALE alumno = null;

            if (datosPersonalesInscripciones.Count > 0)
            {
                alumno = datosPersonalesInscripciones.FirstOrDefault();
            }

            Models.BE_BECA_SOLICITUD beca_solicitud = null;
            var becas_solicitud = alumno != null?db.BE_BECA_SOLICITUD.Where(bs => bs.CEDULA == alumno.DTPCEDULAC) : null;

            if (becas_solicitud != null && becas_solicitud.Count() > 0)
            {
                beca_solicitud = becas_solicitud.FirstOrDefault();
            }

            writeResponseObject(new { alumno, beca_solicitud, datosPersonalesInscripciones.Count });
        }
Beispiel #3
0
        public void removeAttach(int attachCode)
        {
            Models.bienestarEntities db = new Models.bienestarEntities();

            Models.BE_BECA_ADJUNTO ba = db.BE_BECA_ADJUNTO.Where(a => a.CODIGO == attachCode).First();
            if (ba != null)
            {
                db.BE_BECA_ADJUNTO.DeleteObject(ba);
                db.SaveChanges();
            }
            writeResponse("ok");
        }
Beispiel #4
0
        public void getBecaSolicitud(int CODIGO)
        {
            Models.bienestarEntities db = new Models.bienestarEntities();

            Models.BE_BECA_SOLICITUD beca_solicitud = null;
            var becas_solicitud = db.BE_BECA_SOLICITUD.Where(bs => bs.CODIGO == CODIGO);

            if (becas_solicitud.Count() > 0)
            {
                beca_solicitud = becas_solicitud.First();
            }

            writeResponseObject(beca_solicitud);
        }
Beispiel #5
0
        public void removeTipoBeca(int codeTipoBeca)
        {
            if (Utils.haveAccessTo(Utils.MODULOBECAS))
            {
                Models.bienestarEntities db = new Models.bienestarEntities();

                Models.BE_BECA_TIPO bt = db.BE_BECA_TIPO.Where(b => b.CODIGO == codeTipoBeca).First();
                if (bt != null)
                {
                    db.BE_BECA_TIPO.DeleteObject(bt);
                    db.SaveChanges();
                }
                writeResponse("ok");
            }
        }
Beispiel #6
0
        static public int getPeriodo(DateTime date)
        {
            Models.bienestarEntities db = new Models.bienestarEntities();
            var periodos = db.PERIODOes.Where(p => p.TPECODIGOI == 1).OrderByDescending(o => o.PRDCODIGOI).ToList();

            foreach (var periodo in periodos)
            {
                if (date.CompareTo(periodo.PRDFECINIF) >= 0)
                {
                    return(periodo.PRDCODIGOI);
                }
            }

            return(-1);
        }
Beispiel #7
0
        public void getAttach(int code)
        {
            Models.bienestarEntities db = new Models.bienestarEntities();

            Models.BE_BECA_ADJUNTO ba = db.BE_BECA_ADJUNTO.Where(a => a.CODIGO == code).First();

            byte[] response = null;

            if (ba != null && ba.ADJUNTO != null)
            {
                response = ba.ADJUNTO;
            }

            Context.Response.ContentType = ba.CONTENTTYPE;
            Context.Response.AddHeader("content-disposition", "attachment; filename=" + ba.NOMBRE);
            Context.Response.BinaryWrite(response);
            Context.Response.Flush();
            Context.Response.End();
        }
Beispiel #8
0
        static public void sendMail(string to, string subject, string body)
        {
            // consulting data, credentials from database
            Models.bienestarEntities db = new Models.bienestarEntities();
            string mailCredentials      = db.BE_DATOS_SISTEMA.Where(d => d.NOMBRE == "userMailCredentials").Select(d => d.VALOR).First();
            string passwordCredentials  = db.BE_DATOS_SISTEMA.Where(d => d.NOMBRE == "passwordCredentials").Select(d => d.VALOR).First();
            string server = db.BE_DATOS_SISTEMA.Where(d => d.NOMBRE == "smtpServer").Select(d => d.VALOR).First();
            int    port   = Int32.Parse(db.BE_DATOS_SISTEMA.Where(d => d.NOMBRE == "smtpPort").Select(d => d.VALOR).First());

            SmtpClient smtpClient = new SmtpClient(server, port);

            smtpClient.Credentials = new System.Net.NetworkCredential(mailCredentials, passwordCredentials);
            smtpClient.EnableSsl   = true;
            MailMessage mail = new MailMessage();

            mail.Subject = subject;
            mail.Body    = body;
            mail.From    = new MailAddress(mailCredentials);
            mail.To.Add(new MailAddress(to));

            smtpClient.Send(mail);
        }
Beispiel #9
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);
        }
Beispiel #10
0
 public void getTipos()
 {
     Models.bienestarEntities db = new Models.bienestarEntities();
     writeResponseObject(db.BE_BECA_TIPO.ToList());
 }
Beispiel #11
0
 public void getAttachBeca(int codeBeca)
 {
     Models.bienestarEntities db = new Models.bienestarEntities();
     writeResponseObject(db.BE_BECA_ADJUNTO.Where(a => a.CODIGOSOLICITUD == codeBeca).ToList());
 }
Beispiel #12
0
 public void getListAttach()
 {
     Models.bienestarEntities db = new Models.bienestarEntities();
     writeResponseObject(db.BE_BECA_ADJUNTO.Select(a => new { a.CODIGO, a.DOCUMENTOSOLICITUD }).ToList());
 }
Beispiel #13
0
        public void addUploadedFileDataBase()
        {
            Models.bienestarEntities db = new Models.bienestarEntities();

            System.Web.HttpFileCollection hfc = System.Web.HttpContext.Current.Request.Files;

            int codigoSolicitud = Int32.Parse(System.Web.HttpContext.Current.Request.Params.Get("codigoSolicitud"));

            string descripcion = System.Web.HttpContext.Current.Request.Params.Get("descripcion");

            int cantidadDocSolicitados = db.BE_BECA_TIPO.Join(db.BE_BECA_TIPO_DOCUMENTO, bt => bt.CODIGO, btd => btd.CODIGOTIPO, (bt, btd) => new { bt, btd }).
                                         Join(db.BE_BECA_SOLICITUD, btbtd => btbtd.bt.CODIGO, bs => bs.CODIGOTIPO, (btbtd, bs) => new { btbtd, bs }).
                                         Where(w => w.bs.CODIGO == codigoSolicitud).Count();

            int cantidadAdjuntos = db.BE_BECA_ADJUNTO.Where(w => w.CODIGOSOLICITUD == codigoSolicitud).Count();

            // set attach if only if have files, and if attach count is more than count of document to attach
            if (hfc.Count > 0 && codigoSolicitud != 0 && cantidadAdjuntos < cantidadDocSolicitados + Utils.DOCUMENTMAXCANT)
            {
                Models.BE_BECA_ADJUNTO[] becaAdjunto = new Models.BE_BECA_ADJUNTO[hfc.Count];
                // CHECK THE FILE COUNT.
                for (int i = 0; i < hfc.Count; i++)
                {
                    System.Web.HttpPostedFile hpf = hfc[i];
                    if (hpf.ContentLength > 0)
                    {
                        // SAVE THE FILES IN THE FOLDER.
                        using (var memoryStream = new MemoryStream())
                        {
                            hpf.InputStream.CopyTo(memoryStream);
                            byte[] fileBytes = memoryStream.ToArray();

                            becaAdjunto[i] = new Models.BE_BECA_ADJUNTO();
                            becaAdjunto[i].CODIGOSOLICITUD    = codigoSolicitud;
                            becaAdjunto[i].CONTENTTYPE        = hfc[i].ContentType;
                            becaAdjunto[i].ADJUNTO            = fileBytes;
                            becaAdjunto[i].NOMBRE             = hfc[i].FileName;
                            becaAdjunto[i].DESCRIPCION        = hfc.AllKeys[i] == "documentoSolicitud" ? "Solicitud personal dirigida al Coordinador del Departamento de Bienestar Universitario" : descripcion;
                            becaAdjunto[i].DOCUMENTOSOLICITUD = hfc.AllKeys[i] == "documentoSolicitud";
                        }
                    }
                }

                int inserted = 0;
                for (int i = 0; i < becaAdjunto.Length; i++)
                {
                    if (becaAdjunto[i] != null && becaAdjunto[i].ADJUNTO != null && becaAdjunto[i].ADJUNTO.Length > 0)
                    {
                        db.BE_BECA_ADJUNTO.AddObject(becaAdjunto[i]);
                        inserted++;
                    }
                }

                if (inserted > 0)
                {
                    db.SaveChanges();
                }
            }

            var beca_solicitud = db.BE_BECA_SOLICITUD.Single(bs => bs.CODIGO == codigoSolicitud);

            writeResponseObject(new
            {
                beca_solicitud,
                System.Web.HttpContext.Current.Request.Params
            });
        }
Beispiel #14
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));
            }
        }