Exemple #1
0
        public ActionResult AddressesGridGetItems(GridParams g, int restaurantId)
        {
            var items = Db.RestaurantAddresses.Where(o => o.RestaurantId == restaurantId).AsQueryable();
            var model = new GridModelBuilder <RestaurantAddress>(items, g).Build();

            return(Json(model));
        }
        public ActionResult GetItems(GridParams g, bool collapsed)
        {
            //passing 2 Functions MakeFooter and MakeHeader to customize header and add footer

            var builder =
                new GridModelBuilder <Lunch>(Db.Lunches.AsQueryable(), g)
            {
                Key        = "Id",
                Map        = o => new { o.Id, o.Person, o.Food, Date = o.Date.ToShortDateString(), o.Price, o.Location, ChefName = o.Chef.FirstName + " " + o.Chef.LastName },
                MakeFooter = MakeFooter,
                MakeHeader = gr =>
                {
                    //get first item in the group
                    var first = gr.Items.First();

                    //get the grouped column value(s) for the first item
                    var val = string.Join(" ", AweUtil.GetColumnValue(gr.Column, first).Select(ToStr));

                    return(new GroupHeader
                    {
                        Content = string.Format(" {0} : {1} ( Count = {2}, Max Price = {3} )",
                                                gr.Header,
                                                val,
                                                gr.Items.Count(),
                                                gr.Items.Max(o => o.Price)),
                        Collapsed = collapsed
                    });
                }
            };

            return(Json(builder.Build()));
        }
        public ActionResult GetAllMissingTranslations(GridParams g)
        {
            var items              = Ilanguages.GetAll().AsQueryable();
            List <languages> data  = new List <languages>();
            AdminController  admin = new AdminController();

            foreach (var column in items)
            {
                System.Data.DataTable table = admin.getTable();
                for (int i = table.Rows.Count - 1; i >= 0; i--)
                {
                    // whatever your criteria is

                    if (table.Rows[i][column.LanguageName].ToString() != "")
                    {
                        table.Rows[i].Delete();
                    }
                }
                languages a = new languages();
                a.Id                      = Convert.ToInt32(column.Id);
                a.LanguageCode            = column.LanguageCode;
                a.LanguageName            = column.LanguageName;
                a.MissingTranslationCount = table.Rows.Count;
                data.Add(a);
            }

            var key   = Convert.ToInt32(g.Key);
            var model = new GridModelBuilder <languages>(data.AsQueryable(), g)
            {
                Key     = "Id",
                GetItem = () => data.Single(x => x.Id == key)
            }.Build();

            return(Json(model));
        }
Exemple #4
0
        public ActionResult MultiColGrid(GridParams g)
        {
            g.Paging = false;

            var items = new List <GridArrayRow>();

            for (var i = 1; i < data.Count; i++)
            {
                items.Add(new GridArrayRow {
                    Id = data[i][0], Values = data[i].ToArray()
                });
            }

            // reinit columns at start or when new column has been added
            if (g.Columns.Length == 0 || g.Columns.Length != data[0].Count - 1)
            {
                var columns = new List <Column>();

                for (var i = 1; i < data[0].Count; i++)
                {
                    columns.Add(new Column {
                        Header = data[0][i], Bind = i.ToString(), ClientFormatFunc = "txtVal(" + i + ")", Resizable = true
                    });
                }

                g.Columns = columns.ToArray();
            }

            var model = new GridModelBuilder <GridArrayRow>(items.AsQueryable(), g).Build();

            return(Json(model));
        }
Exemple #5
0
        /*end1*/

        /*begin2*/
        public ActionResult LazyTree(GridParams g)
        {
            var rootNodes = Db.TreeNodes.Where(o => o.Parent == null);

            var builder = new GridModelBuilder <TreeNode>(rootNodes.AsQueryable(), g)
            {
                Key         = "Id", // required for the TreeGrid
                GetChildren = (node, nodeLevel) =>
                {
                    var children = Db.TreeNodes.Where(o => o.Parent == node).AsQueryable();

                    // set this node as lazy when it's above level 1 (relative), it has children, and this is not a lazy request already
                    if (nodeLevel > 1 && children.Any() && g.Key == null)
                    {
                        return(Awe.LazyNode);
                    }

                    return(children);
                },
                GetItem = () => // used for lazy loading
                {
                    var id = Convert.ToInt32(g.Key);
                    return(Db.TreeNodes.FirstOrDefault(o => o.Id == id));
                },
                Map = o => new { o.Name, o.Id }
            };

            return(Json(builder.Build()));
        }
        /*begin*/
        public ActionResult GetItems(GridParams g, string[] selectedColumns, bool? choosingColumns)
        {
            //when setting columns from here we don't get the grid defaults, so we have to specify Sortable, Groupable etc.
            var columns = new[]
                              {
                                  new Column { Name = "Id", Width = 70, Order = 1 },
                                  new Column { Name = "Person", Sortable = true, Groupable = true, GroupRemovable = true, Order = 2 },
                                  new Column { Name = "Food", Sortable = true, Groupable = true, GroupRemovable = true, Order = 3 },
                                  new Column { Name = "Location", Sortable = true, Groupable = true, GroupRemovable = true, Order = 4 },
                                  new Column { Name = "Date", Sortable = true, Groupable = true, GroupRemovable = true, Width = 100, Order = 5 },
                                  new Column { Name = "Price", Sortable = true, Groupable = true, GroupRemovable = true, Width = 100, Order = 6 },
                              };

            var baseColumns = new[] { "Id", "Person" };

            //first load
            if (g.Columns.Length == 0)
            {
                g.Columns = columns;
            }

            if (choosingColumns.HasValue && selectedColumns == null)
            {
                selectedColumns = new string[] { };
            }

            if (selectedColumns != null)
            {
                //make sure we always have Id and Person columns
                selectedColumns = selectedColumns.Union(baseColumns).ToArray();

                var currectColumns = g.Columns.ToList();

                //remove unselected columns
                currectColumns = currectColumns.Where(o => selectedColumns.Contains(o.Name)).ToList();

                //add missing columns
                var missingColumns = selectedColumns.Except(currectColumns.Select(o => o.Name)).ToArray();

                currectColumns.AddRange(columns.Where(o => missingColumns.Contains(o.Name)));

                g.Columns = currectColumns.ToArray();
            }

            var gridModel = new GridModelBuilder<Lunch>(Db.Lunches.AsQueryable(), g).Build();

            // used to populate the checkboxlist
            gridModel.Tag =
                new
                    {
                        columns = columns.Select(o => o.Name).Except(baseColumns).ToArray(),
                        selectedColumns = g.Columns.Select(o => o.Name).Except(baseColumns).ToArray()
                    };

            return Json(gridModel);
        }
        public ActionResult RestaurantGridGetItems(GridParams g)
        {
            var model = new GridModelBuilder <Restaurant>(Db.Restaurants.Where(o => o.IsCreated).AsQueryable(), g)
            {
                Key     = "Id",
                GetItem = () => Db.Get <Restaurant>(Convert.ToInt32(g.Key))
            }.Build();

            return(Json(model));
        }
