Esempio n. 1
0
        public ActionResult Borrar(ModulosModificarModel model)
        {
            if (ModelState.IsValid)
            {
                int model_numero = Int32.Parse(model.numero);

                var modulosViejos = baseDatos.Sprint_Modulos.Where(m => m.modulo == model_numero && m.proyecto == model.proyecto).ToList();
                if (modulosViejos.Count() > 0)
                {
                    foreach (var mod in modulosViejos)
                    {
                        baseDatos.Entry(mod).State = System.Data.Entity.EntityState.Deleted;
                    }
                }

                var requerimientosViejos = baseDatos.Requerimientos.Where(m => m.modulo == model_numero && m.proyecto == model.proyecto).ToList();
                if (requerimientosViejos.Count() > 0)
                {
                    foreach (var req in requerimientosViejos)
                    {
                        req.modulo = null;
                        baseDatos.Entry(req).State = System.Data.Entity.EntityState.Modified;
                    }
                }

                var modulo = baseDatos.Modulos.Find(model.proyecto, model_numero);
                baseDatos.Entry(modulo).State = System.Data.Entity.EntityState.Deleted;

                baseDatos.SaveChanges();
                this.AddToastMessage("Módulo Eliminado", "El módulo " + model.numero + " se ha eliminado correctamente.", ToastType.Success);
                return(RedirectToAction("Informacion", "Proyectos", new { id = model.proyecto }));
            }
            return(View(model));
        }
Esempio n. 2
0
        // GET: Modulos/Detalles
        public ActionResult Detalles(string proyecto, string numero)
        {
            if (!revisarPermisos("Consultar Detalles de Módulos"))
            {
                //Despliega mensaje en caso de no poder crear un proyecto
                this.AddToastMessage("Acceso Denegado", "No tienes permiso para ver detalles de módulos!", ToastType.Warning);
                return(RedirectToAction("Index", "Home"));
            }
            if (String.IsNullOrEmpty(proyecto) || String.IsNullOrEmpty(numero))
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            var modulo = new Modulo();

            modulo.proyecto = proyecto;
            modulo.numero   = Int32.Parse(numero);
            var listaDeModulos = baseDatos.Modulos.Where(m => m.numero == modulo.numero && m.proyecto == modulo.proyecto);

            if (listaDeModulos.Count() > 0)
            {
                var modulo1 = listaDeModulos.First();
                var model   = new ModulosModificarModel();
                model.numero   = numero;
                model.nombre   = modulo1.nombre;
                model.proyecto = proyecto;
                var requerimientos = baseDatos.Requerimientos.Where(m => m.proyecto == proyecto && m.categoria == "Actual").ToList();
                ViewBag.listarequerimientos = new List <ModulosModel.reqInfo>();
                foreach (var req in requerimientos)
                {
                    var req2 = new ModulosModel.reqInfo();
                    req2.id     = req.id.ToString();
                    req2.nombre = req.nombre;
                    ViewBag.listarequerimientos.Add(req2);
                }
                var reqEnProyecto = baseDatos.Requerimientos.Where(m => m.proyecto == proyecto && m.modulo == modulo.numero && m.categoria == "Actual").ToList();
                model.requerimientos = new List <string>();
                foreach (var req in reqEnProyecto)
                {
                    model.requerimientos.Add(req.id.ToString());
                }

                ViewBag.modificar = revisarPermisos("Modificar Módulos");
                ViewBag.eliminar  = revisarPermisos("Eliminar Módulos");

                return(View(model));
            }
            else
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
        }
Esempio n. 3
0
        public ActionResult Detalles(ModulosModificarModel model)
        {
            if (ModelState.IsValid)
            {
                var modulo = baseDatos.Modulos.Find(model.proyecto, Int32.Parse(model.numero));
                modulo.nombre = model.nombre;
                baseDatos.Entry(modulo).State = System.Data.Entity.EntityState.Modified;
                var reqViejos = baseDatos.Requerimientos.Where(m => m.proyecto == modulo.proyecto && m.modulo == modulo.numero && (m.categoria == "Actual" || m.categoria == "En revisión")).ToList();
                if (reqViejos.Count() > 0)
                {
                    foreach (var req in reqViejos)
                    {
                        req.modulo = null;
                        baseDatos.Entry(req).State = System.Data.Entity.EntityState.Modified;
                    }
                }
                if (model.requerimientos != null && model.requerimientos.Count() > 0)
                {
                    foreach (var req in model.requerimientos)
                    {
                        var requerimiento = baseDatos.Requerimientos.Find(Int32.Parse(req));
                        requerimiento.modulo = modulo.numero;
                        baseDatos.Entry(requerimiento).State = System.Data.Entity.EntityState.Modified;
                        var solicitudesDeCambio = baseDatos.Solicitud_Cambios.Where(m => m.req1 == requerimiento.id).ToList();
                        if (solicitudesDeCambio != null && solicitudesDeCambio.Count() > 0)
                        {
                            foreach (var solicitud in solicitudesDeCambio)
                            {
                                var requerimiento2 = baseDatos.Requerimientos.Find(solicitud.req2);
                                requerimiento2.modulo = modulo.numero;
                                baseDatos.Entry(requerimiento2).State = System.Data.Entity.EntityState.Modified;
                            }
                        }
                    }
                }

                if (modulo.Sprint_Modulos.Any())
                {
                    foreach (var sprint_modulo in modulo.Sprint_Modulos.ToList())
                    {
                        updateSprintPoints(sprint_modulo.proyecto, sprint_modulo.sprint);
                    }
                }

                baseDatos.SaveChanges();
                this.AddToastMessage("Módulo Modificado", "El módulo " + model.nombre + " se ha modificado correctamente.", ToastType.Success);
                return(RedirectToAction("Detalles", "Modulos", new { proyecto = model.proyecto, numero = model.numero }));
            }
            return(View(model));
        }