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)); }
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)); }
/*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)); }
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)); }
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)); }
/*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()); }
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()); }
/*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)); }
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)); }
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); } }
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)); }
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)); }
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); }
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)); }
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)); }
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); }
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)); }