public async Task <ActionResult> Create(ObjetosViewModel model) { if (ModelState.IsValid) { try { var objetoTemp = await db.Objeto.Where(o => o.ObjetoId == model.Objeto.ObjetoId).FirstOrDefaultAsync(); if (objetoTemp == null) { if (!model.Objeto.ObjetoMenu) { model.Objeto.ObjetoIcono = null; model.Objeto.ObjetoIdPadre = null; model.Objeto.ObjetoOrden = null; } db.Objeto.Add(model.Objeto); await db.SaveChangesAsync(); // AddLog("", model.Objeto.ObjetoId, model); if (model.Objeto.ObjetoMenu) { foreach (var app in model.Apps) { if (app.Seleccionado) { AplicacionObjeto ao = new AplicacionObjeto(); ao.AplicacionId = app.AplicacionId; ao.ObjetoId = model.Objeto.ObjetoId; db.AplicacionObjetos.Add(ao); } } } if (!ModelState.Values.Any(ms => ms.Errors.Count > 0)) { await db.SaveChangesAsync(); AddLog("", model.Objeto.ObjetoId, model); return(RedirectToAction("Index", GetReturnSearch())); } } else { ModelState.AddModelError("", "Warning, this object " + model.Objeto.ObjetoId + " already exists"); } } catch (Exception e) { ViewBag.error = e.ToString(); } } //ViewBag.ObjetoIdPadre = new SelectList(db.Objeto.Where(o => o.ObjetoId.StartsWith("__") && o.ObjetoMenu).ToList(), "ObjetoId", "ObjetoDesc", objeto.ObjetoIdPadre); ViewBag.Objeto_ObjetoIdPadre = new SelectList(await db.Objeto.Where(o => o.ObjetoId.StartsWith("__") && o.ObjetoMenu).ToListAsync(), "ObjetoId", "ObjetoDesc", model.Objeto.ObjetoIdPadre); return(View(new ObjetosViewModel { Objeto = model.Objeto, Apps = model.Apps })); }
public async Task <ActionResult> Edit(ObjetosViewModel model) { if (ModelState.IsValid) { try { if (!model.Objeto.ObjetoMenu) { model.Objeto.ObjetoIcono = null; model.Objeto.ObjetoIdPadre = null; model.Objeto.ObjetoOrden = null; } db.Entry(model.Objeto).State = EntityState.Modified; await db.SaveChangesAsync(); if (await DeleteAplicacionObjetos(model.Objeto.ObjetoId)) { if (model.Objeto.ObjetoMenu) { foreach (var app in model.Apps) { if (app.Seleccionado) { AplicacionObjeto ao = new AplicacionObjeto(); ao.AplicacionId = app.AplicacionId; ao.ObjetoId = model.Objeto.ObjetoId; db.AplicacionObjetos.Add(ao); } } await db.SaveChangesAsync(); }//if (model.Objeto.ObjetoMenu) AddLog("", model.Objeto.ObjetoId, model); return(RedirectToAction("Index", GetReturnSearch())); } else { ModelState.AddModelError("", "Error Deleting Detail (AplicacionObjetos)"); } } catch (Exception e) { ViewBag.error = e.ToString(); } } ViewBag.Objeto_ObjetoIdPadre = new SelectList(await db.Objeto.Where(o => o.ObjetoId.StartsWith("__") && o.ObjetoMenu).ToListAsync(), "ObjetoId", "ObjetoDesc", model.Objeto.ObjetoIdPadre); return(await GetView(model.Objeto.ObjetoId)); }