Ejemplo n.º 1
0
        private static string MenuString(Castellano.Membresia.MenuItem menuItem, int padding)
        {
            string retorno = string.Empty;

            foreach (Castellano.Membresia.MenuItem m in Castellano.Membresia.MenuItem.GetAll(menuItem))
            {
                string style = string.Format("style='padding-left: {0}px;'", padding);

                List <Castellano.Membresia.MenuItem> items = Castellano.Membresia.MenuItem.GetAll(m);

                if (items.Any())
                {
                    retorno += string.Format("<li><a href='{0}'><span {1}>" + m.Nombre + "</span><i class='fa fa-chevron-down parent'></i></a>", m.Url, style);
                    retorno += "<ul class=\"sub-menu\">";
                    retorno += MenuExtension.MenuString(m, padding + 5);
                    retorno += "</ul></li>";
                }
                else
                {
                    retorno += string.Format("<li><a href='{0}'><span {1}>" + m.Nombre + "</span></a>", m.Url, style);
                    retorno += "</li>";
                }
            }

            return(retorno);
        }
Ejemplo n.º 2
0
        private static string MenuOrderable(Castellano.Membresia.MenuItem menuItem)
        {
            string retorno = string.Empty;

            foreach (Castellano.Membresia.MenuItem m in Castellano.Membresia.MenuItem.GetAll(menuItem))
            {
                List <Castellano.Membresia.MenuItem> items = Castellano.Membresia.MenuItem.GetAll(m);

                if (items.Any())
                {
                    retorno += string.Format("<li class='dd-item' data-id='{0}'>", m.Id);
                    retorno += string.Format("<div class='dd-handle'>{0}</div>", m.Nombre);
                    retorno += string.Format("<div>{0}{1}{2}</div>", Castellano.Helpers.ActionLinkExtension.ActionLinkCrudEmbedded(m.Id, m.MenuItemId, TypeButton.Add), Castellano.Helpers.ActionLinkExtension.ActionLinkCrudEmbedded(m.Id, m.MenuItemId, TypeButton.Edit), Castellano.Helpers.ActionLinkExtension.ActionLinkCrudEmbedded(m.Id, m.MenuItemId, TypeButton.Delete));
                    retorno += "<ol class='dd-list'>";
                    retorno += MenuExtension.MenuOrderable(m);
                    retorno += "</ol></li>";
                }
                else
                {
                    retorno += string.Format("<li class='dd-item' data-id='{0}'>", m.Id);
                    retorno += string.Format("<div class='dd-handle'>{0}</div>", m.Nombre);
                    retorno += string.Format("<div>{0}{1}</div>", Castellano.Helpers.ActionLinkExtension.ActionLinkCrudEmbedded(m.Id, m.MenuItemId, TypeButton.Edit), Castellano.Helpers.ActionLinkExtension.ActionLinkCrudEmbedded(m.Id, m.MenuItemId, TypeButton.Delete));
                    retorno += "</li>";
                }
            }

            return(retorno);
        }
Ejemplo n.º 3
0
        public JsonResult DeleteItemsMenu(Guid aplicacionId, Guid itemId)
        {
            try
            {
                Castellano.Membresia.MenuItem menuItem = Castellano.Membresia.MenuItem.Get(aplicacionId, Castellano.Membresia.Menu.MenuPrincipal.Id, itemId);

                using (Castellano.Membresia.Context context = new Castellano.Membresia.Context())
                {
                    foreach (Castellano.Membresia.MenuItem m in Castellano.Membresia.MenuItem.GetAll(menuItem))
                    {
                        new Castellano.Membresia.MenuItem
                        {
                            AplicacionId = m.AplicacionId,
                            MenuId       = m.MenuId,
                            Id           = m.Id,
                            MenuItemId   = m.MenuItemId,
                            Nombre       = m.Nombre,
                            Informacion  = m.Informacion,
                            Icono        = m.Icono,
                            Url          = m.Url,
                            Visible      = m.Visible,
                            MuestraMenus = m.MuestraMenus
                        }.Delete(context);

                        context.SubmitChanges();
                    }

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

                    context.SubmitChanges();
                }

                return(this.Json("200 ok", JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Ejemplo n.º 4
0
        public JsonResult GetItemMenu(Guid aplicacionId, Guid itemId)
        {
            Castellano.Membresia.MenuItem menuItem = Castellano.Membresia.MenuItem.Get(aplicacionId, Castellano.Membresia.Menu.MenuPrincipal.Id, itemId);

            Castellano.Web.UI.Areas.Administracion.Models.MenuItem m = new Castellano.Web.UI.Areas.Administracion.Models.MenuItem
            {
                Nombre      = menuItem.Nombre,
                Informacion = menuItem.Informacion,
                Url         = menuItem.Url,
                Visible     = menuItem.Visible
            };

            return(this.Json(m, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 5
0
        public ActionResult ItemsMenu(Castellano.Web.UI.Areas.Administracion.Models.MenuItem model)
        {
            if (!this.ModelState.IsValid)
            {
                return(this.View());
            }

            try
            {
                Castellano.Membresia.MenuItem menuItem = Castellano.Membresia.MenuItem.Get(model.AplicacionId, Castellano.Membresia.Menu.MenuPrincipal.Id, model.Id);

                using (Castellano.Membresia.Context context = new Castellano.Membresia.Context())
                {
                    Castellano.Membresia.MenuItem m = new Castellano.Membresia.MenuItem
                    {
                        AplicacionId = model.AplicacionId,
                        MenuId       = Castellano.Membresia.Menu.MenuPrincipal.Id,
                        Id           = model.Id,
                        MenuItemId   = model.MenuItemId,
                        Nombre       = model.Nombre,
                        Informacion  = model.Informacion,
                        Icono        = model.Icono,
                        Url          = model.Url,
                        Visible      = model.Visible,
                        MuestraMenus = model.MuestraMenus
                    };

                    if (menuItem == null)
                    {
                        menuItem = Castellano.Membresia.MenuItem.Get(model.AplicacionId, Castellano.Membresia.Menu.MenuPrincipal.Id, model.MenuItemId.Value);

                        m.Orden = Castellano.Membresia.MenuItem.Last(menuItem);
                    }
                    else
                    {
                        m.Orden = menuItem.Orden;
                    }

                    m.Save(context);

                    foreach (Castellano.Membresia.Accion accion in Castellano.Membresia.Accion.GetAll())
                    {
                        new Castellano.Membresia.MenuItemAccion
                        {
                            AplicacionId = model.AplicacionId,
                            MenuId       = Castellano.Membresia.Menu.MenuPrincipal.Id,
                            MenuItemId   = model.Id,
                            AccionCodigo = accion.Codigo
                        }.Save(context);
                    }

                    context.SubmitChanges();
                }

                return(this.View());
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Ejemplo n.º 6
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();
            }
        }