Ejemplo n.º 1
0
        public async Task Save()
        {
            LoadingUpdate = true;
            UserSettingsDto newSettings = this;
            var             res         = await _httpClient.PostAsJsonAsync("users/" + this.Id + "/settings", newSettings);

            LoadingUpdate = false;
        }
Ejemplo n.º 2
0
        public async Task <UserSettingsDto> GetSettings()
        {
            var output = new UserSettingsDto
            {
                DefaultCurrencyCode = await SettingManager.GetSettingValueAsync(AppSettingNames.DefaultCurrency)
            };

            return(output);
        }
Ejemplo n.º 3
0
        public UserSettingsServiceTests(CustomWebApplicationFactory <TaxFormGeneratorApi.Startup> factory)
        {
            _factory = factory;
            _factory.CreateClient();

            _scope           = _factory.Server.Host.Services.CreateScope();
            _serviceProvider = _scope.ServiceProvider;

            _service = _serviceProvider.GetRequiredService <IUserSettingsService>();
            _userSettingsRepository = _serviceProvider.GetRequiredService <IRepository <UserSettings> >();

            _newUserSettingsDto = new UserSettingsDto
            {
                City = new CitySettingsDto
                {
                    CityName = "Split",
                    CityCode = "fdsfs",
                    CityIban = "HR128888024894203",
                    Surtax   = 0.05
                },
                Company = new CompanySettingsDto
                {
                    CompanyCity   = "Split",
                    CompanyEmail  = "*****@*****.**",
                    CompanyName   = "Best company",
                    CompanyOib    = "654576464",
                    CompanyStreet = "Mazuraniceva 12"
                },
                Dividend = new DividendSettingsDto
                {
                    DividendTax = 0.12
                },
                Personal = new PersonalSettingsDto
                {
                    City         = "Split",
                    PersonalOib  = "5645454343",
                    Postcode     = "21000",
                    StreetName   = "Sukoisanska",
                    StreetNumber = "2"
                },
                Salary = new SalarySettingsDto
                {
                    Amount   = 1000,
                    Currency = "EUR",
                    EmploymentContribution      = 0,
                    HealthInsuranceContribution = 0,
                    NonTaxableAmount            = 3800,
                    PensionPillar1Contribution  = 0,
                    PensionPillar2Contribution  = 0,
                    SalaryTax = 0,
                    WorkSafetyContribution = 0.02
                }
            };
        }
Ejemplo n.º 4
0
        public void UpdateUserSettings(string id, UserSettingsDto userIn)
        {
            var update = Builders <User> .Update.Set(u => u.Notifications, userIn.Notifications);

            update = update.Set(u => u.DarkTheme, userIn.DarkTheme);

            var option = new FindOneAndUpdateOptions <User> {
                IsUpsert = false
            };

            _users.FindOneAndUpdate <User>(user => user.Id == id, update, option);
        }
Ejemplo n.º 5
0
        public ActionResult UpdateUserSettings(string userId, [FromBody] UserSettingsDto settingIn)
        {
            if (!HttpContext.User.HasClaim("UserId", userId))
            {
                return(StatusCode(403));
            }
            var user = _userService.Get(userId);

            if (user == null)
            {
                return(StatusCode(404));
            }
            _userService.UpdateUserSettings(userId, settingIn);
            return(NoContent());
        }
Ejemplo n.º 6
0
        public void Upsert(int userId, UserSettingsDto settings)
        {
            var newUserSettings = settings.ToDomain(userId);
            var userSettings    = this.userSettingsRepository.GetOneOrNoneBy(x => x.UserId == userId);

            if (userSettings == null)
            {
                this.userSettingsRepository.Insert(newUserSettings);
            }
            else
            {
                newUserSettings.Id = userSettings.Id;
                this.userSettingsRepository.Update(newUserSettings);
            }
        }
