Exemplo n.º 1
0
        //[Bind(Include = "RolId,RolNombre")]
        public async Task <ActionResult> Create(RolesViewModel model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    db.Roles.Add(model.Rol);
                    db.SaveChanges();
                    await db.SaveChangesAsync();

                    //Objetos
                    foreach (var obj in model.Objetos)
                    {
                        if (obj.Seleccionado)
                        {
                            RolObjeto ao = new RolObjeto();
                            ao.RolId           = model.Rol.RolId;
                            ao.ObjetoId        = obj.ObjetoId;
                            ao.RolObjetoActivo = true;
                            db.RolObjeto.Add(ao);
                        }
                    }

                    //Apps
                    foreach (var app in model.Apps)
                    {
                        if (app.Seleccionado)
                        {
                            RolAplicacion ao = new RolAplicacion();
                            ao.AplicacionId = app.AplicacionId;
                            ao.RolId        = model.Rol.RolId;
                            db.RolAplicaciones.Add(ao);
                        }
                    }

                    if (!ModelState.Values.Any(ms => ms.Errors.Count > 0))
                    {
                        await db.SaveChangesAsync();

                        AddLog("", model.Rol.RolId, model);
                        return(RedirectToAction("Index", GetReturnSearch()));
                    }

                    //Guarda Objetos al rol
                    // guardaRolObjeto(RolObjetoList, rol.RolId);

                    return(RedirectToAction("Index"));
                }
                catch (Exception e)
                {
                    ViewBag.Error = e.ToString();
                }
            }



            return(View(new RolesViewModel {
                Rol = model.Rol, Objetos = model.Objetos, Apps = model.Apps
            }));
        }
Exemplo n.º 2
0
        public async Task <ActionResult> Edit(RolesViewModel model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    db.Entry(model.Rol).State = EntityState.Modified;
                    await db.SaveChangesAsync();

                    //Objetos
                    if (await DeleteRolObjetos(model.Rol.RolId))
                    {
                        foreach (var obj in model.Objetos)
                        {
                            if (obj.Seleccionado)
                            {
                                RolObjeto ao = new RolObjeto();
                                ao.RolId           = model.Rol.RolId;
                                ao.ObjetoId        = obj.ObjetoId;
                                ao.RolObjetoActivo = true;
                                db.RolObjeto.Add(ao);
                            }
                        }
                        await db.SaveChangesAsync();
                    }
                    else
                    {
                        ModelState.AddModelError("", "Error Deleting Detail (RolObjeto)");
                    }

                    //Apps
                    if (await DeleteRolAplicacion(model.Rol.RolId))
                    {
                        foreach (var app in model.Apps)
                        {
                            if (app.Seleccionado)
                            {
                                RolAplicacion ao = new RolAplicacion();
                                ao.AplicacionId = app.AplicacionId;
                                ao.RolId        = model.Rol.RolId;
                                db.RolAplicaciones.Add(ao);
                            }
                        }
                        await db.SaveChangesAsync();
                    }
                    else
                    {
                        ModelState.AddModelError("", "Error Deleting Detail (RolAplicacion)");
                    }


                    AddLog("", model.Rol.RolId, model);
                    return(RedirectToAction("Index", GetReturnSearch()));
                }
                catch (Exception e)
                {
                    ViewBag.Error = e.ToString();
                }
            }


            return(await GetView(model.Rol.RolId));
        }