Example #1
0
        public void UpdateSettings(DTO.Settings updatedSettings)
        {
            CheckHelper.ArgumentNotNull(updatedSettings, "updatedSettings");
            CheckHelper.ArgumentWithinCondition(!updatedSettings.IsNew(), "!updatedSettings.IsNew()");
            Container.Get <IValidateService>().CheckIsValid(updatedSettings);

            CheckHelper.WithinCondition(SecurityService.IsLoggedIn, "User is not logged in.");
            CheckHelper.WithinCondition(SecurityService.IsCurrentUserAdministrator, "Only administrator can update settings.");

            var persistentService = Container.Get <IPersistentService>();

            var settings =
                Container
                .Get <IPersistentService>()
                .GetEntitySet <DataAccess.Settings>()
                .SingleOrDefault();

            CheckHelper.ArgumentNotNull(settings, "Cannot find settings.");
            CheckHelper.WithinCondition(settings.Id == updatedSettings.Id, "settings.Id == updatedSettings.Id");

            settings.RublesPerDollar = updatedSettings.RublesPerDollar;

            settings.UpdateTrackFields(Container);

            persistentService.SaveChanges();

            _settings = null;
        }