Ejemplo n.º 1
0
        /// <summary>
        /// Обновить визуальное представление пасеки.
        /// </summary>
        /// <param name="options">Опции обновления view-модели пасеки.</param>
        private void Refresh(RefreshApiaryVmOptions options)
        {
            IApiaryState state = this.GetStateForRefresh(options);

            this.tempHoneyCount = state.HoneyCount;

            this.RefreshBeehives(state.BeehiveStates);
            this.RaiseMainPropertiesChanged();
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Получить/выбрать состояние пасеки, в соответствии с которым
        /// будет обновляться view-модель пасеки.
        /// </summary>
        /// <param name="options">Опции обновления view-модели пасеки.</param>
        /// <returns>Состояние пасеки.</returns>
        private IApiaryState GetStateForRefresh(RefreshApiaryVmOptions options)
        {
            IApiaryState result;

            switch (options)
            {
            case RefreshApiaryVmOptions.ShowActualApiary:
                result = this.apiary;
                break;

            case RefreshApiaryVmOptions.ShowTempSavedState:
                result = ApiaryXmlState.LoadState();
                break;

            default:
                throw new ArgumentOutOfRangeException(
                          nameof(options),
                          "Передано непредусмотренное значение опций обновления view-модели пасеки");
            }

            return(result);
        }