Exemplo n.º 1
0
        /// <summary>
        /// Get Title of view tree
        /// </summary>
        /// <param name="htmlHelper"></param>
        /// <param name="model"></param>
        /// <returns></returns>
        public static string Title(this HtmlHelper htmlHelper, TreeModelView model)
        {
            if (model.Model != null)
            {
                return(model.Model.GetType().GetEnumerableType().GetDescription());
            }

            if (model.ModelDto != null)
            {
                return(model.ModelDto.GetType().GetEnumerableType().GetDescription());
            }


            return(string.Empty);
        }
Exemplo n.º 2
0
        public virtual ActionResult Search(List <FilterEntity> filters, int?page) //, string orderBy)
        {
            var model = new TreeModelView();

            //Add Filtros personalizados
            filters = AddFilter(filters);



            var pageNumber = page ?? 1; // if no page was specified in the querystring, default to the first page (1)

            var pageSize = ParametroService.GetValor <int>(CodigosParametros.PARAMETRO_TAMAÑO_PAGINA_GRILLAS);

            //1. Get View
            var view     = GetViewTree();
            var treeView = view.Layout as Tree;

            model.View = treeView;

            //2. Get Data
            IPagedListMetaData <Entity> result;

            if (string.IsNullOrWhiteSpace(treeView.DefaultOrder)) // && string.IsNullOrEmpty(orderBy))
            {
                result = EntityService.GetList(filters, (pageNumber - 1) * pageSize, pageSize);
            }
            else
            {
                //if (!string.IsNullOrEmpty(orderBy))
                //{
                //    result = EntityService.GetList(filters, (pageNumber - 1) * pageSize, pageSize, orderBy);
                //}
                //else {
                result = EntityService.GetList(filters, (pageNumber - 1) * pageSize, pageSize, treeView.DefaultOrder);
                //}
            }



            var list = result.Subset as IEnumerable <IEntity>;

            model.Model             = list;
            model.PagedListMetaData = new PagedListMetaDataModel(pageNumber, pageSize, result.TotalResultSetCount);



            //3. Message
            model.Mensaje = new MensajeHelper();

            //4. Paged
            ////View Search
            //view = _viewService.Get(typeof(Entity), typeof(Search));
            ////var searchView = view.Layout as Search;
            ////view.Name
            //model.SearchView = view;

            // Order
            //model.OrderBy = !string.IsNullOrEmpty(orderBy) ? orderBy  : treeView.DefaultOrder;

            return(Request.IsAjaxRequest()
                ? (ActionResult)PartialView("FormDynamic/TreeView", model)
                : View("Index", model));
        }
Exemplo n.º 3
0
        /// <summary>
        /// Generic Index
        /// </summary>
        /// <param name="msg"></param>
        /// <param name="TipoMensaje"></param>
        /// <returns></returns>
        public virtual ActionResult Index(string msg, TipoMensaje?TipoMensaje)
        {
            //1. Model
            var model = new TreeModelView();

            if (!string.IsNullOrEmpty(Title))
            {
                model.Title = Title;
            }

            var filters = AddFilter(new List <FilterEntity>());

            //2. Get View
            var view = GetViewTree();

            var treeView = view.Layout as Tree;

            model.View = treeView;

            //3. Get Data
            if (ApplyPagination)
            {
                var pageNumber = 1;
                var pageSize   = ParametroService.GetValor <int>(CodigosParametros.PARAMETRO_TAMAÑO_PAGINA_GRILLAS);

                IPagedListMetaData <Entity> result;
                if (string.IsNullOrWhiteSpace(treeView.DefaultOrder))
                {
                    result = EntityService.GetList(filters, (pageNumber - 1) * pageSize, pageSize);
                }
                else
                {
                    result = EntityService.GetList(filters, (pageNumber - 1) * pageSize, pageSize, treeView.DefaultOrder);
                }

                model.Model             = result.Subset as IEnumerable <IEntity>;
                model.PagedListMetaData = new PagedListMetaDataModel(pageNumber, pageSize, result.TotalResultSetCount);
            }
            else
            {
                if (string.IsNullOrWhiteSpace(treeView.DefaultOrder))
                {
                    model.Model = EntityService.GetList(filters) as IEnumerable <IEntity>;
                }
                else
                {
                    model.Model = EntityService.GetList(filters, treeView.DefaultOrder) as IEnumerable <IEntity>;
                }
            }


            //4. View Search
            if (ApplySearch)
            {
                var searchView = GetViewSearch();

                //TODO: de la misma forma que formview, se puede generar metadatos..
                //Ejemplo si el filtro es un entidad.. (Visualizar el listado de esa entidad)
                //Si el campo... enum. (Crear un combo con las opciones posibles)
                //
                //model.MetadataSearchView = GenerateMetadataView.Generate(searchView, view.ModelType);

                //var searchView = view.Layout as Search;
                //view.Name
                model.SearchView = searchView;
            }


            //5. Message
            model.Mensaje = new MensajeHelper();
            if (TipoMensaje.HasValue)
            {
                model.Mensaje.Texto = msg;
                model.Mensaje.Tipo  = TipoMensaje.Value;
            }

            // Order
            model.OrderBy = treeView.DefaultOrder;

            ////5. Pagination
            //if (ApplyPagination)
            //{
            //    model.PagedListMetaData = new PagedListMetaDataModel();
            //}

            return(View(model));
        }