示例#1
0
        public void ApplyReward(IPhotoContestData data, Contest contest)
        {
            var winners = contest
                          .Participants
                          .OrderByDescending(u => u.Pictures.Where(p => p.ContestId == contest.Id).Sum(p => p.Votes.Count))
                          .ThenBy(u => u.Pictures.Count)
                          .Take(this._topNPrizes)
                          .ToList();

            if (winners.Any())
            {
                for (int i = 0; i < winners.Count; i++)
                {
                    data.ContestWinners.Add(new ContestWinners()
                    {
                        ContestId = contest.Id,
                        Place     = i + 1,
                        WinnerId  = winners.ElementAt(i).Id
                    });

                    foreach (var reward in contest.Rewards.Where(r => r.Place == i + 1))
                    {
                        reward.UserId = winners[i].Id;
                    }
                }

                data.SaveChanges();
            }
        }
 public void CheckPermission(IPhotoContestData data, User user, Contest contest)
 {
     if (!contest.IsOpenForSubmissions)
     {
         throw new BadRequestException("The contest registration is closed.");
     }
 }
示例#3
0
 public void CheckPermission(IPhotoContestData data, User user, Contest contest)
 {
     if (!contest.Committee.Contains(user))
     {
         throw new BadRequestException("User is not in the voting committee.");
     }
 }
 public void CheckPermission(IPhotoContestData data, User user, Contest contest)
 {
     if (!contest.Committee.Contains(user))
     {
         throw new BadRequestException("User is not in the voting committee.");
     }
 }
示例#5
0
 public void CheckPermission(IPhotoContestData data, User user, Contest contest)
 {
     if (contest.Participants.Contains(user))
     {
         throw new BadRequestException("You cannot vote for contest that you currently participate in.");
     }
 }
 public void CheckPermission(IPhotoContestData data, User user, Contest contest)
 {
     if (!contest.IsOpenForSubmissions)
     {
         throw new BadRequestException("The contest registration is closed.");
     }
 }
 public ContestsController(IPhotoContestData data)
     : base(data)
 {
     Mapper.CreateMap<User, BasicUserInfoViewModel>();
     Mapper.CreateMap<IPagedList<User>, IPagedList<BasicUserInfoViewModel>>()
         .ConvertUsing<PagedListConverter>();
 }
        public void ApplyReward(IPhotoContestData data, Contest contest)
        {
            var winner = contest
                        .Participants
                        .OrderByDescending(u => u.Pictures.Where(p => p.ContestId == contest.Id)
                        .Select(p => p.Votes.Count))
                        .FirstOrDefault();

            if (winner != null)
            {
                data.ContestWinners.Add(new ContestWinners()
                {
                    ContestId = contest.Id,
                    Place = 1,
                    WinnerId = winner.Id
                });

                foreach (var reward in contest.Rewards)
                {
                    reward.UserId = winner.Id;
                }

                data.SaveChanges();
            }
        }
示例#9
0
 public MeController(IPhotoContestData data)
     : base(data)
 {
     Mapper.CreateMap<Contest, SummaryContestViewModel>();
     Mapper.CreateMap<Picture, SummaryPictureViewModel>();
     Mapper.CreateMap<User, EditProfileBindingModel>();
 }
 public void CheckPermission(IPhotoContestData data, User user, Contest contest)
 {
     if (contest.Participants.Contains(user))
     {
         throw new BadRequestException("You cannot vote for contest that you currently participate in.");
     }
 }
