public ActionResult Create(IdsUsuario entity) { //entity.IdsIdCia = 1; entity.IdsRol_id = 1; Entities context = new Entities(); try { entity.Estatus = true; // TODO: Add insert logic here context.IdsUsuario.Add(entity); context.SaveChanges(); IdsPermisosPlantas IdsPlantas = new IdsPermisosPlantas(); IdsPlantas.IdsIdEmpresa = int.Parse(Request["IdsIdEmpresa"].ToString()); IdsPlantas.IdsIdUsuario = entity.IdsIdUsuario; IdsPlantas.IdsFechaAlta = System.DateTime.Now; IdsPlantas.IdsUsuarioAlta = int.Parse(Session["idUsuario"].ToString()); IdsPlantas.IdsPlantaDefault = true; context.IdsPermisosPlantas.Add(IdsPlantas); context.SaveChanges(); //ViewBag.dropdownPlanta = new SelectList(context.IdsCatEmpresas.ToList(), "IdsIdEmpresa", "IdsDescripcionEmpresa"); //return View(); return(Redirect("/usuarios")); } catch { ViewBag.dropdownPlanta = new SelectList(context.IdsCatEmpresas.ToList(), "IdsIdEmpresa", "IdsDescripcionEmpresa"); return(View()); } }
public ActionResult Permisos(IEnumerable <IdsCatEmpresas> entity) { Session["DefaultEmpresa"] = 0; Entities context = new Entities(); var idUsuarioEmpresa = (int)Session["IdUsuarioEmpresa"]; var aa = context.IdsPermisosPlantas.Where(x => x.IdsIdUsuario == idUsuarioEmpresa); if (aa.Count() >= 1) { if (aa.Where(x => x.IdsPlantaDefault == true).Count() >= 1) { Session["DefaultEmpresa"] = aa.Where(x => x.IdsPlantaDefault == true).FirstOrDefault().IdsIdEmpresa; } context.IdsPermisosPlantas.RemoveRange(aa); context.SaveChanges(); } foreach (var item in entity) { if (item.checkeado == true) // si esta chequeado { var IdsIdEmpresa = item.IdsIdEmpresa; var idEmpresa = (int)Session["idUsuarioEmpresa"]; IdsPermisosPlantas entity2 = new IdsPermisosPlantas(); entity2.IdsIdEmpresa = IdsIdEmpresa; entity2.IdsIdUsuario = idEmpresa; context.IdsPermisosPlantas.Add(entity2); context.SaveChanges(); } } Entities contex2 = new Entities(); var cc = contex2.IdsPermisosPlantas.ToList(); var a = Session["DefaultEmpresa"]; var PlantasEncontradas = cc.Where(x => x.IdsIdUsuario == idUsuarioEmpresa && x.IdsIdEmpresa == (Int32)Session["DefaultEmpresa"]); // si la planta que estaba como defaul aun existe, se buelve a poner default if (PlantasEncontradas.Count() >= 1) { IdsPermisosPlantas editar = new IdsPermisosPlantas(); editar = context.IdsPermisosPlantas.ToList().Where(x => x.IdsIdEmpresa == (Int32)Session["DefaultEmpresa"] && x.IdsIdUsuario == idUsuarioEmpresa).FirstOrDefault(); editar.IdsPlantaDefault = true; context.IdsPermisosPlantas.Add(editar); context.Entry(editar).State = System.Data.Entity.EntityState.Modified; context.SaveChanges(); } else// si no { if (!context.IdsPermisosPlantas.Any(x => x.IdsIdUsuario == idUsuarioEmpresa))// si quito todas, se vuelbe a agregar la planta default { IdsPermisosPlantas insertar = new IdsPermisosPlantas(); insertar.IdsFechaAlta = System.DateTime.Now; insertar.IdsIdEmpresa = (Int32)Session["DefaultEmpresa"]; insertar.IdsIdUsuario = idUsuarioEmpresa; } IdsPermisosPlantas editar = new IdsPermisosPlantas(); editar = context.IdsPermisosPlantas.ToList().Where(x => x.IdsIdUsuario == idUsuarioEmpresa).FirstOrDefault(); editar.IdsPlantaDefault = true; context.IdsPermisosPlantas.Attach(editar); context.Entry(editar).State = System.Data.Entity.EntityState.Modified; context.SaveChanges(); } return(Redirect("/Usuarios/Index")); }