public EfficiencySettings UpdateDefault(EfficiencySettings settings)
        {
            var settingsToSave = settings.Id == default ?
                                 GetDefault().FulfillFrom(settings) : settings;
            var entity = _dbContext.Find <Entities.Tenant.EfficiencySettings>(settingsToSave.Id);

            _mapper.Map(settingsToSave, entity);
            _dbContext.Update(entity, post => post.MapTo(settingsToSave), _mapper);
            return(settingsToSave);
        }
        /// <summary>
        /// Updates default efficiency settings record
        /// </summary>
        /// <param name="settings">Payload with latest settings data</param>
        /// <returns> Returns updated settings record </returns>
        /// <exception cref="InvalidOperationException">When there is more than one efficiency record in data source</exception>
        /// <exception cref="ObjectNotFoundException">When no default efficiency settings found</exception>
        public EfficiencySettings UpdateDefault(EfficiencySettings settings)
        {
            if (settings.Id == default)
            {
                var defaultSettings = GetDefault();

                defaultSettings.FulfillFrom(settings);
                _session.Store(defaultSettings);
                return(defaultSettings);
            }

            _session.Store(settings);
            return(settings);
        }
Пример #3
0
        public void Apply()
        {
            foreach (var tenantConnectionString in _tenantConnectionStrings)
            {
                using (var documentStore = DocumentStoreFactory.CreateStore(tenantConnectionString))
                    using (var session = documentStore.OpenSession())
                    {
                        var one = 1;

                        var defaultEfficiencySettings = new EfficiencySettings
                        {
                            Id = Guid.NewGuid(),
                            DefaultNumberOfWeeks        = one,
                            PersistEfficiency           = PersistEfficiency.NightRun,
                            EfficiencyCalculationPeriod = EfficiencyCalculationPeriod.RunPeriod
                        };

                        session.Store(defaultEfficiencySettings);

                        session.SaveChanges();
                    }
            }
        }