public async Task <IActionResult> CreateFavorites([FromBody, NotNull] CreateFavoritesCommand model) { if (!ModelState.IsValid) { _logger.LogError($"Invalid model for create a new favorites was used."); return(BadRequest()); } var result = await _mediator.Send(model); return(result.IsFailure ? (IActionResult)BadRequest(result.Error) : Ok(result.Value)); //FP is here }
public async Task <Result <Favorites> > Handle(CreateFavoritesCommand request, CancellationToken cancellationToken) { var result = _validator.Validate(request, ruleSet: "CheckExistingEmployeeIdValidation"); if (result.Errors.Count > 0) { return(Result.Failure <Favorites>(result.Errors.First().ErrorMessage)); } var favoriteDb = _mapper.Map <FavoritesDb>(request); var employee = await _context.Employees .Where(x => x.Id == request.EmployeeId) .Select(b => b) .FirstOrDefaultAsync(); favoriteDb.WorkerDb = employee; _context.Add(favoriteDb); await _context.SaveChangesAsync(cancellationToken); return(Result.Ok <Favorites>(_mapper.Map <Favorites>(favoriteDb))); }