Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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));
        }
Ejemplo n.º 3
0
        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);
        }