public async Task <Result <PerformerDto> > UpdatePerformerAsync(int performerId, Performer newPerformer) { var result = new PerformerValidator().Validate(newPerformer); if (!result.IsValid) { return(new Result <PerformerDto>(ResultType.Invalid, string.Join("; ", result.Errors))); } var performers = await _unitOfWork.PerformerRepository .GetAsync(p => p.Id == performerId) .ConfigureAwait(false); var performer = performers.FirstOrDefault(); if (performer == null) { return(new Result <PerformerDto>(ResultType.Invalid, "Could not find performer!")); } performer.Id = performerId; performer.Name = newPerformer.Name; performer.Info = newPerformer.Info; performer.CountryId = newPerformer.CountryId; _unitOfWork.PerformerRepository.Edit(performer); await _unitOfWork.SaveAsync().ConfigureAwait(false); return(new Result <PerformerDto>(Auto.Mapper.Map <PerformerDto>(performer))); }
public async Task <Result <PerformerDto> > AddPerformerAsync(Performer performer) { var result = new PerformerValidator().Validate(performer); if (!result.IsValid) { return(new Result <PerformerDto>(ResultType.Invalid, string.Join("; ", result.Errors))); } _unitOfWork.PerformerRepository.Add(performer); await _unitOfWork.SaveAsync().ConfigureAwait(false); return(new Result <PerformerDto>(Auto.Mapper.Map <PerformerDto>(performer))); }