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."); } }
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.Participants.Contains(user)) { throw new BadRequestException("You cannot vote for contest that you currently participate in."); } }
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(); } }
public MeController(IPhotoContestData data) : base(data) { Mapper.CreateMap<Contest, SummaryContestViewModel>(); Mapper.CreateMap<Picture, SummaryPictureViewModel>(); Mapper.CreateMap<User, EditProfileBindingModel>(); }
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>(); }
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"); } }
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 ContestService(IPhotoContestData data) : base(data) { this._pictureService = new PictureService(data); }
protected BaseController(IPhotoContestData data) { this.Data = data; InitStorage(); }
public ImageController(IPhotoContestData data) : base(data) { }
protected BaseController(IPhotoContestData data, User user) : this(data) { this.UserProfile = user; }
public ContestCacheService(IPhotoContestData data) { this.data = data; }
protected BaseController(IPhotoContestData data, ApplicationUser userProfile) : this(data) { this.UserProfile = userProfile; }
public StrategyService(IPhotoContestData data) : base(data) { }
public ManageController(IPhotoContestData data) { this.data = data; }
// GET: Admin/NotificationsAdmin public NotificationsAdminController(IPhotoContestData ctx) : base(ctx) { }
protected BaseAdminController(IPhotoContestData data) { this.Data = data; }
public PictureService(IPhotoContestData data) : base(data) { }
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) { }
public NotificationsController(IPhotoContestData data) : base(data) { }
public VotesController(IPhotoContestData data) : base(data) { }
public BaseAdminController(IPhotoContestData data) { this.Data = data; }
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) { }
public ContestsController(IPhotoContestData data) : base(data) { }
public HomeController(IPhotoContestData ctx) : base(ctx) { }
public AdminBaseController(IPhotoContestData data) : base(data) { }
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 AdminController(IPhotoContestData data) : base(data) { this._picturesService = new PictureService(data); }