public async Task <ResultDto <ReturnUserSettingsDto> > CreateSetting(ChangeUserSettingViewModel viewModel, int UserId) { var result = new ResultDto <ReturnUserSettingsDto>(); if (viewModel.MotiveId == null && viewModel.Avatar == null) { result.Errors.Add("Nie podano wymaganych wartości do utworzenia ustawienia"); return(result); } bool isUserSettingAlreadyCreated = _userSettingsRepository.Exist(x => x.UserId == UserId); if (isUserSettingAlreadyCreated) { result.Errors.Add("Ustawienia dla tego konta zostały już utworzone"); return(result); } if (viewModel.MotiveId != null) { var isMotiveExist = _motiveRepository.Exist(x => x.Id == viewModel.MotiveId && x.UserId == UserId); if (!isMotiveExist) { result.Errors.Add("Motyw o podanych parametrach nie istnieje"); return(result); } } var setting = _mapper.Map <ChangeUserSettingViewModel, UserSetting>(viewModel); setting.UserId = UserId; if (viewModel.Avatar != null) { setting.PathToAvatar = await _pictureService.SaveAvatar(UserId, viewModel.Avatar); } if (setting.PathToAvatar == null) { result.Errors.Add("Wystąpił błąd podczas dodawania zdjęcia"); return(result); } int isInsertedCorrectly = await _userSettingsRepository.Insert(setting); if (isInsertedCorrectly == 0) { result.Errors.Add("Wystąpił błąd podczas dodawania ustawień"); return(result); } return(result); }
public async Task <IActionResult> CreateSetting([FromForm] ChangeUserSettingViewModel viewModel) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } int userId = Convert.ToInt32(User.Claims.FirstOrDefault(x => x.Type == ClaimTypes.Sid).Value); var result = await _userService.CreateSetting(viewModel, userId); if (result.IsError) { return(BadRequest(result)); } return(Ok(result)); }
public async Task <ResultDto <ReturnUserSettingsDto> > ChangeSetting(ChangeUserSettingViewModel viewModel, int UserId) { var result = new ResultDto <ReturnUserSettingsDto>(); if (viewModel.MotiveId == null && viewModel.Avatar == null) { result.Errors.Add("Nie podano wymaganych wartości do utworzenia ustawienia"); return(result); } var userSetting = _userSettingsRepository.GetBy(x => x.UserId == UserId); if (userSetting == null) { result.Errors.Add("Brak stworzonego ustawienia dla tego konta. Najpierw utwórz nowe"); return(result); } if (viewModel.MotiveId != null) { bool isMotiveExist = _motiveRepository.Exist(x => x.Id == viewModel.MotiveId); if (!isMotiveExist) { result.Errors.Add("Motyw o podanych parametrach nie istnieje"); return(result); } } if (userSetting.MotiveId != viewModel.MotiveId) { userSetting.MotiveId = viewModel.MotiveId; } if (viewModel.Avatar != null) { userSetting.PathToAvatar = await _pictureService.SaveAvatar(UserId, viewModel.Avatar); } if (userSetting.PathToAvatar == null) { result.Errors.Add("Wystąpił błąd podczas dodawania zdjęcia profilowego"); return(result); } int isUpdated = await Task.Run(() => _userSettingsRepository.Update(userSetting) ); if (isUpdated == 0) { result.Errors.Add("Wystąpił błąd podczas aktualizacji ustawień"); return(result); } return(result); }