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")); }
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")); }
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")); }