public ActionResult ResourceList() { var model = new ResourceListViewModel(); model.ResourceCategories = ExigoDAL.GetResourceCategories(new GetResourceCategoriesRequest()).OrderBy(c => c.CategoryOrder); model.CountryAvailability = GlobalSettings.Markets.AvailableMarkets; model.Languages = ExigoDAL.GetUniqueLanguages().ToList(); model.ResourceTypes = ExigoDAL.GetResourceTypes(new GetResourceTypeRequest()).OrderBy(rt => rt.SortOrder).ToList(); model.CategoryTranslation = ExigoDAL.GetCategoryTranslations(new GetTranslatedCategoryRequest()); model.Tags = ExigoDAL.GetTagsForResources(new GetTagsForResourcesRequest()); //Create ListItems for the Market/Language DropDown List <SelectListItem> items = new List <SelectListItem>(); foreach (var market in model.CountryAvailability) { SelectListItem item = new SelectListItem() { Value = market.Countries.FirstOrDefault(), Text = CommonResources.Countries(market.Countries.FirstOrDefault()), Selected = Identity.Current.Country == market.Countries.FirstOrDefault() }; items.Add(item); } model.CountryList = items; return(View(model)); }
public RegisterViewModel(INavigationService navigator, string navigationPath) { #region Navigation _navigator = navigator; NavigationPath = navigationPath; NavigateToResourceListPageCommand = new Command(async() => { await _navigator.NavigateToModal(new BusyViewModel(_navigator, $"{NavigationPath}/Busy")); if (await Register()) { await _navigator.PopModal(); var resourceListViewModel = new ResourceListViewModel(_navigator, $"{NavigationPath}/ResourceList"); await resourceListViewModel.BeforeFirstShown(); _navigator.PresentAsNavigatableMainPage(new HomeViewModel(_navigator, new ResourceListView(resourceListViewModel))); } else { await _navigator.PopModal(); await _navigator.DisplayAlert("Alert", ErrorMessage, "OK"); } }); NavigateBack = new Command(() => { _navigator.NavigateBack(); }); #endregion RegisterInformation = new RegisterInformation(); }
public IActionResult List([FromBody] ResourceListViewModel model) { var list = resourceService.List(model.Type); return(APIResult.成功.SetData("list", list.Select(f => new { f.Id, f.ParentId, f.Name, f.Type, f.Content, f.Sort, f.Authorize, Children = f.Children?.Select(c => new { c.Id, c.ParentId, c.Name, c.Type, c.Content, c.Sort, c.Authorize, }) }))); }
public ResourceListViewModel AlbumResources(int AlbumID, int PageNumber) { IResourceRepository repository = new Repository.ResourceRepository(); try { string userName = this.User.Identity.Name; Album album = repository.GetAlbum(AlbumID, userName); ResourceListViewModel resourceVM = new ResourceListViewModel { Resources = album.Resources.Skip((PageNumber - 1) * 20).Take(20).ToList(), Total = album.Resources.Count }; //Clear the album's resources to prevent circular reference converting to json album.Resources.Clear(); return(resourceVM); } catch (Exception e) { throw new System.Exception("No such album called " + AlbumID); } }
public ActionResult ManageResources() { //set up the model/service and fetch data var model = new ResourceListViewModel(); model.ResourceCategories = Exigo.GetResourceCategories(new GetResourceCategoriesRequest()).OrderBy(c => c.CategoryOrder); model.CountryAvailability = GlobalSettings.Markets.AvailableMarkets; model.Languages = Exigo.GetLanguages().ToList(); model.ResourceTypes = Exigo.GetResourceTypes(new GetResourceTypeRequest()).OrderBy(rt => rt.SortOrder).ToList(); model.CategoryTranslation = Exigo.GetCategoryTranslations(new GetTranslatedCategoryRequest()); model.Tags = Exigo.GetTagsForResources(new GetTagsForResourcesRequest()); //Create ListItems for the Market/Language DropDown List <SelectListItem> items = new List <SelectListItem>(); foreach (var market in model.CountryAvailability) { SelectListItem item = new SelectListItem() { Value = market.Countries.FirstOrDefault(), Text = market.Description }; items.Add(item); } model.CountryList = items; return(View(model)); }
public JsonNetResult FetchResourceData(string editResourceID) { try { var model = new ResourceListViewModel(); //set up the model/service and fetch data var ResourceID = Convert.ToInt32(editResourceID); var res = Exigo.ODataResources().ResourceManagement.Where(r => r.ResourceID == ResourceID).FirstOrDefault(); model.EditCategoryID = res.ResourceID.ToString(); model.Title = res.Title; model.Description = res.Description; model.Url = res.Url; model.ResourceCategoryID = res.ResourceCategoryID; model.ResourceTypeID = res.ResourceTypeID; model.UploadedThumbnailPath = res.UploadedThumbnailPath; return new JsonNetResult(new { success = true, model = model }); } catch { return new JsonNetResult(new { success = false }); } }
public ActionResult History(int resourceId) { var r = dc.Resources.SingleOrDefault(x => x.ResourceId == resourceId); if (r == null) { return(this.HttpNotFound()); } var model = new ResourceListViewModel { ResourceName = r.Name, ResourceDescription = r.Description, Bookings = from b in dc.Bookings where b.ResourceId == r.ResourceId orderby b.DateBegin descending select new ResourceListViewModel.Booking { DateBegin = b.DateBegin, DateEnd = b.DateEnd, UserName = b.User.UserName, UserEmail = b.User.Email, Notes = b.Notes, ActivityName = b.Activity.Name }, }; ViewBag.HistoryView = true; return(View("Index", model)); }
public ActionResult DeleteResource(ResourceListViewModel res) { var ResourceID = Convert.ToInt32(res.EditCategoryID); var context = Exigo.ODataResources(); var resource = context.ResourceManagement.Where(r => r.ResourceID == ResourceID).FirstOrDefault(); var resourceCategoryID = resource.ResourceCategoryID; var resourceOrder = resource.ResourceOrder; context.DeleteObject(resource); //2015-09-08 //Ivan S. //66 //Reorders the following resources (setting their order to a minus 1 value) foreach (var resourceItem in context.ResourceManagement.Where(c => c.ResourceCategoryID == resourceCategoryID && c.ResourceOrder > resourceOrder)) { resourceItem.ResourceOrder--; context.UpdateObject(resourceItem); } context.SaveChanges(); return RedirectToAction("ManageResources"); }
public IActionResult Index() { var result = _interactor.GetListResources(); var viewModel = new ResourceListViewModel().MapToEntity(result); return(View(viewModel)); }
//[Route("{categoryID:int?}")] //public ActionResult ResourceList(int? categoryID) //{ // var model = new ResourceListViewModel(); // if (categoryID != null) // { // model.ResourceList = Exigo.ODataResources().ResourceManagement.Where(c => c.ResourceCategoryID == categoryID).OrderBy(r=>r.ResourceOrder).ToList(); // } // else // { // model.ResourceList = Exigo.ODataResources().ResourceManagement.OrderBy(r => r.ResourceCategoryID).ThenBy(r => r.ResourceOrder).ToList(); // } // model.ResourceCategories = Exigo.GetResourceCategories(new GetResourceCategoriesRequest()).OrderBy(c=>c.ResourceCategoryOrder); // return View(model); //} /// <summary> /// fetch data for ManageResources.chtml /// </summary> /// <returns></returns> public ActionResult ManageResources() { //set up the model/service and fetch data var model = new ResourceListViewModel(); model.ResourceList = Exigo.ODataResources().ResourceManagement.ToList().OrderBy(r => r.ResourceCategoryID).ThenBy(r => r.ResourceOrder); model.ResourceCategories = Exigo.GetResourceCategories(new GetResourceCategoriesRequest()).OrderBy(c => c.ResourceCategoryOrder); model.ResourceTypes = Exigo.ODataResources().ResourceTypes; return View(model); }
public ActionResult DeleteResource(ResourceListViewModel res) { var itemID = res.EditItemID; var categoryID = res.DeleteCategoryID; //A resource will be allowed in mulitple categories Thus delete this entries from this table var categoryItems = Exigo.GetResourceCategoryItems(new GetResourceCategoryItemsRequest() { ItemID = itemID }); foreach (var item in categoryItems) { //2015-09-08 //Ivan S. //66 //Reorders the following resources (setting their order to a minus 1 value) var itemOrder = item.ItemOrder; var categoryItemOrder = Exigo.GetResourceCategoryItems(new GetResourceCategoryItemsRequest() { CategoryID = categoryID, ItemOrder = itemOrder }).ToList(); foreach (var catitem in categoryItemOrder) { catitem.ItemOrder = catitem.ItemOrder - 1; Exigo.ModifyResourceCategoryItemOrder(catitem); } } //Delete the availabilitiy of the resource var availability = Exigo.GetResourceAvailabilities(new GetResourceAvailabilitiesRequest() { ItemID = itemID }).Select(v => v.AvailabilityID).ToList(); Exigo.DeleteResourceAvailabilities(availability); //Delete The Tags Associated with the item var tags = Exigo.GetResourceItemTags(new GetResourceItemTagsRequest() { ItemID = itemID }).Select(t => t.TagID).ToList(); Exigo.DeleteResourceItemTags(tags); //Delete the resource itself var resource = Exigo.GetResourceItems(new GetResourcesRequest() { ItemID = itemID }).FirstOrDefault(); Exigo.DeleteResourceItem(resource); return(RedirectToAction("ManageResources")); }
public ActionResult ResourceItems(Guid?editItemID) { Guid ID = Guid.NewGuid(); var model = new ResourceListViewModel(); model.CountryAvailability = GlobalSettings.Markets.AvailableMarkets; model.Languages = Exigo.GetLanguages().ToList(); model.ResourceTypes = Exigo.GetResourceTypes(new GetResourceTypeRequest()); model.Statuses = Exigo.GetResourceStatuses(); model.ResourceCategories = Exigo.GetResourceCategories(new GetResourceCategoriesRequest()); model.Tags = Exigo.GetTagsForResources(new GetTagsForResourcesRequest()); model.IsEdit = false; model.CurrentTags = new List <string>(); if (editItemID != null && editItemID != Guid.Empty) { ID = editItemID ?? ID; model.Resource = Exigo.GetResourceItems(new GetResourcesRequest() { ItemID = ID }).FirstOrDefault(); var TagIDs = Exigo.GetResourceItemTags(new GetResourceItemTagsRequest() { ItemID = ID }).Select(t => t.TagID); model.CurrentTags = model.Tags.Where(t => TagIDs.Contains(t.TagID)).Select(t => t.Name).Distinct().ToList(); model.Resource.ResourceCategoryItems = Exigo.GetResourceCategoryItems(new GetResourceCategoryItemsRequest() { ItemID = ID }); model.Resource.ResourceAvailabilities = Exigo.GetResourceAvailabilities(new GetResourceAvailabilitiesRequest() { ItemID = ID }); //SET Default Values for DropDownList on View model.TypeID = model.Resource.TypeID; model.StatusID = model.Resource.StatusID; model.Language = model.Resource.Language; model.IsEdit = true; } model.EditItemID = editItemID ?? Guid.Empty; return(View(model)); }
public async Task<ActionResult> Information() { ViewBag.Title = "参考资料"; ResourceListViewModel viewModel = new ResourceListViewModel(); string courseId = Session["CourseId"].ToString(); viewModel.ResourceList = await ResourceService.getResourceByCourseAndType(courseId, ViewBag.Title); CourseModel course = new CourseModel(); course = await CourseService.getCourseById(courseId); viewModel.CourseName = course.CourseName; return View("ResourceList", viewModel); }
public ActionResult CreateResource(ResourceListViewModel res, HttpPostedFileBase UploadFile) { var context = Exigo.ODataResources(); int CategoryID = 0; if (!string.IsNullOrEmpty(res.SelectedCategoryID)) { CategoryID = Convert.ToInt32(res.SelectedCategoryID); } var resource = new ResourceContext.ResourceManager(); resource.Description = res.Description; resource.CreatedDate = DateTime.Now; resource.ResourceCategoryID = CategoryID; //2015-09-10 //Ivan S. //66 //Ben wanted me to save the ResourceType, originally the Title was saving the type from a fixed list of File types //I now get the description from the resource types and save the right resource typeID resource.Title = context.ResourceTypes.Where(t => t.ResourceTypeID == res.ResourceTypeID).FirstOrDefault().ResourceTypeDescription; resource.ResourceTypeID = (Int32)res.ResourceTypeID; //It was missing //2015-09-08 //Ivan S. //66 //Sets the initial order for the new resource to the maximum number for that category var lastResource = context.ResourceManagement.Where(r => r.ResourceCategoryID == resource.ResourceCategoryID).OrderByDescending(r => r.ResourceOrder).FirstOrDefault(); int? lastResourceOrder = InitialOrderValue - 1; if (lastResource != null) lastResourceOrder = lastResource.ResourceOrder; resource.ResourceOrder = ++lastResourceOrder; resource.Url = res.Url; resource.UploadedThumbnailPath = res.UploadedThumbnailPath; context.AddToResourceManagement(resource); context.SaveChanges(); return RedirectToAction("ManageResources"); }
public ActionResult GetListResource(GroupIdParam param) { List <ResourceListViewModel> resources = new List <ResourceListViewModel>(); var listRes = _groupService.GetResourceGroup(param.GroupId); if (listRes != null) { foreach (var res in listRes) { ResourceListViewModel item = new ResourceListViewModel(); item.ResourceId = res.Id; item.Comments = res.Comments; var authorRes = _userService.GetUserById(res.AuthorId); item.AuthorName = authorRes.Name; item.AuthorSurname = authorRes.Surname; item.Date = Convert.ToDateTime(res.Date); resources.Add(item); } return(PartialView("_ListResource", resources)); } return(PartialView("_ListResource", resources)); }
public ActionResult CreateCategory(ResourceListViewModel res) { var context = Exigo.ODataResources(); var resource = new ResourceContext.ResourceManagerCategory(); resource.ResourceCategoryDescription = res.CategoryDescription; //2015-09-08 //Ivan S. //66 //Sets the initial order for the new category to the maximum number for all the categories var lastCategory = context.ResourceManagerCategories.OrderByDescending(r => r.ResourceCategoryOrder).FirstOrDefault(); int? lastCategoryOrder = InitialOrderValue - 1; if (lastCategory != null) lastCategoryOrder = lastCategory.ResourceCategoryOrder; resource.ResourceCategoryOrder = ++lastCategoryOrder; context.AddToResourceManagerCategories(resource); context.SaveChanges(); return RedirectToAction("ManageResources"); }
public JsonNetResult GetResourceList(ResourceFilters filter) { try { var model = new ResourceListViewModel(); model.Filter = filter; model.IsResourceManager = filter.isResourceManager; model.ResourceCategories = new JavaScriptSerializer().Deserialize <IEnumerable <ExigoService.ResourceCategory> >(filter.Categories); var filteredcatfilter = filter.CategoryFilter != null ? new JavaScriptSerializer().Deserialize <string>(filter.CategoryFilter) : ""; var categoryFilter = (filteredcatfilter != null && filteredcatfilter != "") ? Guid.Parse(filteredcatfilter) : Guid.Empty; model.ResourceList = Exigo.GetResourceItems(new GetResourcesRequest()); model.CategoryItemList = Exigo.GetResourceCategoryItems(new GetResourceCategoryItemsRequest()).OrderBy(t => t.ItemOrder); model.Types = Exigo.GetResourceTypes(new GetResourceTypeRequest() { TypeDescriptions = filter.MediaFilter }); //Get a List of CategoryIDs from the Rescource Category List var catIds = model.ResourceCategories.Select(c => c.CategoryID).ToList(); //Get all resources assigned to a CURRENT Category ID var assigned = model.CategoryItemList.Where(c => catIds.Contains(c.CategoryID)).ToList(); //Assign all remaining items so they may be displayed in the Unassigned Category model.UnassignedResources = model.CategoryItemList.Except(assigned).ToList(); //Get a list of Unassigned Resources before filtering by market var unassignedresourceIDs = model.UnassignedResources.Select(ur => ur.ItemID).ToList(); model.UnassignedRsourceList = model.ResourceList.Where(rl => unassignedresourceIDs.Contains(rl.ItemID)).ToList(); if (filter.MarketFilter != null && filter.MarketFilter != string.Empty) { if (filter.LanguageFilter != null && filter.LanguageFilter != string.Empty) { var language = filter.LanguageFilter; var market = CommonResources.Countries(filter.MarketFilter); model.GetAvailableResources = Exigo.GetResourceAvailabilities(new GetResourceAvailabilitiesRequest() { Market = market, Language = language }); model.AvailableResources = model.GetAvailableResources.Select(ar => ar.ItemID).ToList(); } else { var market = CommonResources.Countries(filter.MarketFilter); model.GetAvailableResources = Exigo.GetResourceAvailabilities(new GetResourceAvailabilitiesRequest() { Market = market }); model.AvailableResources = model.GetAvailableResources.Select(ar => ar.ItemID).ToList(); } } model.ResourceList = model.ResourceList.Where(x => model.AvailableResources.Contains(x.ItemID)); bool filtered = false; if (filter.MediaFilter != null && filter.MediaFilter.Count() > 0) { var typeIDs = model.Types.Select(v => v.TypeID); filtered = true; model.ResourceList = model.ResourceList.Where(x => typeIDs.Contains(x.TypeID)).ToList(); } if (categoryFilter != null && categoryFilter != Guid.Empty) { model.SelectedCategoryID = model.ResourceCategories.Where(c => c.CategoryID == categoryFilter).FirstOrDefault().CategoryID; } if (filter.KeyWord != null && filter.KeyWord.Any()) { var keyword = filter.KeyWord; var tag = Exigo.GetTagsForResources(new GetTagsForResourcesRequest() { Names = keyword }).FirstOrDefault(); if (tag != null) { var resourceitemtagIDs = Exigo.GetResourceItemTags(new GetResourceItemTagsRequest() { TagID = tag.TagID }).AsEnumerable().Select(rt => rt.ItemID); //var tagitems = model.ResourceList.Where(rl => resourceitemtagIDs.Contains(rl.ItemID)); //var matchingitems = model.ResourceList.Where(rl => keyword.Contains(rl.Title) || rl.ItemDescription.ToLower().Contains(keyword)); //var keywordSearchResult = tagitems.Union(matchingitems).ToList().Select(r => r.ItemID); //model.ResourceList = model.ResourceList.Where(rl => keywordSearchResult.Contains(rl.ItemID)); model.ResourceList = model.ResourceList.Where(rl => resourceitemtagIDs.Contains(rl.ItemID)); } } var html = this.RenderPartialViewToString("partials/_resourcelist", model); return(new JsonNetResult(new { success = true, html = html, isFiltered = filtered })); } catch (Exception ex) { return(new JsonNetResult(new { success = false, message = ex.Message })); } }
public ActionResult EditResource(ResourceListViewModel res, HttpPostedFileBase UploadFile) { var context = Exigo.ODataResources(); var ResourceID = Convert.ToInt32(res.EditCategoryID); var CategoryID = Convert.ToInt32(res.SelectedCategoryID); var resource = context.ResourceManagement.Where(r => r.ResourceID == ResourceID).FirstOrDefault(); resource.Description = res.Description; resource.CreatedDate = DateTime.Now; //2015-09-10 //Ivan S. //66 //Ben wanted me to save the ResourceType, originally the Title was saving the type from a fixed list of File types //I now get the description from the resource types and save the right resource typeID resource.Title = context.ResourceTypes.Where(t => t.ResourceTypeID == res.ResourceTypeID).FirstOrDefault().ResourceTypeDescription; resource.ResourceTypeID = (Int32)res.ResourceTypeID; //It was missing if (resource.ResourceCategoryID != CategoryID) { //If the categoryID was changed //2015-09-08 //Ivan S. //66 //If the category of the resource was changed,it has to be added at the end when it comes to the resource order //It calculates the last order values for the new category and assigns it to the resource var previousResourceOrder = resource.ResourceOrder; var lastResource = context.ResourceManagement.Where(r => r.ResourceCategoryID == CategoryID).OrderByDescending(r => r.ResourceOrder).FirstOrDefault(); int? lastResourceOrder = InitialOrderValue - 1; if (lastResource != null) lastResourceOrder = lastResource.ResourceOrder; resource.ResourceOrder = ++lastResourceOrder; if (resource.ResourceCategoryID != 0) { //Category 0 is for the items that were in a category that was deleted and were put temporarily there (ResourceCategoryID=0) //Therefore it is not necessary to reorder the other items //It also changes the order of the resources in the previous category that had an order value greater //than the one the resource that is being moved had foreach (var resourceItem in context.ResourceManagement.Where(c => c.ResourceCategoryID == resource.ResourceCategoryID && c.ResourceOrder > previousResourceOrder)) { resourceItem.ResourceOrder--; context.UpdateObject(resourceItem); } } resource.ResourceCategoryID = CategoryID; } resource.Url = res.Url; resource.UploadedThumbnailPath = res.UploadedThumbnailPath; context.UpdateObject(resource); context.SaveChanges(); return RedirectToAction("ManageResources"); }