public IActionResult Create(CommunityViewModel viewModel) { if (!ModelState.IsValid) { return(View(viewModel)); } if (_adminDatabaseContext.Communities.Include(s => s.SubArea).Any(c => c.Name.Equals(viewModel.Name, StringComparison.OrdinalIgnoreCase) && c.SubArea.SubAreaId == viewModel.SubAreaId)) { ViewData["SUBAREA_NAMES"] = SubAreas; return(View(viewModel)); } else { var community = new Community { Name = viewModel.Name, SubArea = _adminDatabaseContext.SubAreas.First(c => c.SubAreaId == viewModel.SubAreaId) }; _adminDatabaseContext.Communities.Add(community); _adminDatabaseContext.SaveChanges(); return(RedirectToAction("Index")); } }
public IActionResult List(int pageNumber = 1, int pageSize = 10) { ViewData["pageNumber"] = pageNumber; ViewData["pageSize"] = pageSize; int excludeRecordes = (pageSize * pageNumber) - pageSize; CommunityViewModel communityVM = new CommunityViewModel() { Communities = _context.Communities.Where(a => a.CommunityType == CommunityType.Personal && _context.Posts.Where(p => p.CommunityId == a.Id).Count() > 0).Include(a => a.Speciality).Include(a => a.ApplicationUser).Skip(excludeRecordes).Take(pageSize).ToList().OrderByDescending(a => a.Id), CommunityFollower = _context.CommunityFollowers.Include(a => a.Community), Posts = _context.Posts.Include(a => a.Community), }; communityVM.PagedResult = new PagedResult <Community> { Data = communityVM.Communities.ToList(), TotalItems = communityVM.Communities.Count(), PageNumber = pageNumber, PageSize = pageSize, }; ViewData["count"] = communityVM.Communities.Count(); //communityVM.PagedResult = new PagedResult<Community> //{ // Data = communityVM.Communities.ToList(), // TotalItems = communityVM.Communities.Count(), // PageNumber = pageNumber, // PageSize = pageSize, //}; return(View(communityVM)); }
public Community(Models.User currentUser) { InitializeComponent(); communityViewModel = new CommunityViewModel(currentUser); this.DataContext = communityViewModel; this.currentUser = currentUser; }
public IActionResult Details(int communityId) { var community = _adminDatabaseContext.Communities.Include(c => c.SubArea).ThenInclude(s => s.Area) .Include(c => c.Blocks).ThenInclude(b => b.Apartments) .First(c => c.CommunityId == communityId); var viewModel = new CommunityViewModel { Id = communityId, Name = community.Name, SubArea = community.SubArea.SubAreaName, SubAreaId = community.SubArea.SubAreaId, SubAreas = SubAreas.ToList(), AreaName = community.SubArea.Area.AreaName, Blocks = community.Blocks.Select(b => new BlockViewModel { Id = b.Id, CommunityId = communityId, Flats = b.Apartments, Community = b.Community, Name = b.Name }) }; return(View(viewModel)); }
public async Task <IActionResult> Index(string groupKey, CancellationToken cancellationToken, bool suag = false) { if (String.IsNullOrWhiteSpace(groupKey)) { return(RedirectToAction(nameof(ErrorsController.Error404), "Errors")); } var group = await _groupService.GetGroupByKey(groupKey, cancellationToken); CommunityViewModel communityViewModel = await _communityRepository.GetCommunity(groupKey, cancellationToken); if (communityViewModel == null) { return(RedirectToAction("Error404", "Errors")); } var user = await _authService.GetCurrentUser(HttpContext, cancellationToken); if (user != null) { communityViewModel.IsLoggedIn = true; communityViewModel.IsGroupMember = await _groupMemberService.GetUserHasRole(user.ID, group.GroupId, GroupRoles.Member, false, cancellationToken); } return(View(communityViewModel.View, communityViewModel)); }
protected override async Task OnInitializedAsync() { await base.OnInitializedAsync(); CommunityViewModel = new CommunityViewModel(); AppStore.CommunityImage = null; }
public IActionResult Schedule() { var communities = _ctx.Community.Where(x => x.Active == true).ToList(); var communityViewModels = new List <CommunityViewModel>(); foreach (var community in communities) { var communityViewModel = new CommunityViewModel { Id = community.Id, Name = community.Name, Active = community.Active }; communityViewModels.Add(communityViewModel); } ScheduleViewModel scheduleViewModel = new ScheduleViewModel { Communities = communityViewModels //ScheduleConfigViewModels = events }; return(View(scheduleViewModel)); }
// GET: Community public async Task <IActionResult> Index(string ID) { //return View(await _context.Communities.ToListAsync()); var viewModel = new CommunityViewModel(); viewModel.Communities = await _context.Communities .Include(c => c.CommunityMemberships) .ThenInclude(s => s.Student) .OrderBy(c => c.ID) .AsNoTracking() .ToListAsync(); ViewData["CommunityID"] = "None"; if (ID != null) { ViewData["CommunityID"] = ID; viewModel.CommunityMemberships = viewModel.Communities.Where(x => x.ID == ID).Single(). CommunityMemberships.Where(x => x.CommunityID == ID); } //else //{ // ViewData["CommunityID"] = ID; // viewModel.CommunityMemberships = viewModel.Communities.Where(x => x.ID == "A1").Single(). // CommunityMemberships; //} return(View(viewModel)); }
private CommunityViewModel GetAgeUKWirral() { CommunityViewModel communityViewModel = GetCommunityViewModelByKey("ageukwirral", "AgeUKWirral"); communityViewModel.CommunityVolunteers = new List <CommunityVolunteer>() { new CommunityVolunteer() { Name = "Karen Giner", Role = "Home & Communities Volunteer Coordinator", ImageLocation = "/img/community/ageuk/wirral/KG.jpg" }, }; var carouselPath = "/img/community/ageUK/wirral/carousel1"; communityViewModel.CarouselImages = new List <List <string> > { new List <string> { $"{carouselPath}/hands-round-mug.jpg", $"{carouselPath}/man-knocking-on-door-325x218.jpg", $"{carouselPath}/photo-1483385573908-0a2108937c4a.jpg", $"{carouselPath}/photo-1516862523118-a3724eb136d7.jpg", $"{carouselPath}/photo-1587040273238-9ba47c714796.jpg", }, }; return(communityViewModel); }
private CommunityViewModel GetFtLOS() { CommunityViewModel communityViewModel = GetCommunityViewModelByKey("ftlos", "ForTheLoveOfScrubs"); var carouselPath = "/img/community/fortheloveofscrubs"; communityViewModel.CarouselImages = new List <List <string> > { new List <string> { $"{carouselPath}/carousel1/1.jpeg", $"{carouselPath}/carousel1/2.jpeg", $"{carouselPath}/carousel1/3.jpeg", $"{carouselPath}/carousel1/4.jpeg", $"{carouselPath}/carousel1/5.jpeg", }, new List <string> { $"{carouselPath}/carousel2/1.jpeg", $"{carouselPath}/carousel2/2.jpeg", $"{carouselPath}/carousel2/3.jpeg", $"{carouselPath}/carousel2/4.jpeg", $"{carouselPath}/carousel2/5.jpeg", }, new List <string> { $"{carouselPath}/carousel3/A.png", $"{carouselPath}/carousel3/B.png", $"{carouselPath}/carousel3/C.png", $"{carouselPath}/carousel3/D.png", $"{carouselPath}/carousel3/E.png", } }; return(communityViewModel); }
private CommunityViewModel GetTankersley() { CommunityViewModel communityViewModel = GetCommunityViewModelByKey("tankersley", "Tankersley", true); communityViewModel.CommunityVolunteers = new List <CommunityVolunteer>() { new CommunityVolunteer() { Name = "David", Role = "", Location = "", ImageLocation = "/img/community/tankersley/David.jpg" }, new CommunityVolunteer() { Name = "Kate", Role = "", Location = "", ImageLocation = "/img/community/tankersley/Kate.jpg" }, new CommunityVolunteer() { Name = "Helen", Role = "", Location = "", ImageLocation = "/img/community/tankersley/Helen.jpg" }, }; communityViewModel.HelpExampleCards = new Models.HelpExampleCardsViewModel(); return(communityViewModel); }
private async Task <CommunityViewModel> GetCommunity(Group group, CancellationToken cancellationToken) { CommunityViewModel vm = ((Groups)group.GroupId) switch { Groups.Tankersley => GetTankersley(), Groups.Ruddington => GetRuddington(), Groups.AgeUKLSL => GetAgeUKLSL(), Groups.AgeUKWirral => GetAgeUKWirral(), Groups.FTLOS => GetFtLOS(), Groups.AgeUKNottsBalderton => GetBalderton(), Groups.AgeUKNottsNorthMuskham => GetNorthMuskham(), Groups.AgeUKSouthKentCoast => GetSouthKentCoast(), Groups.AgeUKFavershamAndSittingbourne => GetFavershameAndSittingBourne(), Groups.AgeUKNorthWestKent => GetNorthWestKent(), Groups.LincolnshireVolunteers => GetLincolnshireVolunteers(), Groups.AgeConnectsCardiff => GetAgeConnectsCardiff(), Groups.MeadowsCommunityHelpers => GetMeadowsCommunityHelpers(), Groups.Southwell => GetSouthwell(), Groups.ApexBankStaff => GetApexBankStaff(), _ => null, }; vm.Group = group; return(vm); }
private CommunityViewModel GetCommunityViewModel(Group group, string viewName, bool showRequestHelpPopup, bool showPopupOnSignUp) { var communityViewModel = new CommunityViewModel() { CommunityName = group.FriendlyName, View = viewName, CommunityShortName = group.ShortName, ShowRequestHelpPopup = showRequestHelpPopup, ShowPopupOnSignUp = showPopupOnSignUp }; communityViewModel.CommunityVolunteers = new List <CommunityVolunteer>() { }; var maps = group.Maps.FirstOrDefault(x => x.MapLocation == MapLocation.Landing); if (maps != null) { communityViewModel.Map_CentreLatitude = maps.Latitude; communityViewModel.Map_CentreLongitude = maps.Longitude; communityViewModel.Map_ZoomLevel = maps.ZoomLevel; } return(communityViewModel); }
public async Task <JsonResult> GetCommunityContents(long communityId) { if (CurrentUserId == 0) { await TryAuthenticateFromHttpContext(); } var contents = await _communityService.GetCommunityContents(communityId, CurrentUserId); var entities = new List <EntityViewModel>(); foreach (var item in contents) { var contentViewModel = new ContentViewModel(); contentViewModel.SetValuesFrom(item); entities.Add(contentViewModel); } var children = await _communityService.GetChildCommunities(communityId, CurrentUserId); var childCommunities = new List <CommunityViewModel>(); foreach (var child in children) { var communityViewModel = new CommunityViewModel(); Mapper.Map(child, communityViewModel); childCommunities.Add(communityViewModel); } return(Json(new{ entities, childCommunities }, JsonRequestBehavior.AllowGet)); }
public IActionResult View(Guid id) { var communityGroup = _communityGroupRepo.GetById(id); if (communityGroup == null) { return(NotFound(id)); } int membersToDisplay = _configuration.ViewCommunityMembersPerPage; int booksToDisplay = _configuration.ViewCommunityBooksPerPage; int totalPooledBooks = 0; foreach (var member in communityGroup.CommunityMembers) { totalPooledBooks += member.PooledBooks.Count; } var memberships = _communityMemberRepo.Get(filter: m => m.CommunityGroup.Id.Equals(communityGroup.Id), take: membersToDisplay).ToList(); var pooledBooks = _pooledBookRepo.Get(filter: b => b.CommunityMember.CommunityGroup.Id.Equals(communityGroup.Id), take: booksToDisplay).ToList(); var viewModel = new CommunityViewModel() { CommunityGroup = new CommunityGroupDto(communityGroup), Members = memberships.Select(e => new CommunityMemberDto(e)), PooledBooks = pooledBooks.Select(e => new PooledBookDto(e)), TotalMembers = communityGroup.CommunityMembers.Count, TotalPooledBooks = totalPooledBooks, BookListingsPerPage = booksToDisplay, MemberListingsPerPage = membersToDisplay }; return(View(viewModel)); }
/// <summary> /// Gets the entities for the given community. /// </summary> /// <param name="entityId">Entity Id (Community/Content)</param> /// <param name="entityType">Entity type (Community/Content)</param> /// <param name="pageDetails">Details about the pagination</param> /// <param name="onlyItemCount">To get only item count, not the entities. When community details page is loaded first time, /// no need to get the communities, only count is enough.</param> /// <returns>Collection of entities</returns> private List <EntityViewModel> GetCommunityEntities(long entityId, EntityType entityType, PageDetails pageDetails, bool onlyItemCount) { var entities = new List <EntityViewModel>(); // Default value is 20 if the value is not specified or wrong in the configuration file. // Total pages will be set by the service. pageDetails.ItemsPerPage = Constants.HighlightEntitiesPerPage; // Do not hit the database if the entity is not valid. This will happen for private communities. if (entityId > 0) { if (entityType == EntityType.Community || entityType == EntityType.Folder) { var subCommunities = _entityService.GetSubCommunities(entityId, CurrentUserId, pageDetails, onlyItemCount); foreach (var item in subCommunities) { var subCommunityViewModel = new CommunityViewModel(); Mapper.Map(item, subCommunityViewModel); entities.Add(subCommunityViewModel); } } else { var contents = _entityService.GetContents(entityId, CurrentUserId, pageDetails); foreach (var item in contents) { var contentViewModel = new ContentViewModel(); contentViewModel.SetValuesFrom(item); entities.Add(contentViewModel); } } } return(entities); }
/// <summary> /// It returns the entity list /// </summary> /// <param name="userId">User Id for whom page is rendered</param> /// <param name="entityType">Entity type (Community/Content)</param> /// <param name="pageDetails">Details about the pagination</param> /// <returns>List of entity objects</returns> private Task <List <EntityViewModel> > GetEntities(long userId, EntityType entityType, PageDetails pageDetails) { // TODO: Need to create a model for passing parameters to this controller var highlightEntities = new List <EntityViewModel>(); if (entityType == EntityType.Community) { var communities = ProfileService.GetCommunities(userId, pageDetails, userId != CurrentUserId); foreach (var community in communities) { var communityViewModel = new CommunityViewModel(); Mapper.Map(community, communityViewModel); highlightEntities.Add(communityViewModel); } } else if (entityType == EntityType.Content) { var contents = ProfileService.GetContents(userId, pageDetails, userId != CurrentUserId); foreach (var content in contents) { var contentViewModel = new ContentViewModel(); contentViewModel.SetValuesFrom(content); highlightEntities.Add(contentViewModel); } } return(Task.FromResult(highlightEntities)); }
public async Task <IActionResult> Index() { var communityViewModel = new CommunityViewModel { Communities = _context.Communities.Where(a => a.CommunityType == CommunityType.Group), CommunityFollower = _context.CommunityFollowers.Include(a => a.Community).Where(a => a.Community.CommunityType == CommunityType.Group).ToList(), Posts = _context.Posts.ToList(), UserBadge = _context.UserBadges.FirstOrDefault(a => a.UserId == _userManager.GetUserId(User)) }; //var LastScore = _context.ScoreLogs.LastOrDefault(a => a.ApplicationUserId == _userManager.GetUserId(User) & a.ScoreValueId == 1); //string todaydate = DateTime.Now.ToString("dd/MM/yyyy"); //DateTime dtSuppliedDate = DateTime.Parse(LastScore.Date.ToString("dd/MM/yyyy")); //if (dtSuppliedDate.Subtract(DateTime.Today).Days != 0) //{ // _context.ScoreLogs.Add(new ScoreLog // { // Id = Guid.NewGuid(), // ApplicationUserId = _userManager.GetUserId(User), // PostId = Guid.Parse("fb598acf-f2a5-40ef-a2bd-51d248843263"), // Date = DateTime.Now, // ScoreValueId = 1 // }); // _context.SaveChanges(); //} ViewData["CommunityScore"] = _context.ScoreLogs.Where(a => a.ApplicationUserId == _userManager.GetUserId(User)).Sum(a => a.ScoreValue.Value); //var aRIDDbContext = _context.Community.Include(c => c.ApplicationUser).Include(c => c.Speciality); //return View(await aRIDDbContext.ToListAsync()); return(View(communityViewModel)); }
//URLから適当なViewを開く public static TabItemViewModel Open(string url, bool addtab = true) { /*if(Keyboard.IsKeyDown(Key.LeftShift) || Keyboard.IsKeyDown(Key.RightShift)) { * * System.Diagnostics.Process.Start(url); * return null; * }*/ if (url.StartsWith("http://www.nicovideo.jp/watch/")) { var vm = new VideoViewModel(url); if (addtab) { App.ViewModelRoot.AddTabAndSetCurrent(vm); } vm.Initialize(); return(vm); } else if (url.StartsWith("http://www.nicovideo.jp/user/")) { var vm = new UserViewModel(url); if (addtab) { App.ViewModelRoot.AddTabAndSetCurrent(vm); } return(vm); } else if (url.StartsWith("http://www.nicovideo.jp/mylist/")) { var vm = new PublicMylistViewModel(url); if (addtab) { App.ViewModelRoot.AddTabAndSetCurrent(vm); } return(vm); } else if (url.StartsWith("http://com.nicovideo.jp/community/")) { var vm = new CommunityViewModel(url); if (addtab) { App.ViewModelRoot.AddTabAndSetCurrent(vm); } return(vm); } /*else if(url.StartsWith("http://live.nicovideo.jp/watch/")) { * * var vm = new LiveViewModel(url); * App.ViewModelRoot.AddTabAndSetCurrent(vm); * return vm; * }*/ else { System.Diagnostics.Process.Start(url); return(null); } }
public async Task <IHttpActionResult> Post(CommunityViewModel model) { try { if (model == null) { return(BadRequest()); } var user = CommunityMapper.Map(model); var userUpdate = await this._communityService.InserAsync(user); if (userUpdate.Status == ActionStatus.Created) { return(Created(Request.RequestUri + "/" + userUpdate.Entity.Id , CommunityMapper.Map(userUpdate.Entity))); } return(BadRequest()); } catch (Exception) { return(InternalServerError()); } }
//URLから適当なViewを開く public static TabItemViewModel Open(string url) { if (url.StartsWith("http://www.nicovideo.jp/watch/")) { var vm = new VideoViewModel(url); App.ViewModelRoot.MainContent.AddVideoView(vm); return(vm); } if (url.StartsWith("http://www.nicovideo.jp/user/")) { var vm = new UserViewModel(url); App.ViewModelRoot.MainContent.AddUserTab(vm); return(vm); } if (url.StartsWith("http://www.nicovideo.jp/mylist/")) { var vm = new PublicMylistViewModel(url); App.ViewModelRoot.MainContent.AddUserTab(vm); return(vm); } if (url.StartsWith("http://com.nicovideo.jp/community/")) { var vm = new CommunityViewModel(url); App.ViewModelRoot.MainContent.AddUserTab(vm); return(vm); } else { App.ViewModelRoot.AddWebViewTab(url, true); return(null); } }
private static void UpdateRelativeRootFolder(CommunityViewModel changingViewModel, string oldNamespace, string newNamespace) { if (!string.IsNullOrEmpty(oldNamespace)) { FolderViewModel rootFolder = changingViewModel.Items.OfType <FolderViewModel>() .First(f => f.IsRelativeRoot); if (!string.IsNullOrEmpty(newNamespace)) { rootFolder.Name = newNamespace; } else { changingViewModel.RemoveItem(rootFolder); } } else if (!string.IsNullOrEmpty(newNamespace)) { FolderViewModel rootFolder = new() { Name = newNamespace, IsRelativeRoot = true }; changingViewModel.Items.Add(rootFolder); } }
public async Task <IHttpActionResult> Put(int id, [FromBody] CommunityViewModel model) { try { if (model == null) { return(BadRequest()); } var db = CommunityMapper.Map(model); var result = await _communityService.UpdateAsync(db); if (result.Status == ActionStatus.Updated) { return(Ok(CommunityMapper.Map(result.Entity))); } else if (result.Status == ActionStatus.NotFound) { return(NotFound()); } return(BadRequest()); } catch (Exception) { return(InternalServerError()); } }
public IActionResult Index() { List <Member> listOfMembers = MemberRepository.GetAllMembers(); List <Image> listOfImages = ImageRepository.GetAllImagesFromDbConnectedToUsers(); CommunityViewModel = new CommunityViewModel(listOfImages, listOfMembers); return(View(CommunityViewModel)); }
public JsonResult Get(int id) { var communityLocation = _faciTechDbContext.CommunityLocation.Where(e => e.Id == id).FirstOrDefault(); var locationDto = _locationService.GetChildLocations(communityLocation.CountryId, communityLocation.CityId, communityLocation.AreaId); CommunityViewModel communityViewModel = new CommunityViewModel(communityLocation, locationDto); return(Json(communityViewModel)); }
public IActionResult StatusOfAllOrders() { var orders = _ctx.Order.Where(x => x.OrderStatusId != 20002 && x.OrderStatusId != 2).Include(y => y.OrderItem).ThenInclude(z => z.OrderItemTopping).ThenInclude(v => v.Topping).Include(c => c.OrderItem).ThenInclude(w => w.MenuItem).Include(y => y.OrderStatus).Include(c => c.Community); //var orderItems = _ctx.OrderItem.Include(y => y.MenuItem).Include(y => y.OrderItemTopping).ThenInclude(y => y.Topping).ToList(); var orderItemsViewModel = new Dictionary <long, List <OrderItemViewModel> >(); var ordersViewModel = new List <OrderViewModel>(); foreach (var order in orders) { foreach (var orderItem in order.OrderItem) { var orderItemViewModel = new OrderItemViewModel { MenuItem = new MenuItemViewModel { Id = orderItem.MenuItem.Id, Name = orderItem.MenuItem.Name }, OrderItemTopping = orderItem.OrderItemTopping.ToList(), Quantity = orderItem.Quantity, Size = _ctx.SystemReference.FirstOrDefault(x => x.Id == orderItem.SizeId) }; if (!orderItemsViewModel.ContainsKey(order.Id)) { orderItemsViewModel[order.Id] = new List <OrderItemViewModel>(); orderItemsViewModel[order.Id].Add(orderItemViewModel); } else { orderItemsViewModel[order.Id].Add(orderItemViewModel); }; } var communityViewModel = new CommunityViewModel { Id = order.Community.Id, Name = order.Community.Name, Active = order.Community.Active }; var orderViewModel = new OrderViewModel { Id = order.Id, Status = order.OrderStatus.Status, Note = order.Note, Community = communityViewModel, OrderItems = orderItemsViewModel[order.Id] != null?orderItemsViewModel.First(x => x.Key == order.Id).Value : new List <OrderItemViewModel>(), Name = order.CustomerFirstName + " " + order.CustomerLastName, City = order.City, Zipcode = order.ZipCode, Address = order.AddressLine1 + " " + order.AddressLine2, CreateTime = order.CreateTime, CompleteTime = order.CompleteTime }; ordersViewModel.Add(orderViewModel); } return(View(ordersViewModel)); }
public CommunityPage(RootPage root) { InitializeComponent(); _model = new CommunityViewModel() { Root = root }; Init(); }
public ActionResult CommunitiesUpdate([DataSourceRequest]DataSourceRequest request, CommunityViewModel model, HttpPostedFileBase file) { if (this.ModelState.IsValid) { this.communities.UpdateName(model.Id, model.Name); } var communities = this.communities.GetAll().To<CommunityViewModel>().ToDataSourceResult(request); return this.Json(communities, JsonRequestBehavior.AllowGet); }
public ActionResult CommunitiesDestroy([DataSourceRequest]DataSourceRequest request, CommunityViewModel model) { if (this.ModelState.IsValid) { this.communities.Delete(model.Id); } var communities = this.communities.GetAll().To<CommunityViewModel>().ToDataSourceResult(request); return this.Json(communities, JsonRequestBehavior.AllowGet); }
public static Core.Community Map(CommunityViewModel data) { var config = new MapperConfiguration(cfg => { cfg.CreateMap <CommunityViewModel, Core.Community>(); }); var mapper = new AutoMapper.Mapper(config); Core.Community map = mapper.DefaultContext.Mapper.Map <Core.Community>(data); return(map); }
// GET: Students/EditMemberships/6 public async Task <IActionResult> EditMemberships(int id) { CommunityViewModel communityViewModel = new CommunityViewModel(); communityViewModel.CommunityMemberships = await _context.CommunityMemberships.Where(i => i.StudentID == id).ToListAsync(); communityViewModel.Students = await _context.Students.Where(i => i.ID == id).ToListAsync(); communityViewModel.Communities = await _context.Communities.ToListAsync(); return(View(communityViewModel)); }
public static Core.Community Map(CommunityViewModel from, Core.Community to) { var config = new MapperConfiguration(cfg => { cfg.CreateMap <CommunityViewModel, Core.Community>(); cfg.CreateMap <CommunityTagViewModel, CommunityTag>(); }); var mapper = new AutoMapper.Mapper(config); Core.Community user = mapper.DefaultContext.Mapper.Map <CommunityViewModel, Core.Community>(from, to); return(to); }
/// <summary> /// It returns the entity list /// </summary> /// <param name="entityType">Entity type (Community/Content)</param> /// <param name="entityHighlightFilter">Entity Highlight filter for the entities (Featured/Latest/Popular/Related)</param> /// <param name="pageDetails">Details about the pagination</param> /// <returns>entity object</returns> private async Task<List<EntityViewModel>> GetHighlightEntities(EntityType entityType, EntityHighlightFilter entityHighlightFilter, PageDetails pageDetails) { // TODO: Need to create a model for passing parameters to this controller var highlightEntities = new List<EntityViewModel>(); // Set the user who is getting the highlight entities. entityHighlightFilter.UserID = CurrentUserId; // Total pages will be set by the service. if (pageDetails.ItemsPerPage == 0) { pageDetails.ItemsPerPage = Constants.HighlightEntitiesPerPage; } if (entityType == EntityType.Community) { var communities = await _entityService.GetCommunities(entityHighlightFilter, pageDetails); foreach (var community in communities) { var communityViewModel = new CommunityViewModel(); Mapper.Map(community, communityViewModel); highlightEntities.Add(communityViewModel); } } else if (entityType == EntityType.Content) { var contents = await _entityService.GetContents(entityHighlightFilter, pageDetails); foreach (var content in contents) { var contentViewModel = new ContentViewModel(); contentViewModel.SetValuesFrom(content); highlightEntities.Add(contentViewModel); } } return highlightEntities; }
public async Task<JsonResult> CommunityDetail(long? id, bool? edit) { if (CurrentUserId == 0) { await TryAuthenticateFromHttpContext(_communityService, _notificationService); } var communityDetails = await _communityService.GetCommunityDetails(id.Value, CurrentUserId, true, true); var permissionDetails = GetUserPermissionDetails(id.Value, PermissionsTab.Users, 0); if (edit == true) { var communityInputViewModel = new CommunityInputViewModel(); Mapper.Map(communityDetails, communityInputViewModel); var json = new { community = communityInputViewModel, permission = permissionDetails }; return Json(json, JsonRequestBehavior.AllowGet); } var communityViewModel = new CommunityViewModel(); Mapper.Map(communityDetails, communityViewModel); if (communityViewModel.AccessType != AccessType.Private || communityViewModel.UserPermission >= Permission.Reader) { var json = new { community = communityViewModel, permission = permissionDetails }; return Json(json,JsonRequestBehavior.AllowGet); } return new JsonResult { Data = new { communityViewModel.Name, communityViewModel.Id, error = "insufficient permission" }, JsonRequestBehavior = JsonRequestBehavior.AllowGet }; }
public async Task<string> BuildPublicTourXml(bool webclient) { var adminCommunityId = 596915; var adminId = 184331; var tourDetailList = await _communityService.GetCommunityContents(adminCommunityId, adminId); var tourContentList = new List<ContentInputViewModel>(); foreach (var item in tourDetailList) { var contentInputViewModel = new ContentInputViewModel(); contentInputViewModel.SetValuesFrom(item); tourContentList.Add(contentInputViewModel); } var children = await _communityService.GetChildCommunities(adminCommunityId, adminId); var folders = new List<CommunityViewModel>(); foreach (var child in children) { var communityViewModel = new CommunityViewModel(); Mapper.Map(child, communityViewModel); folders.Add(communityViewModel); } using (var sw = new StringWriter()) { using (var xmlWriter = new XmlTextWriter(sw)) { xmlWriter.Formatting = Formatting.Indented; xmlWriter.WriteProcessingInstruction("xml", "version=\"1.0\" encoding=\"UTF-8\""); xmlWriter.WriteStartElement("Folder"); foreach (var folder in folders) { var tourIds = folder.Description != null ? folder.Description.Split(',') : new string[0]; var toursInFolder = false; foreach (var tourId in tourIds) { try { var id = Convert.ToInt32(tourId); var tourDetails = tourDetailList.Find(details => details.ID == id); if (tourDetails == null || tourDetails.IsDeleted) continue; var tourContents = tourContentList.Find(model => model.ID == id); var json = tourDetails.Citation.Replace("json://", ""); var extData = JsonConvert.DeserializeObject<dynamic>(json); if (webclient && (extData.webclient == null || extData.webclient != true)) continue; Newtonsoft.Json.Linq.JArray related = extData.related; var relatedTours = string.Empty; if (webclient) { foreach (Guid guid in related) { var relatedTour = tourContentList.Find(t => t.ContentDataID == guid); var relatedJson = relatedTour.Citation.Replace("json://", ""); var relatedExtData = JsonConvert.DeserializeObject<dynamic>(relatedJson); // only include related tours that are also webclient friendly if (relatedExtData.webclient == null || relatedExtData.webclient != true) continue; if (relatedTours.Length > 0) { relatedTours += ";"; } relatedTours += guid.ToString(); } } else { relatedTours = string.Join(";", related); } // write folder xml ONLY after first viable tour obj is found if (!toursInFolder) { xmlWriter.WriteStartElement("Folder"); xmlWriter.WriteAttributeString("Name", folder.Name); xmlWriter.WriteAttributeString("Group", "Tour"); xmlWriter.WriteAttributeString("Thumbnail", ""); toursInFolder = true; } xmlWriter.WriteStartElement("Tour"); xmlWriter.WriteAttributeString("Title", tourDetails.Name.Replace("&", "&")); xmlWriter.WriteAttributeString("ID", tourContents.ContentDataID.ToString()); xmlWriter.WriteAttributeString("Description", tourDetails.Description.Replace("&", "&")); xmlWriter.WriteAttributeString("Classification", extData["classification"] != null ? extData["classification"].ToString() : "Other"); xmlWriter.WriteAttributeString("AuthorEmail", extData.authorEmail != null ? extData.authorEmail.ToString() : ""); xmlWriter.WriteAttributeString("Author", extData.author != null ? extData.author.ToString().Replace("&", "&") : ""); xmlWriter.WriteAttributeString("AverageRating", tourDetails.AverageRating.ToString(CultureInfo.InvariantCulture)); xmlWriter.WriteAttributeString("LengthInSecs", tourContents.TourLength); xmlWriter.WriteAttributeString("OrganizationUrl", extData.organizationUrl != null ? extData.organizationUrl.ToString().Replace("&", "&") : ""); xmlWriter.WriteAttributeString("OrganizationName", extData.organization != null ? extData.organization.ToString().Replace("&", "&") : ""); xmlWriter.WriteAttributeString("ITHList", extData.ithList != null ? extData.ithList.ToString() : extData.taxonomy != null ? extData.taxonomy.ToString() : ""); xmlWriter.WriteAttributeString("AstroObjectsList", string.Empty); xmlWriter.WriteAttributeString("Keywords", tourDetails.Tags.Replace(',', ';').Replace(" ", "")); xmlWriter.WriteAttributeString("RelatedTours", relatedTours); xmlWriter.WriteEndElement(); } catch (NullReferenceException) { //ignore - deleted tour } } if (toursInFolder) xmlWriter.WriteEndElement(); } xmlWriter.WriteEndElement(); xmlWriter.Close(); } sw.Close(); var xml = sw.ToString(); var storageAccount = Microsoft.WindowsAzure.Storage.CloudStorageAccount.Parse( ConfigReader<string>.GetSetting("WWTWebBlobs")); var blobClient = storageAccount.CreateCloudBlobClient(); var cloudBlobContainer = blobClient.GetContainerReference("tours"); var toursBlob = cloudBlobContainer.GetBlobReferenceFromServer(webclient? "webclienttours.wtml" : "alltours.wtml"); var bytes = new byte[xml.Length * sizeof(char)]; Buffer.BlockCopy(xml.ToCharArray(), 0, bytes, 0, bytes.Length); toursBlob.UploadFromByteArray(bytes,0,bytes.Length); return toursBlob.StorageUri.PrimaryUri.AbsoluteUri; } }
public async Task<JsonResult> GetCommunityContents(long communityId) { if (CurrentUserId == 0) { await TryAuthenticateFromHttpContext(_communityService, _notificationService); } var contents = await _communityService.GetCommunityContents(communityId, CurrentUserId); var entities = new List<EntityViewModel>(); foreach (var item in contents) { var contentViewModel = new ContentViewModel(); contentViewModel.SetValuesFrom(item); entities.Add(contentViewModel); } var children = await _communityService.GetChildCommunities(communityId, CurrentUserId); var childCommunities = new List<CommunityViewModel>(); foreach (var child in children) { var communityViewModel = new CommunityViewModel(); Mapper.Map(child, communityViewModel); childCommunities.Add(communityViewModel); } return Json(new{entities,childCommunities},JsonRequestBehavior.AllowGet); }
/// <summary> /// It returns the entity list /// </summary> /// <param name="userId">User Id for whom page is rendered</param> /// <param name="entityType">Entity type (Community/Content)</param> /// <param name="pageDetails">Details about the pagination</param> /// <returns>List of entity objects</returns> private async Task<List<EntityViewModel>> GetEntities(long userId, EntityType entityType, PageDetails pageDetails) { // TODO: Need to create a model for passing parameters to this controller var highlightEntities = new List<EntityViewModel>(); if (entityType == EntityType.Community) { var communities = ProfileService.GetCommunities(userId, pageDetails, userId != CurrentUserId); foreach (var community in communities) { var communityViewModel = new CommunityViewModel(); Mapper.Map(community, communityViewModel); highlightEntities.Add(communityViewModel); } } else if (entityType == EntityType.Content) { var contents = ProfileService.GetContents(userId, pageDetails, userId != CurrentUserId); foreach (var content in contents) { var contentViewModel = new ContentViewModel(); contentViewModel.SetValuesFrom(content); highlightEntities.Add(contentViewModel); } } return highlightEntities; }
/// <summary> /// Gets the entities for the given community. /// </summary> /// <param name="entityId">Entity Id (Community/Content)</param> /// <param name="entityType">Entity type (Community/Content)</param> /// <param name="pageDetails">Details about the pagination</param> /// <param name="onlyItemCount">To get only item count, not the entities. When community details page is loaded first time, /// no need to get the communities, only count is enough.</param> /// <returns>Collection of entities</returns> private List<EntityViewModel> GetCommunityEntities(long entityId, EntityType entityType, PageDetails pageDetails, bool onlyItemCount) { var entities = new List<EntityViewModel>(); // Default value is 20 if the value is not specified or wrong in the configuration file. // Total pages will be set by the service. pageDetails.ItemsPerPage = Constants.HighlightEntitiesPerPage; // Do not hit the database if the entity is not valid. This will happen for private communities. if (entityId > 0) { if (entityType == EntityType.Community || entityType == EntityType.Folder) { var subCommunities = _entityService.GetSubCommunities(entityId, CurrentUserId, pageDetails, onlyItemCount); foreach (var item in subCommunities) { var subCommunityViewModel = new CommunityViewModel(); Mapper.Map(item, subCommunityViewModel); entities.Add(subCommunityViewModel); } } else { var contents = _entityService.GetContents(entityId, CurrentUserId, pageDetails); foreach (var item in contents) { var contentViewModel = new ContentViewModel(); contentViewModel.SetValuesFrom(item); entities.Add(contentViewModel); } } } return entities; }