public async Task <Result> CreateResultAsync([Service] IResultService resultService, [Service] IHttpContextAccessor httpContextAccessor, ResultInput resultInput) { var user = httpContextAccessor.HttpContext.User; var model = new ResultCreateModel { WinnerId = resultInput.WinnerId, LoserId = resultInput.LoserId }; return(await resultService.SaveResultAsync(model, user.Identity.Name)); }
public async Task <Result> SaveResultAsync(ResultCreateModel resultCreateModel, string userId) { if (resultCreateModel.LoserId == resultCreateModel.WinnerId) { throw new ArgumentException("A result cannot be between two of the same resumes"); } // var result = resultCreateModel.ToResult(DateTime.Now, userId); var result = new Result { WinnerId = resultCreateModel.WinnerId, LoserId = resultCreateModel.LoserId, DateSubmitted = DateTime.Now, UserId = userId }; await _resultRepository.AddAsync(result); await _resultRepository.SaveChangesAsync(); return(result); }