Exemple #8
0
        public ActionResult GridGetItems(GridParams g, int restaurantId)
        {
            var items = Db.RestaurantAddresses.Where(o => o.RestaurantId == restaurantId).AsQueryable();
            var model = new GridModelBuilder <RestaurantAddress>(items, g)
            {
                Key     = "Id",
                GetItem = () => Db.Get <RestaurantAddress>(Convert.ToInt32(g.Key))
            }.Build();

            return(Json(model));
        }
Exemple #9
0
        public ActionResult LanguageItems(GridParams g)
        {
            var items = Ilanguages.GetAll().AsQueryable();
            var key   = Convert.ToInt32(g.Key);
            var model = new GridModelBuilder <Language>(items, g)
            {
                Key     = "Id",
                GetItem = () => items.Single(x => x.Id == key)
            }.Build();

            return(Json(model));
        }
        public ActionResult TranslationItems(GridParams g, string TextId, string LanguageCode)
        {
            var items = ITranslation.GetTranslationLogByCode(TextId, LanguageCode).AsQueryable();
            var key   = Convert.ToInt32(g.Key);
            var model = new GridModelBuilder <Translation>(items.AsQueryable(), g)
            {
                Key     = "Id",
                GetItem = () => items.Single(x => x.Id == key)
            }.Build();

            return(Json(model));
        }
        public ActionResult UserDataItems(GridParams g)
        {
            var items = IUsers.GetUsers().AsQueryable();
            var key   = Convert.ToInt32(g.Key);
            var model = new GridModelBuilder <UserMaster>(items, g)
            {
                Key     = "Id",
                GetItem = () => items.Single(x => x.Id == key)
            }.Build();

            return(Json(model));
        }
Exemple #12
0
        /*begin1*/
        public ActionResult SimpleTree(GridParams g)
        {
            var rootNodes = Db.TreeNodes.Where(o => o.Parent == null);

            var builder = new GridModelBuilder <TreeNode>(rootNodes.AsQueryable(), g)
            {
                Key         = "Id", //required for the TreeGrid
                GetChildren = (node, nodeLevel) => Db.TreeNodes.Where(o => o.Parent == node).AsQueryable(),
                Map         = o => new { o.Name, o.Id }
            };

            return(Json(builder.Build()));
        }
        public ActionResult GridGetItems(GridParams g, string search)
        {
            search = (search ?? "").ToLower();
            var items = Db.Dinners.Where(o => o.Name.ToLower().Contains(search)).AsQueryable();
            var model = new GridModelBuilder <Dinner>(items, g)
            {
                Key     = "Id",                                          // needed for api select, update, tree, nesting, EF
                GetItem = () => Db.Get <Dinner>(Convert.ToInt32(g.Key)), // called by the grid.api.update
                Map     = MapToGridModel,
            }.Build();

            return(Json(model));
        }
        public ActionResult GetTaxonomy(GridParams g)
        {
            var list = db.taxonomy_vocabulary.AsQueryable();

            var model = new GridModelBuilder <taxonomy_vocabulary>(list.AsQueryable(), g)
            {
                Key = "vid"
            }.Build();

            return(Json(model));

            //return Json(new GridModelBuilder<Mica_Variable>(list, g)
            //{
            //    // Key = "Id", // needed for Entity Framework, nesting, tree, grid api (select, update)
            //    // EF can't do paging unless it orders at least by one column so we will order by that column when there is no sorted columns
            //}.Build());
        }
Exemple #15
0
        public ActionResult GridGetItems(GridParams g, string search)
        {
            search = (search ?? "").ToLower();
            //var list = mapdb.Mappers.Where(o => o.ID.ToLower().Contains(search) || o.Product.ToLower().Contains(search));
            var list = _mapdb.Mappers.Where(o => o.Id.ToString() == search);


            var builder = new GridModelBuilder <Mapper>(list.AsQueryable(), g)
            {
                Key = "Id",
                //Map = o => new { o.Id, o.Person, o.Food, o.Date, o.Price, o.Location, ChefName = o.Chef.FirstName + " " + o.Chef.LastName },
                //MakeFooter = MakeFooter,
                //MakeHeader = gr =>
                //{
                //    //get first item in the group
                //    var first = gr.Items.First();

                //    //get the grouped column value(s) for the first item
                //    var val = string.Join(" ", AweUtil.GetColumnValue(gr.Column, first).Select(ToStr));

                //    return new GroupHeader
                //    {
                //        Content = string.Format(" {0} : {1} ( Count = {2}, <input type='checkbox' name='id' value='{3}'/> )",
                //                gr.Header,
                //                val,
                //                gr.Items.Count(),
                //            //gr.Items.Max(o => o.delta)
                //                null),
                //        Collapsed = collapsed
                //    };
                //}
            };

            var j = builder.Build();

            return(Json(j));


            //return Json(new GridModelBuilder<Mapper>(list.OrderByDescending(o => o.ID).AsQueryable(), g)
            //{
            //    Key = "Id", // needed for api select, update, tree, nesting, EF
            //    GetItem = () => mapdb.Mappers.Where(o => o.ID == (Convert.ToInt32(g.Key))
            //}.Build());
        }
