public void RemoveChallenge(Guid id) { var challenge = unitOfWork.Get <Challenge>(id); unitOfWork.Delete(challenge); unitOfWork.Commit(); }
public EditChallengeViewModel Save(EditChallengeViewModel model) { Contract.NotNull <ArgumentNullException>(model); ValidateChallenge(model); Challenge challenge; if (model.IsNew) { challenge = new Challenge { TimeCreated = DateTime.Now }; } else { challenge = unitOfWork.Get <Challenge>(model.Id.GetValueOrDefault()); } MapModelToChallenge(challenge, model); unitOfWork.InsertOrUpdate(challenge); unitOfWork.Commit(); return(mapper.Map <EditChallengeViewModel>(challenge)); }
public ChallengeSolveResult Solve(Guid challengeId, Guid userId, string answer) { Contract.NotDefault <InvalidOperationException, Guid>(userId, "user id must be not default"); var challenge = unitOfWork.Get <Challenge>(challengeId); var challengeType = (ChallengeType)challenge.ChallengeType; return(challengeSolvingStrategies[challengeType].Value.Solve(challenge, userId, answer)); }