public GatewaySchedule FillGatewaySchedule()
        {
            GatewaySchedule gs = new GatewaySchedule(DataAccess)
            {
                YearOfCalculation = YearOfCalculation,

                VD_plus   = this.VD_plus,
                VD_minus  = this.VD_minus,
                Voz_plus  = this.Voz_plus,
                Voz_minus = this.Voz_minus,

                MonthsOfWorkGatewayVD  = VD_months,
                MonthsOfWorkGatewayVoz = Voz_months,

                GatewayOpenVD_plus   = this.GatewayOpenVD_plus,
                GatewayCloseVD_plus  = this.GatewayCloseVD_plus,
                GatewayOpenVD_minus  = this.GatewayOpenVD_minus,
                GatewayCloseVD_minus = this.GatewayCloseVD_minus,

                GatewayOpenVoz_plus   = this.GatewayOpenVoz_plus,
                GatewayCloseVoz_plus  = this.GatewayCloseVoz_plus,
                GatewayOpenVoz_minus  = this.GatewayOpenVoz_minus,
                GatewayCloseVoz_minus = this.GatewayCloseVoz_minus,

                IsCalculateGS = this.IsCalculateGS,
                ItemsToUpdate = GatewaySchedule.ChoiceItems.All
            };

            return(gs);
        }
        private bool Recalculate(RecalculateDialog rd)
        {
            try
            {
                if (!rd.IsSaltBalanceRecalculate)
                {
                    Calculation calc      = null;
                    InputData   inputData = new InputData(DataAccess, YearOfCalculation, rd.IsCalculateE);

                    if (!rd.IsEnterGatewaySchedule)
                    {
                        calc = new Calculation(DataAccess, inputData);
                    }
                    else
                    {
                        GatewaySchedule gs = new GatewaySchedule(DataAccess, YearOfCalculation)
                        {
                            IsEnterGatewaySchedule = rd.IsEnterGatewaySchedule,
                            IsCalculateGS          = rd.IsCalculateGS
                        };
                        gs.SetMonthOfWorkGateway();
                        calc = new Calculation(DataAccess, inputData, gs);
                    }

                    calc.Calculate();
                    calc.Update();
                }
                else
                {
                    OutputData outputData = new OutputData(DataAccess);
                    outputData.RecalculateSaltBalancePart(YearOfCalculation);
                }

                return(true);
            }
            catch (System.NullReferenceException)
            {
                MessageDialog.Show(MessageDialog.ErrorTitle, MessageDialog.ErrorText6, MessageDialog.Icon.Cross);
                return(false);
            }
            catch (System.Data.SQLite.SQLiteException)
            {
                MessageDialog.Show(MessageDialog.ErrorTitle, MessageDialog.ErrorText6, MessageDialog.Icon.Cross);
                return(false);
            }
        }