Ejemplo n.º 1
0
        public IHttpResponse Create(PostContestViewModel model)
        {
            if (this.DbContext.Contests.Any(c => c.Name == model.Name))
            {
                return(this.BadRequestErrorWithView("This contest already exists!"));
            }

            var user = this.DbContext.Users.FirstOrDefault(u => u.FullName == this.User.Username);

            Contest contest = model.To <Contest>();

            this.DbContext.Contests.Add(contest);
            this.DbContext.SaveChanges();

            UserContest userContest = new UserContest()
            {
                UserId    = user.Id,
                ContestId = this.DbContext.Contests.First(c => c.Name == contest.Name).Id
            };

            this.DbContext.UserContests.Add(userContest);
            this.DbContext.SaveChanges();

            return(this.Redirect("/Contests/All"));
        }
Ejemplo n.º 2
0
        public IHttpResponse Delete(int Id, PostContestViewModel model)
        {
            var contest = this.DbContext.Contests.FirstOrDefault(c => c.Id == Id);

            if (contest == null)
            {
                return(this.BadRequestError("Contest doesn't exist!"));
            }

            this.DbContext.Contests.Remove(contest).State = EntityState.Deleted;
            this.DbContext.SaveChanges();

            return(this.Redirect("/Contests/All"));
        }
Ejemplo n.º 3
0
        public IHttpResponse Edit(int Id, PostContestViewModel model)
        {
            var contest = this.DbContext.Contests.Where(c => c.Id == Id).FirstOrDefault();

            if (contest == null)
            {
                return(this.BadRequestError("Contest doesn't exist!"));
            }

            if (this.DbContext.Contests.Any(c => c.Name == model.Name))
            {
                return(this.BadRequestErrorWithView("This contest already exists!", contest));
            }

            contest.Name = model.Name;


            this.DbContext.Entry(contest).State = EntityState.Modified;
            this.DbContext.SaveChanges();

            return(this.Redirect("/Contests/All"));
        }