示例#1
0
        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)));
        }
示例#2
0
        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)));
        }