コード例 #1
0
 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"));
     }
 }
コード例 #2
0
        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));
        }
コード例 #3
0
 public Community(Models.User currentUser)
 {
     InitializeComponent();
     communityViewModel = new CommunityViewModel(currentUser);
     this.DataContext   = communityViewModel;
     this.currentUser   = currentUser;
 }
コード例 #4
0
        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));
        }
コード例 #5
0
        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));
        }
コード例 #6
0
        protected override async Task OnInitializedAsync()
        {
            await base.OnInitializedAsync();

            CommunityViewModel      = new CommunityViewModel();
            AppStore.CommunityImage = null;
        }
コード例 #7
0
        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));
        }
コード例 #8
0
        // 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));
        }
コード例 #9
0
        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);
        }
コード例 #10
0
        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);
        }
コード例 #11
0
        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);
        }
コード例 #12
0
        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);
        }
コード例 #13
0
        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);
        }
コード例 #14
0
        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));
        }
コード例 #15
0
        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));
        }
コード例 #16
0
        /// <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);
        }
コード例 #17
0
        /// <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));
        }
コード例 #18
0
        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));
        }
コード例 #19
0
        //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);
            }
        }
コード例 #20
0
        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());
            }
        }
コード例 #21
0
ファイル: NicoNicoOpener.cs プロジェクト: 31kish/SRNicoNico
 //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);
     }
 }
コード例 #22
0
 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);
     }
 }
コード例 #23
0
        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());
            }
        }
コード例 #24
0
        public IActionResult Index()
        {
            List <Member> listOfMembers = MemberRepository.GetAllMembers();
            List <Image>  listOfImages  = ImageRepository.GetAllImagesFromDbConnectedToUsers();

            CommunityViewModel = new CommunityViewModel(listOfImages, listOfMembers);
            return(View(CommunityViewModel));
        }
コード例 #25
0
        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));
        }
コード例 #26
0
        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));
        }
コード例 #27
0
 public CommunityPage(RootPage root)
 {
     InitializeComponent();
     _model = new CommunityViewModel()
     {
         Root = root
     };
     Init();
 }
コード例 #28
0
        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);
        }
コード例 #29
0
        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);
        }
コード例 #30
0
        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);
        }
コード例 #31
0
        // 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));
        }
コード例 #32
0
        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);
        }
コード例 #33
0
ファイル: EntityController.cs プロジェクト: faorg/wwt-website
        /// <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;
        }
コード例 #34
0
        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
            };
            
        }
コード例 #35
0
        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("&", "&amp;"));
                                xmlWriter.WriteAttributeString("ID", tourContents.ContentDataID.ToString());
                                xmlWriter.WriteAttributeString("Description",
                                    tourDetails.Description.Replace("&", "&amp;"));
                                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("&", "&amp;") : "");
                                xmlWriter.WriteAttributeString("AverageRating",
                                    tourDetails.AverageRating.ToString(CultureInfo.InvariantCulture));
                                xmlWriter.WriteAttributeString("LengthInSecs", tourContents.TourLength);
                                xmlWriter.WriteAttributeString("OrganizationUrl",
                                    extData.organizationUrl != null
                                        ? extData.organizationUrl.ToString().Replace("&", "&amp;")
                                        : "");
                                xmlWriter.WriteAttributeString("OrganizationName",
                                    extData.organization != null
                                        ? extData.organization.ToString().Replace("&", "&amp;")
                                        : "");
                                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;
            }
        }
コード例 #36
0
        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);

        }
コード例 #37
0
        /// <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;
        }
コード例 #38
0
ファイル: EntityController.cs プロジェクト: faorg/wwt-website
        /// <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;
        }