示例#1
0
        public ActionResult EditingInline_Destroy([DataSourceRequest] DataSourceRequest request, equipo_por_rack _equip)
        {
            List <equipo_por_rack> tCache;

            //PopulateSoftware();

            if (_equip != null)
            {
                tCache = (List <equipo_por_rack>)TempData["epr"];

                equipo_por_rack sxe_todelete = null;
                // Find item to be removed
                foreach (equipo_por_rack sxeitem in tCache)
                {
                    if (sxeitem.equipo_fk == _equip.equipo_fk && sxeitem.rack_fk == _equip.rack_fk)
                    {
                        sxe_todelete = sxeitem;
                        sxe_todelete.observaciones = "DELETED";
                    }
                }



                TempData["epr"] = tCache;


                ers.Destroy(_equip);
            }

            return(Json(new[] { _equip }.ToDataSourceResult(request, ModelState)));
        }
        public ActionResult Create([Bind(Include = "idrack,codigo,nombre,ubicacion_fk,orden,altura_u,prof_inch,proveedor_fk")] rack rack)
        {
            if (ModelState.IsValid)
            {
                db.rack.Add(rack);
                db.SaveChanges();
                /*Software por equipo*/
                if (TempData["epr"] != null)
                {
                    foreach (equipo_por_rack _spe in (List <equipo_por_rack>)TempData["epr"])
                    {
                        equipo_por_rack newItem = new equipo_por_rack();

                        newItem.equipo    = null;
                        newItem.equipo_fk = _spe.equipo_fk;
                        newItem.rack_fk   = rack.idrack;
                        // newItem.observaciones = _spe.observaciones;
                        newItem.inicia_u = _spe.inicia_u;


                        db.equipo_por_rack.Add(newItem);
                    }
                }
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.proveedor_fk = new SelectList(db.proveedor, "idproveedor", "nombre_comercial", rack.proveedor_fk);
            ViewBag.ubicacion_fk = new SelectList(db.ubicacion, "idubicacion", "nombre", rack.ubicacion_fk);
            return(View(rack));
        }
示例#3
0
        public ActionResult EditingInline_Update([DataSourceRequest] DataSourceRequest request, equipo_por_rack _equip)
        {
            List <equipo_por_rack> tCache;

            cloudmanageEntities ent = new cloudmanageEntities();

            if (_equip != null && ModelState.IsValid)
            {
                //     ers.Update(_equip);
                if (_equip.equipo_fk > 0)
                {
                    _equip.equipo_nombre = GetPersonalizedNameForEquipoNombre(_equip.equipo_fk);      //  ent.equipo.Where(s => s.idequipo == _equip.equipo_fk).Select(s => s.s_equipo_numero_serie).First();
                }
                else
                {
                    _equip.equipo_nombre = "";
                }



                //  Add new item
                bool isPrex = false;

                tCache          = (List <equipo_por_rack>)TempData["epr"];
                TempData["epr"] = tCache;

                for (int i = 0; i < tCache.Count; i++)
                {
                    if (tCache[i].equipo_fk == _equip.equipo_fk)
                    {
                        tCache[i] = _equip;   // Replace updated item.
                        isPrex    = true;
                    }
                }

                TempData["epr"] = tCache;



                if (!isPrex)
                {
                    tCache = (List <equipo_por_rack>)TempData["epr"];
                    tCache.Add(_equip);
                    TempData["epr"] = tCache;
                }
                else   // Update fields
                {
                }
            }



            return(Json(new[] { _equip }.ToDataSourceResult(request, ModelState)));
        }
示例#4
0
        public ActionResult EditingInline_Create([DataSourceRequest] DataSourceRequest request, equipo_por_rack _equip)
        {
            List <equipo_por_rack> tCache;

            cloudmanageEntities ent = new cloudmanageEntities();

            if (_equip != null && ModelState.IsValid)
            {
                // Update internal field for equipo_fk
                if (Int32.TryParse(_equip.equipo_nombre, out int tval))
                {
                    _equip.equipo_fk = tval;
                }

                // If valid equipo_fk  update equipo_nombre
                if (_equip.equipo_fk > 0)
                {
                    try
                    {
                        // _equip.equipo_nombre = ent.equipo.Where(s => s.idequipo == _equip.equipo_fk).
                        //Select(s => s.s_equipo_numero_serie).First();

                        _equip.equipo_nombre = GetPersonalizedNameForEquipoNombre(_equip.equipo_fk);
                    }
                    catch (Exception ex)
                    {
                        string err = ex.Message;
                    }
                }
                else
                {
                    _equip.equipo_nombre = "";
                    _equip.equipo        = null;
                }

                //  Add new item
                bool isPrex = false;

                tCache          = (List <equipo_por_rack>)TempData["epr"];
                TempData["epr"] = tCache;

                foreach (equipo_por_rack sspe in tCache)
                {
                    if (sspe.equipo_fk == _equip.equipo_fk)
                    {
                        isPrex = true;
                    }
                }
                if (!isPrex)
                {
                    tCache = (List <equipo_por_rack>)TempData["epr"];
                    tCache.Add(_equip);
                    TempData["epr"] = tCache;
                }
            }


            return(Json(new[] { _equip }.ToDataSourceResult(request, ModelState)));
        }
        public ActionResult Edit([Bind(Include = "idrack,codigo,nombre,ubicacion_fk,orden,altura_u,prof_inch,proveedor_fk")] rack rack)
        {
            //*****//  ViewBag.equipos = new SelectList(db.equipo, "idequipo", "s_equipo_numero_serie");   //*****//

            if (ModelState.IsValid)
            {
                //*****// down


                db.Entry(rack).State = EntityState.Modified;
                db.SaveChanges();


                /*Equipo por rack*/
                if (TempData["epr"] != null)
                {
                    using (var dbDinamo = new cloudmanageEntities())
                    {
                        foreach (equipo_por_rack _epr in (List <equipo_por_rack>)TempData["epr"])
                        {
                            if (dbDinamo.equipo_por_rack.Find(_epr.equipo_fk, _epr.rack_fk) != null)
                            {
                                _epr.equipo = null;
                                _epr.rack   = null;


                                if (_epr.observaciones == "DELETED")
                                {
                                    db.Entry(_epr).State = EntityState.Deleted;
                                }
                                else
                                {
                                    db.Entry(_epr).State = EntityState.Modified;
                                }
                            }
                            else
                            {
                                equipo_por_rack newItem = new equipo_por_rack();

                                newItem.equipo    = null;
                                newItem.equipo_fk = _epr.equipo_fk;
                                newItem.rack_fk   = rack.idrack;
                                // newItem.observaciones = _epr.observaciones;
                                newItem.inicia_u = _epr.inicia_u;

                                db.Entry(newItem).State = EntityState.Added;
                            }
                        }
                    }
                }

                //*****// up

                db.SaveChanges();



                // Get contained equipos
                rack racky = db.rack.Find(rack.idrack);          // db.rack.Include(s => s.equipo_por_rack).FirstOrDefault(x => x.idrack == rack.idrack);
                if (racky == null)
                {
                    return(HttpNotFound());
                }
                equipo        tempOne     = new equipo();
                List <equipo> equiposRack = new List <equipo>();
                foreach (equipo_por_rack _exr in racky.equipo_por_rack)
                {
                    _exr.equipo      = db.equipo.Find(_exr.equipo_fk);
                    tempOne          = new equipo();
                    tempOne.idequipo = _exr.equipo.idequipo;
                    tempOne.altura_u = _exr.equipo.altura_u;
                    tempOne.s_equipo_numero_serie = _exr.equipo.s_equipo_numero_serie + " " + _exr.equipo.marca_modelo.modelo + " (" + _exr.equipo.altura_u + "U)";
                    tempOne.comentarios           = _exr.inicia_u.ToString(); //OJO//

                    equiposRack.Add(tempOne);
                }
                ViewBag.equiposRack = equiposRack;


                // Recover current existent values.
                List <equipo_por_rack> exr = racky.equipo_por_rack.ToList();    //OJO//
                TempData["epr"] = exr;


                // GENERAL BEHAVIOR OK   return RedirectToAction("Index");
                // New Behavior
                ViewBag.proveedor_fk = new SelectList(db.proveedor, "idproveedor", "nombre_comercial", rack.proveedor_fk);
                ViewBag.ubicacion_fk = new SelectList(db.ubicacion, "idubicacion", "nombre", rack.ubicacion_fk);
                ViewBag.equipos      = GetEquiposSelectList();
                return(View(rack));
                // End new behavior
            }
            ViewBag.proveedor_fk = new SelectList(db.proveedor, "idproveedor", "nombre_comercial", rack.proveedor_fk);
            ViewBag.ubicacion_fk = new SelectList(db.ubicacion, "idubicacion", "nombre", rack.ubicacion_fk);
            return(View(rack));
        }