Пример #1
0
 public static List <Suscripcion> GetAll(Castellano.Membresia.Aplicacion aplicacion, Castellano.Membresia.Usuario usuario)
 {
     return
         ((
              from query in Query.GetSuscripciones(aplicacion, usuario)
              select query
              ).ToList <Suscripcion>());
 }
Пример #2
0
        public ActionResult Aplicaciones(Castellano.Web.UI.Areas.Administracion.Models.Aplicacion model)
        {
            if (!this.ModelState.IsValid)
            {
                return(this.View(model));
            }

            Castellano.Membresia.Aplicacion aplicacion = Castellano.Membresia.Aplicacion.Get(model.Id);

            using (Castellano.Membresia.Context context = new Castellano.Membresia.Context())
            {
                foreach (Castellano.Membresia.Perfil perfil in Castellano.Membresia.Perfil.GetAll())
                {
                    new Castellano.Membresia.AplicacionPerfil
                    {
                        AplicacionId = model.Id,
                        PerfilId     = perfil.Id
                    }.Delete(context);
                }

                context.SubmitChanges();
            }

            using (Castellano.Membresia.Context context = new Castellano.Membresia.Context())
            {
                new Castellano.Membresia.Aplicacion
                {
                    Id         = model.Id,
                    MenuId     = aplicacion == null ? default(Guid) : aplicacion.MenuId,
                    MenuItemId = aplicacion == null ? default(Guid) : aplicacion.MenuItemId,
                    Nombre     = model.Nombre.Trim(),
                    Clave      = model.Clave.Trim(),
                    Orden      = model.Orden
                }.Save(context);

                foreach (Guid perfilId in model.SelectedPerfil)
                {
                    new Castellano.Membresia.AplicacionPerfil
                    {
                        AplicacionId = model.Id,
                        PerfilId     = perfilId
                    }.Save(context);
                }

                context.SubmitChanges();
            }

            return(this.Json("200 ok", JsonRequestBehavior.DenyGet));
        }
Пример #3
0
        public JsonResult GetAplicacion(Guid id)
        {
            Castellano.Membresia.Aplicacion aplicacion = Castellano.Membresia.Aplicacion.Get(id);

            List <Castellano.Membresia.AplicacionPerfil> aplicacionPerfiles = Castellano.Membresia.AplicacionPerfil.GetAll(aplicacion);

            return(this.Json(new Castellano.Web.UI.Areas.Administracion.Models.Aplicacion
            {
                Id = aplicacion.Id,
                Nombre = aplicacion.Nombre,
                Clave = aplicacion.Clave,
                Orden = aplicacion.Orden,
                SelectedPerfil = aplicacionPerfiles.Any() ? aplicacionPerfiles.Select <Castellano.Membresia.AplicacionPerfil, Guid>(x => x.PerfilId).ToList <Guid>() : null
            }, JsonRequestBehavior.AllowGet));
        }
Пример #4
0
        public static MvcHtmlString MenuOrderable(this HtmlHelper helper, Castellano.Membresia.Aplicacion aplicacion)
        {
            if (!aplicacion.MenuItemId.HasValue)
            {
                throw new Exception("La aplicación no tiene la relación con el ítem de menú root");
            }

            TagBuilder t = new TagBuilder("div");

            t.Attributes.Add("id", "menu");

            t.AddCssClass("dd");

            t.InnerHtml += "<ol class='dd-list'>";

            foreach (Castellano.Membresia.MenuItem menuItem in Castellano.Membresia.MenuItem.GetAll(Castellano.Membresia.Menu.MenuPrincipal, aplicacion, aplicacion.Inicio))
            {
                t.InnerHtml += "<li class='dd-item' data-id='" + menuItem.Id.ToString() + "'>";

                t.InnerHtml += string.Format("<div class='dd-handle'>{0}</div>", menuItem.Nombre);

                t.InnerHtml += string.Format("<div>{0}{1}{2}</div>", Castellano.Helpers.ActionLinkExtension.ActionLinkCrudEmbedded(menuItem.Id, menuItem.MenuItemId, TypeButton.Add), Castellano.Helpers.ActionLinkExtension.ActionLinkCrudEmbedded(menuItem.Id, menuItem.MenuItemId, TypeButton.Edit), Castellano.Helpers.ActionLinkExtension.ActionLinkCrudEmbedded(menuItem.Id, menuItem.MenuItemId, TypeButton.Delete));

                string html = MenuExtension.MenuOrderable(menuItem);

                if (string.IsNullOrEmpty(html))
                {
                    t.InnerHtml += "</li>";
                }
                else
                {
                    t.InnerHtml += "<ol class='dd-list'>";

                    t.InnerHtml += html;

                    t.InnerHtml += "</ol></li>";
                }
            }

            t.InnerHtml += "</ol>";

            return(new MvcHtmlString(t.ToString(TagRenderMode.Normal)));
        }
Пример #5
0
        public JsonResult DeleteAplicacion(Guid id)
        {
            Castellano.Membresia.Aplicacion aplicacion = Castellano.Membresia.Aplicacion.Get(id);

            using (Castellano.Membresia.Context context = new Castellano.Membresia.Context())
            {
                new Castellano.Membresia.Aplicacion
                {
                    Id         = aplicacion.Id,
                    MenuId     = aplicacion.MenuId,
                    MenuItemId = aplicacion.MenuItemId,
                    Nombre     = aplicacion.Nombre,
                    Clave      = aplicacion.Clave,
                    Orden      = aplicacion.Orden
                }.Delete(context);

                context.SubmitChanges();
            }

            return(this.Json("200 ok", JsonRequestBehavior.AllowGet));
        }