示例#11
0
        public void ApplyReward(IPhotoContestData data, Contest contest)
        {
            var winner = contest
                         .Participants
                         .OrderByDescending(u => u.Pictures.Where(p => p.ContestId == contest.Id)
                                            .Select(p => p.Votes.Count))
                         .FirstOrDefault();

            if (winner != null)
            {
                data.ContestWinners.Add(new ContestWinners()
                {
                    ContestId = contest.Id,
                    Place     = 1,
                    WinnerId  = winner.Id
                });

                foreach (var reward in contest.Rewards)
                {
                    reward.UserId = winner.Id;
                }

                data.SaveChanges();
            }
        }
        public void ApplyReward(IPhotoContestData data, Contest contest)
        {
            var winners = contest
                        .Participants
                        .OrderByDescending(u => u.Pictures.Where(p => p.ContestId == contest.Id).Sum(p => p.Votes.Count))
                        .ThenBy(u => u.Pictures.Count)
                        .Take(this._topNPrizes)
                        .ToList();

            if (winners.Any())
            {
                for (int i = 0; i < winners.Count; i++)
                {
                    data.ContestWinners.Add(new ContestWinners()
                    {
                        ContestId = contest.Id,
                        Place = i + 1,
                        WinnerId = winners.ElementAt(i).Id
                    });

                    foreach (var reward in contest.Rewards.Where(r => r.Place == i + 1))
                    {
                        reward.UserId = winners[i].Id;
                    }
                }

                data.SaveChanges();
            }
        }
示例#13
0
 public SearchController(IPhotoContestData data)
     : base(data)
 {
     Mapper.CreateMap<Contest, ContestSearchResultModel>()
         .ForMember(c => c.OwnerUsername, cfg => cfg.MapFrom(c => c.Owner.UserName));
     Mapper.CreateMap<Picture, PictureSearchResultModel>()
         .ForMember(p => p.AuthorUsername, cfg => cfg.MapFrom(p => p.Author.UserName));
     Mapper.CreateMap<User, UserSearchResultModel>();
 }
示例#14
0
        public void CheckDeadline(IPhotoContestData data, Contest contest, User user)
        {
            if (contest.Participants.Count >= contest.ParticipantsLimit)
            {
                if (contest.IsOpenForSubmissions)
                {
                    contest.IsOpenForSubmissions = false;
                    data.Contests.Update(contest);
                    data.SaveChanges();
                }

                throw new BadRequestException("The contest is closed for submissions/registrations");
            }
        }
        public void CheckDeadline(IPhotoContestData data, Contest contest, User user)
        {
            if (contest.SubmissionDeadline < DateTime.Now)
            {
                if (contest.IsOpenForSubmissions)
                {
                    contest.IsOpenForSubmissions = false;
                    data.Contests.Update(contest);
                    data.SaveChanges();
                }

                throw new BadRequestException("The contest is closed for submissions/registrations");
            }
        }
示例#16
0
        public void CheckPermission(IPhotoContestData data, User user, Contest contest)
        {
            if (!contest.IsOpenForSubmissions)
            {
                throw new BadRequestException("The registration for this contest is closed.");
            }

            if (!contest.InvitedUsers.Contains(user))
            {
                throw new BadRequestException("The user is not selected to participate.");
            }

            var invitation = user.PendingInvitations.FirstOrDefault(i => i.ContestId == contest.Id);

            invitation.Status = InvitationStatus.Accepted;

            data.SaveChanges();
        }
        public void CheckPermission(IPhotoContestData data, User user, Contest contest)
        {
            if (!contest.IsOpenForSubmissions)
            {
                throw new BadRequestException("The registration for this contest is closed.");
            }

            if (!contest.InvitedUsers.Contains(user))
            {
                throw new BadRequestException("The user is not selected to participate.");
            }

            var invitation = user.PendingInvitations.FirstOrDefault(i => i.ContestId == contest.Id);

            invitation.Status = InvitationStatus.Accepted;

            data.SaveChanges();
        }
示例#18
0
 public ContestService(IPhotoContestData data)
     : base(data)
 {
     this._pictureService = new PictureService(data);
 }
示例#19
0
 protected BaseController(IPhotoContestData data)
 {
     this.Data = data;
     InitStorage();
 }
 public ImageController(IPhotoContestData data) : base(data)
 {
 }
 protected BaseController(IPhotoContestData data)
 {
     this.Data = data;
     InitStorage();
 }
 protected BaseController(IPhotoContestData data, User user)
     : this(data)
 {
     this.UserProfile = user;
 }
 public ContestCacheService(IPhotoContestData data)
 {
     this.data = data;
 }