Exemple #16
0
        /*end2*/

        /*begin3*/
        //clear nodesAdded on aweload
        public ActionResult CrudTree(GridParams g, string name, int[] nodesAdded)
        {
            name       = name ?? "";
            nodesAdded = nodesAdded ?? new int[] { };

            var result       = Db.TreeNodes.Where(o => o.Name.ToLower().Contains(name.ToLower()) || nodesAdded.Contains(o.Id)).ToList();
            var searchResult = result.ToList();

            foreach (var treeNode in searchResult)
            {
                AddParentsTo(result, treeNode);
            }

            var roots = result.Where(o => o.Parent == null);

            var model = new GridModelBuilder <TreeNode>(roots.AsQueryable(), g)
            {
                Key         = "Id",
                GetChildren = (node, nodeLevel) =>
                {
                    // non lazy version
                    //var children = result.Where(o => o.Parent == node).ToArray();
                    //return children.AsQueryable();

                    var children = result.Where(o => o.Parent == node).AsQueryable();

                    // set this node as lazy when it's above level 1 (relative), it has children, and this is not a lazy request already
                    if (nodeLevel > 1 && children.Any() && g.Key == null)
                    {
                        return(Awe.LazyNode);
                    }

                    return(children);
                },
                GetItem = () => // used for grid api updateItem
                {
                    var id = Convert.ToInt32(g.Key);
                    return(Db.TreeNodes.FirstOrDefault(o => o.Id == id));
                },
                Map = MapNode
            };

            return(Json(model.Build()));
        }
        public ActionResult GridGetItems(GridParams g)
        {
            var list = Db.Dinners.AsQueryable();

            var gridModel = new GridModelBuilder <Dinner>(list, g)
            {
                Key = "Id", // needed when using EF, nesting, tree, client api
                Map = o => new
                {
                    o.Id,
                    o.Name,
                    Date        = o.Date.ToString("dd MMM yyyy"),
                    CountryName = o.Country.Name,
                    ChefName    = o.Chef.FirstName + " " + o.Chef.LastName
                }
            }.Build();

            return(Json(gridModel));
        }
Exemple #18
0
        public ActionResult GridGetItems(GridParams g, string parent, bool?restore)
        {
            var isAdmin = User.IsInRole("admin");

            var data = service.Where(o => o.Name.Contains(parent), isAdmin);

            if (restore.HasValue && isAdmin)
            {
                service.Restore(Convert.ToInt32(g.Key));
            }

            var model = new GridModelBuilder <Dinner>(data.AsQueryable(), g)
            {
                Key     = "Id",
                Map     = MapEntityToGridModel,
                GetItem = () => service.Get(Convert.ToInt32(g.Key))
            }.Build();

            return(Json(model));
        }
Exemple #19
0
        public ActionResult GridGetItems(GridParams g, string parent, bool?restore)
        {
            var isAdmin = WebUtils.IsUserAdmin();

            var data = service.GetAll(isAdmin).Where(o => o.Login.StartsWith(parent));

            if (restore.HasValue && isAdmin)
            {
                service.Restore(Convert.ToInt32(g.Key));
            }

            var model = new GridModelBuilder <User>(data.AsQueryable(), g)
            {
                Key     = "Id",
                Map     = MapEntityToGridModel,
                GetItem = () => service.Get(Convert.ToInt32(g.Key))
            }.Build();

            return(Json(model));
        }
        public ActionResult GridGetItems(GridParams g, string parent, bool?restore)
        {
            var isAdmin = User.IsInRole("admin");

            var data = chefRepo.Where(o => o.FirstName.StartsWith(parent) || o.LastName.StartsWith(parent), isAdmin);

            if (restore.HasValue && isAdmin)
            {
                service.Restore(Convert.ToInt32(g.Key));
            }

            var model = new GridModelBuilder <Chef>(data.AsQueryable(), g)
            {
                Key     = "Id",
                Map     = MapEntityToGridModel,
                GetItem = () => chefRepo.Get(Convert.ToInt32(g.Key))
            }.Build();

            return(Json(model));
        }
        public ActionResult GetItems(GridParams g, int[] abc, bool collapsed)
        {
            //passing 2 Functions MakeFooter and MakeHeader to customize header and add footer
            try
            {
                var builder = new GridModelBuilder <variable_vw>(db.variable_vw.AsQueryable(), g)
                {
                    Key = "Id",
                    //Map = o => new { o.Id, o.Person, o.Food, o.Date, o.Price, o.Location, ChefName = o.Chef.FirstName + " " + o.Chef.LastName },
                    MakeFooter = MakeFooter,
                    MakeHeader = gr =>
                    {
                        //get first item in the group
                        var first = gr.Items.First();

                        //get the grouped column value(s) for the first item
                        var val = string.Join(" ", AweUtil.GetColumnValue(gr.Column, first).Select(ToStr));

                        return(new GroupHeader
                        {
                            Content = string.Format(" {0} : {1} ( Count = {2}, Max Price = {3} )",
                                                    gr.Header,
                                                    val,
                                                    gr.Items.Count(),
                                                    //gr.Items.Max(o => o.delta)
                                                    null),
                            Collapsed = collapsed
                        });
                    }
                };

                var j = builder.Build();

                return(Json(j));
            }
            catch (Exception ex)
            {
                string message = ex.Message;
                return(null);
            }
        }
