Exemplo n.º 1
0
        /* EFECTO: Elimina una solicitud de cambio, hecha por el propio usuario
         * REQUIERE: ID
         * MODIFICA: La información de la base de datos  */
        public ActionResult eliminarSolicitud(string id)
        {
            CAMBIOS        cambio = db.CAMBIOS.Find(id);
            REQUERIMIENTOS req    = db.REQUERIMIENTOS.Find(cambio.NUEVO_REQ_ID, cambio.NUEVO_VER_ID);

            var fg = new AspNetUsers();                 //instancia AspNetUser para usuario actual

            var listauser = db.AspNetUsers.ToArray();

            for (int i = 0; i < listauser.Length; i++)
            {                           //de todos los AspNetUser del sistema, encuentra el usuario activo actualmente
                if (listauser[i].Email == User.Identity.Name)
                {
                    fg = listauser[i];                  //obtiene el AspNetUser actual
                }
            }

            var usuario = db.USUARIOS.Where(u => u.ID_ASP.Equals(fg.Id)).Single();

            if ((cambio.CEDULA == usuario.CEDULA) && (req.ESTADO_CAMBIOS == "Pendiente"))
            {
                db.CAMBIOS.Remove(cambio);
                db.REQUERIMIENTOS.Remove(req);
                db.SaveChanges();
                return(Json(new { success = true }));
            }
            else
            {
                return(Json(new { success = false }));
            }
        }
Exemplo n.º 2
0
        /* EFECTO: Muestra la vista para crear una solicitud de cambio
         * REQUIERE: Selecionar un requerimiento previamente (id y version)
         * MODIFICA: N/A  */
        public ActionResult Create(string id, int version)
        {
            var            cambio         = new CAMBIOS();
            var            correoUsuario  = db.CORREOS.Where(s => s.CORREO == User.Identity.Name).Single();
            USUARIOS       actual         = correoUsuario.USUARIOS;
            int            v              = db.REQUERIMIENTOS.Where(s => s.ID == id).Select(s => s.VERSION_ID).Max() + 1;
            REQUERIMIENTOS rEQUERIMIENTOS = db.REQUERIMIENTOS.Find(id, version);

            rEQUERIMIENTOS.VERSION_ID     = v;
            rEQUERIMIENTOS.ESTADO_CAMBIOS = "Pendiente";
            cambio.USUARIOS        = actual;
            cambio.CEDULA          = actual.CEDULA;
            cambio.FECHA           = DateTime.Now;
            cambio.REQUERIMIENTOS1 = rEQUERIMIENTOS;
            cambio.VIEJO_REQ_ID    = id;
            cambio.VIEJO_VER_ID    = version;
            cambio.NUEVO_REQ_ID    = id;
            cambio.NUEVO_VER_ID    = v;
            ViewBag.PRYCTOID       = new SelectList(db.PROYECTO, "ID", "NOMBRE", rEQUERIMIENTOS.PRYCTOID);
            ViewBag.ENCARGADO      = new SelectList(db.USUARIOS.Where(s => s.PRYCTOID == rEQUERIMIENTOS.PRYCTOID), "CEDULA", "NOMBRE", rEQUERIMIENTOS.ENCARGADO);

            var fg = new AspNetUsers();                 //instancia AspNetUser para usuario actual

            var listauser = db.AspNetUsers.ToArray();

            for (int i = 0; i < listauser.Length; i++)
            {                           //de todos los AspNetUser del sistema, encuentra el usuario activo actualmente
                if (listauser[i].Email == User.Identity.Name)
                {
                    fg = listauser[i];                  //obtiene el AspNetUser actual
                }
            }

            AspNetRoles rol = fg.AspNetRoles.First();

            if (rol.Name == "Desarrollador" || rol.Name == "Administrador")
            {
                TempData["Desarrollador"] = "display:true";
            }
            else
            {
                TempData["Desarrollador"] = "display:none";
            }
            return(View(cambio));
        }
Exemplo n.º 3
0
 /* EFECTO: Requerimiento antiguo
  * REQUIERE: Que el estado sea Aprobado
  * MODIFICA: El requerimiento que será el nuevo aprobado y el anterior  */
 public /*ActionResult*/ void AceptarSolicitud(CambiosViewModel modelo, REQUERIMIENTOS antiguo, REQUERIMIENTOS nuevo, CAMBIOS cambio /*, CAMBIOS actual*/)
 {
     if (modelo.propuesto.ESTADO_CAMBIOS == "Aprobado")
     {
         //antiguo.ESTADO_CAMBIOS = "Obsoleto";
         REQUERIMIENTOS pivote = nuevo;
         nuevo   = antiguo;
         antiguo = pivote;
         nuevo.ESTADO_CAMBIOS = "Obsoleto";
         cambio.VIEJO_REQ_ID  = cambio.NUEVO_REQ_ID;
         cambio.VIEJO_VER_ID  = cambio.NUEVO_VER_ID;
         modelo.vigente       = antiguo;
         //modelo.propuesto.ESTADO_CAMBIOS = modelo.propuesto.ESTADO_CAMBIOS;
         //actual = cambio;
     }
     //return modelo;
 }
