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)); }
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))); }
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)); }