Exemple #22
0
        public ActionResult GetGridData(GridParams g, bool?restore)
        {
            var isAdmin = WebUtils.IsUserAdmin();

            var data = service.GetAll(isAdmin);

            if (restore.HasValue && isAdmin)
            {
                OnCrud(ChangeType.Edit);
                service.Restore(Convert.ToInt32(g.Key));
            }

            var model = new GridModelBuilder <Meal>(data, g)
            {
                KeyProp = o => o.Id,
                Map     = o => new { o.Id, o.Name, o.Comments, o.Picture, o.IsDeleted },
                GetItem = () => service.Get(Convert.ToInt32(g.Key))
            }.Build();

            return(Json(model));
        }
Exemple #23
0
        public ActionResult GridGetItems(GridParams g, string parent, bool?restore)
        {
            var isAdmin = WebUtils.IsUserAdmin();

            var data = service.GetAll(isAdmin).Where(o => o.Name.Contains(parent));

            if (restore.HasValue && isAdmin)
            {
                service.Restore(Convert.ToInt32(g.Key));
                OnCrud(ChangeType.Edit);
            }

            var model = new GridModelBuilder <Dinner>(data, g)
            {
                KeyProp = o => o.Id,
                Map     = MapEntityToGridModel,
                GetItem = () => service.Get(Convert.ToInt32(g.Key))
            }.Build();

            return(Json(model));
        }
Exemple #24
0
        public ActionResult CohortGetItems(GridParams g, string IDList)
        {
            if (!string.IsNullOrEmpty(IDList))
            {
                Entities       db  = new Entities();
                MicaRepository ado = new MicaRepository();
                IDList = IDList.Replace("[", "");
                IDList = IDList.Replace("]", "");
                IDList = IDList.Replace("\"", "");

                //List<string> nodes = IDList.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList();
                String[] nodes = IDList.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToArray();


                //passing 2 Functions MakeFooter and MakeHeader to customize header and add footer
                try
                {
                    var dt = db.short_variable_vw.ToList().Where(o => nodes.Contains(o.nid.ToString()));
                    //var dt = ado.GetVariable_vw(GroupedIds);


                    //var builder = new GridModelBuilder<variable_vw>(db.variable_vw.AsQueryable(), g)
                    var builder = new GridModelBuilder <short_variable_vw>(dt.AsQueryable(), g)
                    {
                        Key = "nid"
                    };

                    var j = builder.Build();

                    return(Json(j));
                }
                catch (Exception ex)
                {
                    string message = ex.Message;
                    return(null);
                }
            }
            return(null);
        }
Exemple #25
0
        public ActionResult GridGetItems(GridParams g)
        {
            var data = new[]
            {
                new[] { "Id", "Name", "Meal" },
                new[] { "1", "Vincenzo", "Pizza" },
                new[] { "2", "Ella", "French toast" },
                new[] { "3", "Zazzles", "Pizza" },
                new[] { "4", "Evan", "Banana" }
            };

            var columns = new List <Column>();

            columns.Add(new Column {
                Header = "Id", ClientFormat = ".Id", Width = 100
            });

            for (var i = 1; i < data[0].Length; i++)
            {
                columns.Add(new Column {
                    Header = data[0][i], ClientFormatFunc = "getVal(" + i + ")"
                });
            }

            var items = new List <GridArrayRow>();

            for (var i = 1; i < data.Length; i++)
            {
                items.Add(new GridArrayRow {
                    Id = data[i][0], Values = data[i]
                });
            }

            g.Columns = columns.ToArray();

            var model = new GridModelBuilder <GridArrayRow>(items.AsQueryable(), g).Build();

            return(Json(model));
        }
