public async Task <ResultDto <MotiveDto> > EditMotive(MotiveViewModel viewModel, int motiveId, int UserId) { var result = new ResultDto <MotiveDto>(); var motive = await Task.Run(() => _motiveRepository.GetBy(x => x.Id == motiveId && x.UserId == UserId)); if (motive == null) { result.Errors.Add("Motyw o podanych parametrach nie został odnaleziony"); return(result); } motive.MainColor = viewModel.MainColor; motive.FontColor = viewModel.FontColor; motive.Name = viewModel.Name; var isUpdated = await Task.Run(() => _motiveRepository.Update(motive)); if (isUpdated == 0) { result.Errors.Add("Wystąpił problem podczas edycji motywu"); } return(result); }
public async Task <ResultDto <MotiveDto> > AddMotive(MotiveViewModel viewModel, int userId) { var result = new ResultDto <MotiveDto>(); bool isMotiveExist = _motiveRepository.Exist(x => x.UserId == userId && (x.Name == viewModel.Name || (x.MainColor == viewModel.MainColor && x.FontColor == viewModel.FontColor))); if (isMotiveExist) { result.Errors.Add("W twojej kolekcji motywów istnieje już motyw o podanych parametrach"); return(result); } var motive = _mapper.Map <MotiveViewModel, Motive>(viewModel); motive.UserId = userId; var insertedMotive = await _motiveRepository.InsertAndReturnObject(motive); if (insertedMotive == null) { result.Errors.Add("Wystąpił błąd podczas dodawania motywu"); return(result); } result.SuccessResult = _mapper.Map <Motive, MotiveDto>(motive); return(result); }
public async Task <IActionResult> EditMotive([FromBody] MotiveViewModel viewModel, int motiveId) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } int userId = Convert.ToInt32(User.Claims.FirstOrDefault(x => x.Type == ClaimTypes.Sid).Value); var result = await _motiveService.EditMotive(viewModel, motiveId, userId); if (result.IsError) { return(BadRequest(result)); } return(Ok(result)); }