public HTTPApiResponse AddChallenger(DB.Challenger c) { HTTPApiResponse response = null; using (MemoryGameEntities db = new MemoryGameEntities()) { var data = db.Challengers.Where(o => o.Email.ToLower().Equals(c.Email.ToLower())); if (data.Any()) { response = new HTTPApiResponse { Status = HTTPApiResponse.StatusResponse.Fail, StatusCode = 400, StatusDescription = "User with associated email already exist." }; } else { db.Challengers.Add(c); db.SaveChanges(); response = new HTTPApiResponse { Status = HTTPApiResponse.StatusResponse.Success, StatusCode = 200, StatusDescription = "Operation successful." }; } return(response); } }
public HTTPApiResponse DeleteChallenger(int id) { HTTPApiResponse response = null; using (MemoryGameEntities db = new MemoryGameEntities()) { var data = db.Challengers.Where(o => o.ChallengerID == id); if (data.Any()) { try { var rankData = db.Ranks.Where(o => o.ChallengerID == id); if (rankData.Any()) { db.Ranks.Remove(rankData.FirstOrDefault()); db.SaveChanges(); } db.Challengers.Remove(data.FirstOrDefault()); db.SaveChanges(); response = new HTTPApiResponse { Status = HTTPApiResponse.StatusResponse.Success, StatusCode = 200, StatusDescription = "Operation successful." }; } catch (System.Data.Entity.Validation.DbUnexpectedValidationException) { //handle error and log response = new HTTPApiResponse { Status = HTTPApiResponse.StatusResponse.Fail, StatusCode = 500, StatusDescription = "An unexpected error occured." }; } } else { response = new HTTPApiResponse { Status = HTTPApiResponse.StatusResponse.Fail, StatusCode = 400, StatusDescription = "Associated ID not found." }; } return(response); } }