Exemple #26
0
        private GridModel GetGridModel(IList<WatchListModel> watchListModels, int recordCount)
        {
            var columns = new List<GridColumnModel>
                              {
                                  new GridColumnModel
                                      {
                                          HeaderCell = new GridHeaderCellModel
                                                           {
                                                               ColumnType = GridColumnType.CheckBox,
                                                               IsDisabled = false
                                                           }
                                      },
                                  new GridColumnModel
                                      {
                                          HeaderCell = new GridHeaderCellModel
                                                           {
                                                               ColumnType = GridColumnType.Image,
                                                               BindingColumnName = "AlertRequired",
                                                               Label = "Alert Required?"
                                                           }
                                      },
                                  new GridColumnModel
                                      {
                                          HeaderCell = new GridHeaderCellModel
                                                           {
                                                               ColumnType = GridColumnType.Text,
                                                               BindingColumnName = "AlertRequired",
                                                               Label = "Alert Required?"
                                                           }
                                      },
                                  new GridColumnModel
                                      {
                                          HeaderCell = new GridHeaderCellModel
                                                           {
                                                               ColumnType = GridColumnType.Link,
                                                               Label = "Links"
                                                           },
                                          Links = watchListModels.Select(x => new List<GridLinkModel>
                                                                                  {
                                                                                      new GridLinkModel
                                                                                          {
                                                                                              Action = "test/test",
                                                                                              AlertMessage =
                                                                                                  "Are you sure?",
                                                                                              Behaviour =
                                                                                                  GridActionBehaviour.PostSilent,
                                                                                              ImagePath =
                                                                                                  ConfigHelper.
                                                                                                  GetBooleanImage(
                                                                                                      x.AlertRequired)
                                                                                          },
                                                                                      new GridLinkModel
                                                                                          {
                                                                                              Action = "http://google.com",
                                                                                              Behaviour = GridActionBehaviour.PostSilent,
                                                                                              Text = x.Name
                                                                                          }
                                                                                  }).ToList()
                                      }
                              };

            // Set the GridModelBuilderEntity
            var gridModelBuilderEntity = new GridModelBuilderEntity
                                             {
                                                 Columns = columns,
                                                 GridContext = new GridContext
                                                                   {
                                                                       SortInfo = new GridSortInfo
                                                                                      {
                                                                                          SortOn = "AlertRequired",
                                                                                          SortOrder = SortDirection.Descending
                                                                                      },
                                                                       SearchInfo = new GridSearchInfo
                                                                       {
                                                                           TextSearchKey = "Test search"
                                                                       }
                                                                   }
                                             };

            var gridModelBuilder = new GridModelBuilder();
            return gridModelBuilder.BuildGridModel(gridModelBuilderEntity, watchListModels, Url.Action(gridModelBuilderEntity.GridContext.DefaultAction));
        }
        /// <summary>
        /// Method to return GridModel for watchlist grid.
        /// </summary>
        /// <param name="gridContext">The grid context containing search, sort and paging info.</param>
        /// <returns>The grid model required for grid construction.</returns>
        private GridModel CreateWatchListGridModel(GridContext gridContext)
        {
            var gridModelBuilder = new GridModelBuilder();

            // Create grid search criteria from the grid context and retrieve list of watch list entities from the DB.
            var gridSearchCriteria = this.CreateGridSearchCriteriaEntity(gridContext);

            IWatchListBusiness iWatchListBusiness = new WatchListBusiness();

            var watchListEntities = iWatchListBusiness.SearchWatchList(gridSearchCriteria, 0);
            var watchListModels   = watchListEntities.Select(WatchListModel.ConvertWatchListEntityToModel).ToList();

            // Grid context is already available. Just set the number of records in it.
            gridContext.GridPager.TotalRecord = gridSearchCriteria.RecordCount;

            // Create list of columns in the grid.
            var columns = new List <GridColumnModel>
            {
                new GridColumnModel
                {
                    HeaderCell = new GridHeaderCellModel
                    {
                        BindingColumnName = "Name",
                        Label             = "Name"
                    }
                },
                new GridColumnModel
                {
                    HeaderCell = new GridHeaderCellModel
                    {
                        BindingColumnName = "BseSymbol",
                        Label             = "BSE Symbol"
                    }
                },
                new GridColumnModel
                {
                    HeaderCell = new GridHeaderCellModel
                    {
                        BindingColumnName = "NseSymbol",
                        Label             = "NSE Symbol"
                    }
                },
                new GridColumnModel
                {
                    HeaderCell = new GridHeaderCellModel
                    {
                        BindingColumnName = "AltNameOne",
                        Label             = "Alt Name One"
                    }
                },
                new GridColumnModel
                {
                    HeaderCell = new GridHeaderCellModel
                    {
                        BindingColumnName = "AltNameTwo",
                        Label             = "Alt Name Two"
                    }
                },
                new GridColumnModel
                {
                    HeaderCell = new GridHeaderCellModel
                    {
                        BindingColumnName = "AltNameThree",
                        Label             = "Alt Name Three"
                    }
                },
                new GridColumnModel
                {
                    HeaderCell = new GridHeaderCellModel
                    {
                        BindingColumnName = "TempName",
                        Label             = "Temp Name"
                    }
                },
                new GridColumnModel
                {
                    HeaderCell = new GridHeaderCellModel
                    {
                        ColumnType     = GridColumnType.Link,
                        Label          = "Is Active?",
                        SortColumnName = "IsActive"
                    },
                    Links = watchListModels.Select(x => new List <GridLinkModel>
                    {
                        new GridLinkModel
                        {
                            Action    = "WatchList/ChangeActiveStatus/" + x.WatchListID,
                            Behaviour = GridActionBehaviour.PostSilent,
                            ImagePath = ConfigHelper.GetBooleanImage(x.IsActive)
                        }
                    }).ToList()
                },
                new GridColumnModel
                {
                    HeaderCell = new GridHeaderCellModel
                    {
                        ColumnType     = GridColumnType.Link,
                        Label          = "Is Alert Required?",
                        SortColumnName = "AlertRequired"
                    },
                    Links = watchListModels.Select(x => new List <GridLinkModel>
                    {
                        new GridLinkModel
                        {
                            Action    = "WatchList/ChangeAlertStatus/" + x.WatchListID,
                            Behaviour = GridActionBehaviour.PostSilent,
                            ImagePath = ConfigHelper.GetBooleanImage(x.AlertRequired)
                        }
                    }).ToList()
                },
                new GridColumnModel
                {
                    HeaderCell = new GridHeaderCellModel
                    {
                        BindingColumnName = "ModifiedOn",
                        Label             = "Modified On"
                    }
                },
                new GridColumnModel
                {
                    HeaderCell = new GridHeaderCellModel
                    {
                        BindingColumnName = "CreatedOn",
                        Label             = "Created On"
                    }
                },
                new GridColumnModel
                {
                    HeaderCell = new GridHeaderCellModel
                    {
                        ColumnType = GridColumnType.Link
                    },
                    Links = watchListModels.Select(x => new List <GridLinkModel>
                    {
                        new GridLinkModel
                        {
                            Action    = "WatchList/EditWatchList/" + x.WatchListID,
                            Behaviour = GridActionBehaviour.Popup,
                            Text      = "Edit"
                        },
                        new GridLinkModel
                        {
                            Action    = "WatchList/DeleteWatchList/" + x.WatchListID,
                            Behaviour = GridActionBehaviour.PostSilent,
                            Text      = "Delete"
                        }
                    }).ToList()
                }
            };

            // Create grid model builder entity.
            var gridModelBuilderEntity = new GridModelBuilderEntity
            {
                Columns     = columns,
                GridContext = gridContext
            };

            // Build the grid context to be returned.
            return(gridModelBuilder.BuildGridModel(gridModelBuilderEntity, watchListModels, Url.Action(_DefaultGridAction)));
        }
        /*begin*/
        public ActionResult GetItems(GridParams g, string[] selectedColumns, bool?choosingColumns)
        {
            //when setting columns from here we don't get the grid defaults, so we have to specify Sortable, Groupable etc.
            var columns = new[]
            {
                new Column {
                    Bind = "Id", Width = 70, Order = 1
                },
                new Column {
                    Bind = "Person", Sortable = true, Groupable = true, GroupRemovable = true, Order = 2
                },
                new Column {
                    Bind = "Food", Sortable = true, Groupable = true, GroupRemovable = true, Order = 3
                },
                new Column {
                    Bind = "Location", Sortable = true, Groupable = true, GroupRemovable = true, Order = 4
                },
                new Column {
                    Bind = "Date", Sortable = true, Groupable = true, GroupRemovable = true, Width = 120, Order = 5
                },
                new Column {
                    Bind = "Price", Sortable = true, Groupable = true, GroupRemovable = true, Width = 100, Order = 6
                }
            };

            var baseColumns = new[] { "Id", "Person" };

            //first load
            if (g.Columns.Length == 0)
            {
                g.Columns = columns;
            }

            if (choosingColumns.HasValue)
            {
                selectedColumns = selectedColumns ?? new string[] { };

                //make sure we always have Id and Person columns
                selectedColumns = selectedColumns.Union(baseColumns).ToArray();

                var currectColumns = g.Columns.ToList();

                //remove unselected columns
                currectColumns = currectColumns.Where(o => selectedColumns.Contains(o.Bind)).ToList();

                //add missing columns
                var missingColumns = selectedColumns.Except(currectColumns.Select(o => o.Bind)).ToArray();

                currectColumns.AddRange(columns.Where(o => missingColumns.Contains(o.Bind)));

                g.Columns = currectColumns.ToArray();
            }

            var gridModel = new GridModelBuilder <Lunch>(Db.Lunches.AsQueryable(), g)
            {
                Map = o => new { o.Id, o.Person, o.Food, o.Location, o.Price, Date = o.Date.ToShortDateString() },
                //used to populate the checkboxlist
                Tag = new
                {
                    columns         = columns.Select(o => o.Bind).Except(baseColumns).ToArray(),
                    selectedColumns = g.Columns.Select(o => o.Bind).Except(baseColumns).ToArray()
                }
            }.Build();

            return(Json(gridModel));
        }
 public ActionResult AddressesGridGetItems(GridParams g, int restaurantId)
 {
     var items = Db.RestaurantAddresses.Where(o => o.RestaurantId == restaurantId).AsQueryable();
     var model = new GridModelBuilder<RestaurantAddress>(items, g).Build();
     return Json(model);
 }
 public ActionResult RestaurantGridGetItems(GridParams g)
 {
     var model = new GridModelBuilder<Restaurant>(Db.Restaurants.Where(o => o.IsCreated).AsQueryable(), g).Build();
     return Json(model);
 }
        /// <summary>
        /// Method to return GridModel for watchlist grid.
        /// </summary>
        /// <param name="gridContext">The grid context containing search, sort and paging info.</param>
        /// <returns>The grid model required for grid construction.</returns>
        private GridModel CreateWatchListGridModel(GridContext gridContext)
        {
            var gridModelBuilder = new GridModelBuilder();

            // Create grid search criteria from the grid context and retrieve list of watch list entities from the DB.
            var gridSearchCriteria = this.CreateGridSearchCriteriaEntity(gridContext);

            IWatchListBusiness iWatchListBusiness = new WatchListBusiness();

            var watchListEntities = iWatchListBusiness.SearchWatchList(gridSearchCriteria, 0);
            var watchListModels = watchListEntities.Select(WatchListModel.ConvertWatchListEntityToModel).ToList();

            // Grid context is already available. Just set the number of records in it.
            gridContext.GridPager.TotalRecord = gridSearchCriteria.RecordCount;

            // Create list of columns in the grid.
            var columns = new List<GridColumnModel>
                              {
                                  new GridColumnModel
                                      {
                                          HeaderCell = new GridHeaderCellModel
                                                           {
                                                               BindingColumnName = "Name",
                                                               Label = "Name"
                                                           }
                                      },
                                  new GridColumnModel
                                      {
                                          HeaderCell = new GridHeaderCellModel
                                                           {
                                                               BindingColumnName = "BseSymbol",
                                                               Label = "BSE Symbol"
                                                           }
                                      },
                                  new GridColumnModel
                                      {
                                          HeaderCell = new GridHeaderCellModel
                                                           {
                                                               BindingColumnName = "NseSymbol",
                                                               Label = "NSE Symbol"
                                                           }
                                      },
                                  new GridColumnModel
                                      {
                                          HeaderCell = new GridHeaderCellModel
                                                           {
                                                               BindingColumnName = "AltNameOne",
                                                               Label = "Alt Name One"
                                                           }
                                      },
                                  new GridColumnModel
                                      {
                                          HeaderCell = new GridHeaderCellModel
                                                           {
                                                               BindingColumnName = "AltNameTwo",
                                                               Label = "Alt Name Two"
                                                           }
                                      },
                                  new GridColumnModel
                                      {
                                          HeaderCell = new GridHeaderCellModel
                                                           {
                                                               BindingColumnName = "AltNameThree",
                                                               Label = "Alt Name Three"
                                                           }
                                      },
                                  new GridColumnModel
                                      {
                                          HeaderCell = new GridHeaderCellModel
                                                           {
                                                               BindingColumnName = "TempName",
                                                               Label = "Temp Name"
                                                           }
                                      },
                                  new GridColumnModel
                                      {
                                          HeaderCell = new GridHeaderCellModel
                                                           {
                                                               ColumnType = GridColumnType.Link,
                                                               Label = "Is Active?",
                                                               SortColumnName = "IsActive"
                                                           },
                                          Links = watchListModels.Select(x => new List<GridLinkModel>
                                                                                  {
                                                                                      new GridLinkModel
                                                                                          {
                                                                                              Action = "WatchList/ChangeActiveStatus/" + x.WatchListID,
                                                                                              Behaviour = GridActionBehaviour.PostSilent,
                                                                                              ImagePath = ConfigHelper.GetBooleanImage(x.IsActive)
                                                                                          }
                                                                                  }).ToList()
                                      },
                                  new GridColumnModel
                                      {
                                          HeaderCell = new GridHeaderCellModel
                                                           {
                                                               ColumnType = GridColumnType.Link,
                                                               Label = "Is Alert Required?",
                                                               SortColumnName = "AlertRequired"
                                                           },
                                          Links = watchListModels.Select(x => new List<GridLinkModel>
                                                                                  {
                                                                                      new GridLinkModel
                                                                                          {
                                                                                              Action = "WatchList/ChangeAlertStatus/" + x.WatchListID,
                                                                                              Behaviour = GridActionBehaviour.PostSilent,
                                                                                              ImagePath = ConfigHelper.GetBooleanImage(x.AlertRequired)
                                                                                          }
                                                                                  }).ToList()
                                      },
                                  new GridColumnModel
                                      {
                                          HeaderCell = new GridHeaderCellModel
                                                           {
                                                               BindingColumnName = "ModifiedOn",
                                                               Label = "Modified On"
                                                           }
                                      },
                                  new GridColumnModel
                                      {
                                          HeaderCell = new GridHeaderCellModel
                                                           {
                                                               BindingColumnName = "CreatedOn",
                                                               Label = "Created On"
                                                           }
                                      },
                                      new GridColumnModel
                                      {
                                          HeaderCell = new GridHeaderCellModel
                                                           {
                                                               ColumnType = GridColumnType.Link
                                                           },
                                          Links = watchListModels.Select(x => new List<GridLinkModel>
                                                                                  {
                                                                                      new GridLinkModel
                                                                                          {
                                                                                              Action = "WatchList/EditWatchList/" + x.WatchListID,
                                                                                              Behaviour = GridActionBehaviour.Popup,
                                                                                              Text = "Edit"
                                                                                          },
                                                                                      new GridLinkModel
                                                                                          {
                                                                                              Action = "WatchList/DeleteWatchList/" + x.WatchListID,
                                                                                              Behaviour = GridActionBehaviour.PostSilent,
                                                                                              Text = "Delete"
                                                                                          }
                                                                                  }).ToList()
                                      }
                              };

            // Create grid model builder entity.
            var gridModelBuilderEntity = new GridModelBuilderEntity
            {
                Columns = columns,
                GridContext = gridContext
            };

            // Build the grid context to be returned.
            return gridModelBuilder.BuildGridModel(gridModelBuilderEntity, watchListModels, Url.Action(_DefaultGridAction));
        }