Пример #6
0
        public JsonResult GetRolAccion(Guid rolId, Guid aplicacionId)
        {
            Castellano.Membresia.Rol rol = Castellano.Membresia.Rol.Get(rolId);

            Castellano.Membresia.Aplicacion aplicacion = Castellano.Membresia.Aplicacion.Get(aplicacionId);

            List <Castellano.Membresia.Accion> acciones = Castellano.Membresia.Accion.GetAll();

            Castellano.Web.UI.Areas.Administracion.Models.RolAccion.RolAcciones rolAcciones = new Castellano.Web.UI.Areas.Administracion.Models.RolAccion.RolAcciones();

            foreach (Castellano.Membresia.MenuItem menuItem in Castellano.Membresia.MenuItem.GetAll(Castellano.Membresia.Menu.MenuPrincipal, aplicacion))
            {
                Castellano.Web.UI.Areas.Administracion.Models.RolAccion model = new Castellano.Web.UI.Areas.Administracion.Models.RolAccion
                {
                    RolId        = rol.Id,
                    AplicacionId = aplicacion.Id,
                    MenuId       = menuItem.MenuId,
                    MenuItemId   = menuItem.Id,
                    MenuItem     = menuItem.Nombre
                };

                foreach (Castellano.Membresia.Accion accion in acciones)
                {
                    model.Accion += string.Format("<label class='checkbox-inline'><input type='checkbox' checked='' name='Accion' class='icheck'>{0}</label>", accion.Nombre);

                    model.Acciones.Add(new SelectListItem
                    {
                        Text  = accion.Nombre,
                        Value = accion.Codigo.ToString()
                    });
                }

                rolAcciones.data.Add(model);
            }

            return(this.Json(rolAcciones, JsonRequestBehavior.AllowGet));
        }
Пример #7
0
        public JsonResult GetItemsMenu(Guid aplicacionId)
        {
            Castellano.Membresia.Aplicacion aplicacion = Castellano.Membresia.Aplicacion.Get(aplicacionId);

            return(this.Json(Castellano.Helpers.MenuExtension.MenuOrderable(null, aplicacion).ToString(), JsonRequestBehavior.AllowGet));
        }
Пример #8
0
        public static void OrderMenu(string data)
        {
            List <MenuAuxiliar> menusauxiliares = new List <MenuAuxiliar>();

            JArray jsonArray = JsonConvert.DeserializeObject(data) as JArray;

            Guid menuItemId = (Guid)(jsonArray.First["id"]);

            Castellano.Membresia.Aplicacion aplicacion = Castellano.Membresia.Aplicacion.GetAplicacion(menuItemId);

            //Se rompe la relación  recursiva del padre con el hijo
            using (Castellano.Membresia.Context context = new Castellano.Membresia.Context())
            {
                foreach (Castellano.Membresia.MenuItem menuItem in Castellano.Membresia.MenuItem.GetAll(Castellano.Membresia.Menu.MenuPrincipal, aplicacion).Where <Castellano.Membresia.MenuItem>(x => !x.Equals(aplicacion.Inicio)))
                {
                    new Castellano.Membresia.MenuItem
                    {
                        AplicacionId = menuItem.AplicacionId,
                        MenuId       = menuItem.MenuId,
                        Id           = menuItem.Id,
                        MenuItemId   = default(Guid),
                        Nombre       = menuItem.Nombre,
                        Informacion  = menuItem.Informacion,
                        Icono        = menuItem.Icono,
                        Url          = menuItem.Url,
                        Visible      = menuItem.Visible,
                        MuestraMenus = menuItem.MuestraMenus,
                        Orden        = menuItem.Orden
                    }.Save(context);
                }

                context.SubmitChanges();
            }

            //Se obtiene el orden y los nuevos padres e hijos desde el Json generado por el control
            foreach (JObject j in jsonArray)
            {
                menusauxiliares.Add(new MenuAuxiliar
                {
                    Padre = aplicacion.Inicio.Id,
                    Hijo  = (Guid)j["id"]
                });

                JArray array = j["children"] as JArray;

                if (array != null)
                {
                    MenuItem.OrderMenu(array, (Guid)j["id"], menusauxiliares);
                }
            }

            int order = (aplicacion.Orden * 1000) + 1;

            using (Castellano.Membresia.Context context = new Castellano.Membresia.Context())
            {
                foreach (MenuAuxiliar menuAuxiliar in menusauxiliares)
                {
                    Castellano.Membresia.MenuItem menuItem = Castellano.Membresia.Query.GetMenuItemes().SingleOrDefault <Castellano.Membresia.MenuItem>(x => x.Id.Equals(menuAuxiliar.Hijo));

                    new Castellano.Membresia.MenuItem
                    {
                        AplicacionId = menuItem.AplicacionId,
                        MenuId       = menuItem.MenuId,
                        Id           = menuItem.Id,
                        MenuItemId   = menuAuxiliar.Padre,
                        Nombre       = menuItem.Nombre,
                        Informacion  = menuItem.Informacion,
                        Icono        = menuItem.Icono,
                        Url          = menuItem.Url,
                        Visible      = menuItem.Visible,
                        MuestraMenus = menuItem.MuestraMenus,
                        Orden        = order
                    }.Save(context);

                    order++;
                }

                context.SubmitChanges();
            }
        }