コード例 #1
0
        public JsonResult Edit(FuncionalidadModeloVista entidad)
        {
            var funcionalidad = _iFuncionalidadService.Get(entidad.Id);

            funcionalidad.Codigo      = entidad.Codigo;
            funcionalidad.Nombre      = entidad.Nombre;
            funcionalidad.Controlador = entidad.Controlador;
            funcionalidad.Descripcion = entidad.Descripcion;
            funcionalidad.EstadoId    = entidad.EstadoId;
            funcionalidad.SistemaId   = _application.GetCurrentSistema().Id;

            //Actualizados
            var actualizados = funcionalidad.Acciones.Where(c => entidad.Acciones.Any(d => c.Id == d.Id));

            foreach (var actualizado in actualizados)
            {
                var elemento = entidad.Acciones.FirstOrDefault(i => i.Id == actualizado.Id);
                if (elemento != null)
                {
                    actualizado.Codigo = elemento.Codigo;
                    actualizado.Nombre = elemento.Nombre;
                }
            }

            //Nuevos
            var nuevos = entidad.Acciones.Where(c => c.Id == 0);

            foreach (var nuevo in nuevos)
            {
                var a = new Accion();
                a.Codigo = nuevo.Codigo;
                a.Nombre = nuevo.Nombre;
                funcionalidad.Acciones.Add(a);
            }

            //Eliminados
            var eliminados = funcionalidad.Acciones.Where(c => entidad.Acciones.All(d => c.Id != d.Id)).ToList();

            _iFuncionalidadService.EliminarAcciones(eliminados);

            _iFuncionalidadService.SaveOrUpdate(funcionalidad);
            return(Json(entidad, JsonRequestBehavior.AllowGet));
        }
コード例 #2
0
        private IEnumerable <object> getItems(ICollection <MenuItem> items)
        {
            var itemsVista = (from x in items
                              let MenuPadreNombre = string.IsNullOrEmpty(x.PadreCodigo) ? string.Empty : _menuService.GetItem(x.PadreCodigo).Nombre
                                                    let TipoNombre = x.TipoId.ToString()
                                                                     let EstadoNombre = _catalogoService.GetItem((int)x.EstadoId)?.Nombre
                                                                                        let FuncionalidadNombre = _funcionalidadService.Get(x.FuncionalidadId ?? 0)?.Nombre
                                                                                                                  orderby x.Nombre
                                                                                                                  select new
            {
                x.Id,
                x.Codigo,
                x.Descripcion,
                x.EstadoId,
                x.FuncionalidadId,
                x.Icono,
                x.Nombre,
                x.Orden,
                x.PadreCodigo,
                MenuPadreNombre,
                TipoNombre,
                EstadoNombre,
                FuncionalidadNombre,
                x.TipoId,
                x.Url
            });

            return(itemsVista);
        }