Exemple #32
0
        public ActionResult RestaurantGridGetItems(GridParams g)
        {
            var model = new GridModelBuilder <Restaurant>(Db.Restaurants.Where(o => o.IsCreated).AsQueryable(), g).Build();

            return(Json(model));
        }
        /// <summary>
        /// build the scheduler view grid model
        /// </summary>
        /// <returns></returns>
        public GridModelDto <SchedulerRow> Build()
        {
            var clientDate = HandleCommand();

            DateTime periodStartClient, periodEndClient;

            GetPeriodForViewType(clientDate, out periodStartClient, out periodEndClient);

            var periodStartUtc = periodStartClient.AddMinutes(MinutesOffset);
            var periodEndUtc   = periodEndClient.AddMinutes(MinutesOffset);

            var columns = GenerateColumnsForViewType(periodStartClient, periodEndClient);

            gridParams.Columns = columns.ToArray();
            gridParams.Paging  = false;

            var events = GetEvents(periodStartUtc, periodEndUtc).ToArray();

            var rows = new List <SchedulerRow>();

            if (IsDayLikeView())
            {
                var allDayRow = new SchedulerRow {
                    Time = "all day", AllDay = true
                };

                var allDayCells = new List <DayCell>();
                var daysCount   = GetDaysCount();

                for (var i = 0; i < daysCount; i++)
                {
                    var dayStartUtc  = periodStartUtc.AddDays(i);
                    var allDayEvents = GetAllDayEvents(events, dayStartUtc);
                    var cell         = BuildCell(allDayEvents, dayStartUtc, ViewType.Value);
                    allDayCells.Add(cell);
                }

                allDayRow.Cells = allDayCells;

                rows.Add(allDayRow);
            }

            if (ViewType == SchedulerView.Month)
            {
                var weeksInPeriod = Math.Ceiling((periodEndUtc - periodStartUtc).TotalDays / 7);
                for (var week = 0; week < weeksInPeriod; week++)
                {
                    var row   = new SchedulerRow();
                    var cells = new List <DayCell>();

                    for (var day = 0; day < 7; day++)
                    {
                        var dayEvents = GetDayEvents(events, periodStartUtc.AddDays(day + week * 7));
                        var cell      = BuildCell(dayEvents, periodStartUtc.AddDays(day + week * 7), ViewType.Value);
                        cells.Add(cell);
                    }

                    row.Cells = cells;
                    rows.Add(row);
                }
            }
            else if (ViewType == SchedulerView.Agenda)
            {
                for (var day = periodStartUtc; day < periodEndUtc; day = day.AddDays(1))
                {
                    var clientDay = day.AddMinutes(-MinutesOffset);

                    var dayEvents = GetDayEvents(events, day);
                    rows.AddRange(dayEvents.Select(o => new SchedulerRow
                    {
                        Date     = clientDay.ToString(Dformat.LongDatePattern),
                        Time     = AgendaTime(o, clientDay, MinutesOffset, Dformat),
                        Title    = o.Title,
                        Notes    = o.Notes,
                        RowClass = "agendaRow"
                    }));
                }
            }
            else if (IsDayLikeView())
            {
                var minutes           = 0;
                var minutesUpperBound = 24 * 60;
                var stepMinutes       = HourStep ?? 30;

                if (HoursType == SchedulerHour.WorkingHours)
                {
                    minutes           = 8 * 60;
                    minutesUpperBound = 20 * 60;
                }

                while (minutes < minutesUpperBound)
                {
                    var row        = new SchedulerRow();
                    var partHour   = minutes / 60;
                    var partMinute = minutes % 60;

                    var timePartStartUtc =
                        new DateTime(
                            periodStartClient.Year,
                            periodStartClient.Month,
                            periodStartClient.Day,
                            partHour,
                            partMinute,
                            0).AddMinutes(MinutesOffset);

                    // any date will do, only time is shown
                    row.Time = (DateTime.UtcNow.Date + new TimeSpan(partHour, partMinute, 0)).ToString(Dformat.ShortTimePattern);

                    var days  = GetDaysCount();
                    var cells = new List <DayCell>();

                    for (var day = 0; day < days; day++)
                    {
                        var startUtc = timePartStartUtc.AddDays(day);

                        var allDayIds      = rows[0].Cells[day].Events.Select(o => o.Id);
                        var timePartEvents = GetTimePartEvents(
                            events, startUtc, startUtc.AddMinutes(stepMinutes), allDayIds);

                        var cell = BuildCell(timePartEvents, startUtc, ViewType.Value);

                        cells.Add(cell);
                    }

                    minutes  += stepMinutes;
                    row.Cells = cells;
                    rows.Add(row);
                }
            }

            var model = new GridModelBuilder <SchedulerRow>(rows.AsQueryable(), gridParams)
            {
                FrozenRows = IsDayLikeView() ? 1 : 0,
                Tag        = new
                {
                    View      = ViewType.ToString(),
                    Date      = clientDate.ToString(Dformat.ShortDatePattern),
                    DateLabel = GetDateStr(clientDate, periodStartClient, periodEndClient)
                }
            }.Build();

            return(model);
        }