Ejemplo n.º 7
0
 public static UserSettings ToDomain(this UserSettingsDto userSettings, int userId)
 {
     return(new UserSettings
     {
         UserId = userId,
         Personal = new PersonalSettings
         {
             Oib = userSettings.Personal.PersonalOib,
             StreetName = userSettings.Personal.StreetName,
             StreetNumber = userSettings.Personal.StreetNumber,
             Postcode = userSettings.Personal.Postcode,
             City = userSettings.Personal.City
         },
         City = new CitySettings
         {
             Iban = userSettings.City.CityIban,
             Code = userSettings.City.CityCode,
             Surtax = userSettings.City.Surtax
         },
         Company = new CompanySettings
         {
             Oib = userSettings.Company.CompanyOib,
             Email = userSettings.Company.CompanyEmail,
             Name = userSettings.Company.CompanyName,
             Street = userSettings.Company.CompanyStreet,
             City = userSettings.Company.CompanyCity
         },
         Salary = new SalarySettings
         {
             Amount = userSettings.Salary.Amount,
             Currency = userSettings.Salary.Currency,
             NonTaxableAmount = userSettings.Salary.NonTaxableAmount,
             SalaryTax = userSettings.Salary.SalaryTax,
             HealthInsuranceContribution = userSettings.Salary.HealthInsuranceContribution,
             WorkSafetyContribution = userSettings.Salary.WorkSafetyContribution,
             EmploymentContribution = userSettings.Salary.EmploymentContribution,
             PensionPillar1Contribution = userSettings.Salary.PensionPillar1Contribution,
             PensionPillar2Contribution = userSettings.Salary.PensionPillar2Contribution,
         },
         Dividend = new DividendSettings
         {
             DividendTax = userSettings.Dividend.DividendTax
         }
     });
 }
Ejemplo n.º 8
0
        public IActionResult GetSettings(int id)
        {
            var user = _userService.GetById(id);

            var notificationTypes    = _notificationService.GetTypes();
            var notificationTypeDtos = _mapper.Map <List <NotificationTypeDto> >(notificationTypes);

            var reminderFrequencies   = _reminderService.GetFrequencies();
            var reminderFrequencyDtos = _mapper.Map <List <ReminderFrequencyDto> >(reminderFrequencies);

            var userSettingsDto = new UserSettingsDto
            {
                SelectedNotificationTypeId  = user.UserNotificationTypeId,
                PossibleNotificationTypes   = notificationTypeDtos,
                SelectedReminderFrequencyId = user.ReminderFrequencyId,
                PossibleReminderFrequencies = reminderFrequencyDtos
            };

            return(Ok(userSettingsDto));
        }
Ejemplo n.º 9
0
        public async Task <IActionResult> SaveUserSettings([FromBody] UserSettingsDto userSettingsDto)
        {
            var userId = NiisAmbientContext.Current.User.Identity.UserId;

            var userSetting = await _executor.GetQuery <GetUserSettingsByUserIdAndKeyQuery>()
                              .Process(q => q.ExecuteAsync(userId, userSettingsDto.Key));

            if (userSetting == null)
            {
                await _executor.GetCommand <CreateUserSettingsCommand>()
                .Process(q => q.ExecuteAsync(userId, userSettingsDto.Key, userSettingsDto.Value));
            }
            else
            {
                userSetting.Value = userSettingsDto.Value;
                _executor.GetCommand <UpdateUserSettingsCommand>().Process(q => q.Execute(userSetting));
            }

            return(Ok());
        }
Ejemplo n.º 10
0
        public async Task <IActionResult> UpdateUserSettingsAsync([FromBody] UserSettingsDto updateRequest)
        {
            await _settingsService.UpdateAsync(updateRequest);

            return(Ok());
        }
Ejemplo n.º 11
0
 public UserWithSettingsResponse(UserDto user, UserSettingsDto settings)
 {
     User     = user;
     Settings = settings;
 }
 public void Post(UserSettingsDto settings)
 {
     this.userSettingsService.Upsert(LoggedInUserId, settings);
 }