示例#24
0
 protected BaseController(IPhotoContestData data, ApplicationUser userProfile)
     : this(data)
 {
     this.UserProfile = userProfile;
 }
示例#25
0
 public StrategyService(IPhotoContestData data)
     : base(data)
 {
 }
 public ManageController(IPhotoContestData data)
 {
     this.data = data;
 }
 // GET: Admin/NotificationsAdmin
 public NotificationsAdminController(IPhotoContestData ctx)
     : base(ctx)
 {
 }
示例#28
0
 protected BaseAdminController(IPhotoContestData data)
 {
     this.Data = data;
 }
 public PictureService(IPhotoContestData data) : base(data)
 {
 }
示例#30
0
 public HomeController(IPhotoContestData data, IContestsService service)
     : base(data)
 {
     this.service = service;
 }
 protected BaseAdminController(IPhotoContestData data)
     : base(data)
 {
 }
 protected BaseController(IPhotoContestData data)
 {
     this.Data = data;
 }
 public UsersService(IPhotoContestData data)
     : base(data)
 {
 }
 public UsersController(IPhotoContestData data, IUsersService service)
     : base(data)
 {
     this._service = service;
 }
 public ProfileController(IPhotoContestData data)
     : base(data)
 {
 }
示例#36
0
 public NotificationsController(IPhotoContestData data) : base(data)
 {
 }
示例#37
0
 public VotesController(IPhotoContestData data) : base(data)
 {
 }
 public ProfileController(IPhotoContestData data)
     : base(data)
 {
 }
 public BaseAdminController(IPhotoContestData data)
 {
     this.Data = data;
 }
示例#40
0
 public AdminController(IPhotoContestData data)
     : base(data)
 {
 }
        public UserController(IPhotoContestData data)
            : base(data)
        {

        }
 public ContestController(IPhotoContestData data, ICacheService cache)
     : base(data)
 {
     this.cache = cache;
 }
 public ManageController(ApplicationUserManager userManager, ApplicationSignInManager signInManager, IPhotoContestData data)
 {
     UserManager = userManager;
     SignInManager = signInManager;
     this.data = data;
 }
 public PicturesController(IPhotoContestData data)
     : base(data)
 {
     this._service = new PictureService(data);
 }
 public AccountController(IPhotoContestData data, ApplicationUserManager userManager, ApplicationSignInManager signInManager)
     : base(data)
 {
     UserManager = userManager;
     SignInManager = signInManager;
 }
 public AdminPicturesController(IPhotoContestData data)
     : base(data)
 {
 }
示例#47
0
 public ContestsController(IPhotoContestData data)
     : base(data)
 {
 }
 public HomeController(IPhotoContestData data, IContestsService service)
     : base(data)
 {
     this.service = service;
 }
 // GET: Admin/NotificationsAdmin
 public NotificationsAdminController(IPhotoContestData ctx) : base(ctx)
 {
 }
 public HomeController(IPhotoContestData ctx)
     : base(ctx)
 {
 }
 protected BaseController(IPhotoContestData data, ApplicationUser userProfile)
     : this(data)
 {
     this.UserProfile = userProfile;
 }
 public AdminBaseController(IPhotoContestData data)
     : base(data)
 {
 }
示例#53
0
 public ContestsController(IPhotoContestData data, IContestsService service)
     : base(data)
 {
     this._picturesService = new PictureService(data);
     this._service         = service;
 }
 public MyContestsController(IPhotoContestData data)
     : base(data)
 {
 }
 public HomeController(IPhotoContestData data)
     : base(data)
 {
 }
 protected BaseService(IPhotoContestData data)
 {
     this.Data = data;
 }
 public HomeAdminController(IPhotoContestData data)
     : base(data)
 {
 }
 public UserController(IPhotoContestData data) : base(data)
 {
 }
示例#59
0
 public AdminController(IPhotoContestData data)
     : base(data)
 {
     this._picturesService = new PictureService(data);
 }
示例#60
0
 public UsersService(IPhotoContestData data)
     : base(data)
 {
 }