Exemple #34
0
        private GridModel GetGridModel(IList <WatchListModel> watchListModels, int recordCount)
        {
            var columns = new List <GridColumnModel>
            {
                new GridColumnModel
                {
                    HeaderCell = new GridHeaderCellModel
                    {
                        ColumnType = GridColumnType.CheckBox,
                        IsDisabled = false
                    }
                },
                new GridColumnModel
                {
                    HeaderCell = new GridHeaderCellModel
                    {
                        ColumnType        = GridColumnType.Image,
                        BindingColumnName = "AlertRequired",
                        Label             = "Alert Required?"
                    }
                },
                new GridColumnModel
                {
                    HeaderCell = new GridHeaderCellModel
                    {
                        ColumnType        = GridColumnType.Text,
                        BindingColumnName = "AlertRequired",
                        Label             = "Alert Required?"
                    }
                },
                new GridColumnModel
                {
                    HeaderCell = new GridHeaderCellModel
                    {
                        ColumnType = GridColumnType.Link,
                        Label      = "Links"
                    },
                    Links = watchListModels.Select(x => new List <GridLinkModel>
                    {
                        new GridLinkModel
                        {
                            Action       = "test/test",
                            AlertMessage =
                                "Are you sure?",
                            Behaviour =
                                GridActionBehaviour.PostSilent,
                            ImagePath =
                                ConfigHelper.
                                GetBooleanImage(
                                    x.AlertRequired)
                        },
                        new GridLinkModel
                        {
                            Action    = "http://google.com",
                            Behaviour = GridActionBehaviour.PostSilent,
                            Text      = x.Name
                        }
                    }).ToList()
                }
            };

            // Set the GridModelBuilderEntity
            var gridModelBuilderEntity = new GridModelBuilderEntity
            {
                Columns     = columns,
                GridContext = new GridContext
                {
                    SortInfo = new GridSortInfo
                    {
                        SortOn    = "AlertRequired",
                        SortOrder = SortDirection.Descending
                    },
                    SearchInfo = new GridSearchInfo
                    {
                        TextSearchKey = "Test search"
                    }
                }
            };

            var gridModelBuilder = new GridModelBuilder();

            return(gridModelBuilder.BuildGridModel(gridModelBuilderEntity, watchListModels, Url.Action(gridModelBuilderEntity.GridContext.DefaultAction)));
        }
        public ActionResult OriginalTextGridGetItems(GridParams g, string[] selectedColumns, bool?choosingColumns, string UserType = "Admin", bool clearsession = false)
        {
            if (selectedColumns != null)
            {
                Session["SelectedColumns"] = selectedColumns;

                //Response.Cookies["SelectedColumns"].Value = selectedColumns.ToString() ;
                //Response.Cookies["SelectedColumns"].Expires = DateTime.Now.AddMonths(1);
            }
            var GridData     = this.Gridformat();
            var columns      = GridData.GridColumn.ToArray();
            var deletecolomn = columns[columns.Length - 1];

            if (clearsession)
            {
                Session.Clear();
            }
            if (Session["SelectedColumns"] != null)
            {
                selectedColumns = (string[])Session["SelectedColumns"];
                //selectedColumns = Response.Cookies["SelectedColumns"].Value;
                choosingColumns = true;
            }

            if (UserType.Equals("User"))
            {
                columns = columns.Take(columns.Count() - 1).ToArray();
            }
            g.Columns = columns;

            var baseColumns = new[] { "TextId", "English" };

            //first load
            if (g.Columns.Length == 0)
            {
                g.Columns = columns.ToArray();
            }

            selectedColumns = selectedColumns ?? new string[] { };

            //make sure we always have Id and Person columns
            selectedColumns = selectedColumns.Union(baseColumns).ToArray();

            var currectColumns = g.Columns.ToList();

            //remove unselected columns
            currectColumns = currectColumns.Where(o => selectedColumns.Contains(o.Header)).ToList();

            //add missing columns
            var missingColumns = selectedColumns.Except(currectColumns.Select(o => o.Header)).ToArray();

            currectColumns.AddRange(columns.Where(o => missingColumns.Contains(o.Header)));

            if (UserType.Equals("Admin"))
            {
                currectColumns.Add(deletecolomn);
            }

            g.Columns = currectColumns.ToArray();


            var model = new GridModelBuilder <GridArrayRow>(GridData.GridRows.AsQueryable(), g)
            {
                Key     = "TextId",
                GetItem = () => GridData.GridRows.Single(x => x.TextId == g.Key),
                Map     = MapToGridModel
            }.Build();

            return(Json(model));
        }