Exemplo n.º 4
0
        public ActionResult DetallesSolicitud(CambiosViewModel modelo)
        {
            if (modelo == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            REQUERIMIENTOS cambioActualizado = db.REQUERIMIENTOS.Find(modelo.propuesto.ID, modelo.propuesto.VERSION_ID);
            REQUERIMIENTOS reqAntiguo        = db.REQUERIMIENTOS.Find(modelo.actual.ID, modelo.actual.VERSION_ID);

            cambioActualizado.NOMBRE      = modelo.propuesto.NOMBRE;
            cambioActualizado.DESCRIPCION = modelo.propuesto.DESCRIPCION;
            cambioActualizado.ENCARGADO   = modelo.propuesto.ENCARGADO;
            cambioActualizado.ESFUERZO    = modelo.propuesto.ESFUERZO;
            cambioActualizado.ESTADO      = modelo.propuesto.ESTADO;
            cambioActualizado.FECHAFINAL  = modelo.propuesto.FECHAFINAL;
            cambioActualizado.FECHAINCIO  = modelo.propuesto.FECHAINCIO;
            //cambioActualizado.IMAGEN = modelo.propuesto.IMAGEN;
            //cambioActualizado.rutaImagen = modelo.propuesto.rutaImagen;
            //cambioActualizado.CRIT_ACEPTACION = modelo.propuesto.CRIT_ACEPTACION;
            cambioActualizado.MODULO        = modelo.propuesto.MODULO;
            cambioActualizado.OBSERVACIONES = modelo.propuesto.OBSERVACIONES;
            cambioActualizado.PRIORIDAD     = modelo.propuesto.PRIORIDAD;
            //cambioActualizado.PROYECTO = modelo.propuesto.PROYECTO;
            //cambioActualizado.PRYCTOID = modelo.propuesto.PRYCTOID;
            cambioActualizado.SPRINT = modelo.propuesto.SPRINT;
            //cambioActualizado.USUARIOS = modelo.propuesto.USUARIOS;
            //cambioActualizado.VERSION_ID = modelo.propuesto.VERSION_ID;

            var fg = new AspNetUsers();                 //instancia AspNetUser para usuario actual

            var listauser = db.AspNetUsers.ToArray();

            for (int i = 0; i < listauser.Length; i++)
            {                           //de todos los AspNetUser del sistema, encuentra el usuario activo actualmente
                if (listauser[i].Email == User.Identity.Name)
                {
                    fg = listauser[i];                  //obtiene el AspNetUser actual
                }
            }

            var usuario = db.USUARIOS.Where(u => u.ID_ASP.Equals(fg.Id)).Single();

            CAMBIOS cambio = db.CAMBIOS.Find(modelo.solicitud.ID);

            cambio.DESCRIPCION   = modelo.solicitud.DESCRIPCION;
            cambio.FECHA         = DateTime.Now;
            cambio.JUSTIFICACION = modelo.solicitud.JUSTIFICACION;

            if ((cambioActualizado.ESTADO_CAMBIOS != modelo.propuesto.ESTADO_CAMBIOS) || (modelo.propuesto.ESTADO_CAMBIOS == "En revisión"))
            {
                cambio.CED_REV = usuario.CEDULA;
                if (modelo.solicitud.FECHA_REV == null)
                {
                    cambio.FECHA_REV = DateTime.Now;
                }
                else
                {
                    cambio.FECHA_REV = modelo.solicitud.FECHA_REV;
                }
                cambio.JUST_REV = modelo.solicitud.JUST_REV;
                AceptarSolicitud(modelo, reqAntiguo, cambioActualizado, cambio);
            }

            cambioActualizado.ESTADO_CAMBIOS = modelo.propuesto.ESTADO_CAMBIOS;
            //if (ModelState.IsValid)
            //{
            db.Entry(reqAntiguo).State        = EntityState.Modified;
            db.Entry(cambioActualizado).State = EntityState.Modified;
            db.SaveChanges();
            return(RedirectToAction("DetallesSolicitud", new { ID = modelo.solicitud.ID }));
            //}
            //return null;
        }
Exemplo n.º 5
0
 public ActionResult Create(/*[Bind(Include = "ID,CEDULA,FECHA,DESCRIPCION,JUSTIFICACION,VIEJO_REQ_ID,VIEJO_VER_ID,NUEVO_REQ_ID,NUEVO_VER_ID,JUST_REV,FECHA_REV,CED_REV,REQUERIMIENTOS1")] */ CAMBIOS cAMBIOS)
 {
     if (ModelState.IsValid)
     {
         cAMBIOS.ID = Guid.NewGuid().ToString().Substring(0, 7);
         db.REQUERIMIENTOS.Add(cAMBIOS.REQUERIMIENTOS1);
         db.CAMBIOS.Add(cAMBIOS);
         db.SaveChanges();
         TempData["Create"] = "Exito";
     }
     else
     {
         TempData["Create"] = "Error";
         return(RedirectToAction("Create"));
     }
     return(RedirectToAction("Requerimientos"));
 }