Пример #1
0
        public void GetCurrency(DateTime Date)
        {
            bool RateExist = false;
            //string CbrBankData = OrdersManager.GetCbrBankData(Date);
            //string NbrbBankData = OrdersManager.GetNbrbBankData(Date);

            decimal EURRUBCurrency = 1000000;
            decimal USDRUBCurrency = 1000000;
            decimal EURUSDCurrency = 1000000;
            decimal EURBYRCurrency = 1000000;

            //OrdersManager.NBRBDailyRates(Date, ref EURBYRCurrency);
            //OrdersManager.CBRDailyRates(Date, ref EURRUBCurrency, ref USDRUBCurrency);
            //if (USDRUBCurrency != 0)
            //    EURUSDCurrency = Decimal.Round(EURRUBCurrency / USDRUBCurrency, 4, MidpointRounding.AwayFromZero);


            OrdersManager.GetDateRates(Date, ref RateExist, ref EURUSDCurrency, ref EURRUBCurrency, ref EURBYRCurrency, ref USDRUBCurrency);

            if (!RateExist)
            {
                OrdersManager.CBRDailyRates(Date, ref EURRUBCurrency, ref USDRUBCurrency);
                EURBYRCurrency = Infinium.Modules.Marketing.NewOrders.CurrencyConverter.NbrbDailyRates(DateTime.Now);
                //OrdersManager.NBRBDailyRates(Date, ref EURBYRCurrency);

                if (USDRUBCurrency != 0)
                {
                    EURUSDCurrency = Decimal.Round(EURRUBCurrency / USDRUBCurrency, 4, MidpointRounding.AwayFromZero);
                }
                if (EURBYRCurrency == 1000000)
                {
                    Infinium.LightMessageBox.Show(ref TopForm, false,
                                                  "Курс не взят. Возможная причина - нет связи с банком без авторизации в kerio control. Войдите в kerio и повторите попытку",
                                                  "Расчет заказа");
                    return;
                }
                OrdersManager.SaveDateRates(Date, EURUSDCurrency, EURRUBCurrency, EURBYRCurrency, USDRUBCurrency);
            }

            CurrencyEURRUBTextBox.Text = EURRUBCurrency.ToString();
            CurrencyUSDRUBTextBox.Text = USDRUBCurrency.ToString();
            CurrencyEURUSDTextBox.Text = EURUSDCurrency.ToString();
            CurrencyEURBYRTextBox.Text = EURBYRCurrency.ToString();

            //if (CurrencyEURRUBTextBox.Text == "0" || CurrencyUSDRUBTextBox.Text == "0" || CurrencyEURBYRTextBox.Text == "0")
            //{
            //    CurrencyNoDataPanel.Visible = true;
            //    return;
            //}
            //else
            //    CurrencyNoDataPanel.Visible = false;
        }
Пример #2
0
        public void SetParameters(int iTransportType, int DelayOfPayment, object DesireDate, object ConfirmDate, int CurrencyTypeID, decimal OriginalRate, decimal PaymentRate, decimal ComplaintProfilCost, decimal ComplaintTPSCost, string ComplaintNotes,
                                  decimal dTransportCost, decimal AdditionalCost, int DiscountPaymentConditionID, int DiscountFactoringID, decimal ProfilDiscountDirector, decimal TPSDiscountDirector, decimal dWeight)
        {
            TransportType = iTransportType;
            TransportCost = dTransportCost;
            Weight        = dWeight;
            if (iTransportType == 1)
            {
                TransportCostTextEdit.Visible = false;
                rbFCA.Checked = true;
            }

            if (Convert.ToInt32(((DataRowView)OrdersManager.MegaOrdersBindingSource.Current)["AgreementStatusID"]) == 2)
            {
                if (!CanSetDirectorDiscount)
                {
                    CurrencyTypeComboBox.Enabled = false;
                    rbDelayOfPayment.Enabled     = false;
                    rbFactoring.Enabled          = false;
                    rbFullPayment.Enabled        = false;
                    tbDelayOfPayment.Enabled     = false;
                    kryptonRadioButton3.Enabled  = false;
                    kryptonRadioButton5.Enabled  = false;

                    kryptonRadioButton2.Enabled = false;
                    kryptonRadioButton4.Enabled = false;
                    kryptonRadioButton1.Enabled = false;
                    rbCpt.Enabled = false;
                    rbFCA.Enabled = false;
                    TransportCostTextEdit.Enabled  = false;
                    AdditionalCostTextEdit.Enabled = false;
                    IsComplaintCheckBox.Enabled    = false;
                    tbComplaintProfilCost.Enabled  = false;
                    tbComplaintTPSCost.Enabled     = false;
                    tbComplaintNotes.Enabled       = false;

                    panel2.Enabled = false;
                    panel3.Enabled = false;
                    panel4.Enabled = false;
                    panel6.Enabled = false;
                    panel7.Enabled = false;
                }
            }
            else
            {
                if (TransportType == 0)
                {
                    decimal d = OrdersManager.TransportCost(dWeight);
                    if (Convert.ToInt32(((DataRowView)OrdersManager.MegaOrdersBindingSource.Current)["AgreementStatusID"]) == 0 ||
                        Convert.ToInt32(((DataRowView)OrdersManager.MegaOrdersBindingSource.Current)["AgreementStatusID"]) == 3)
                    {
                        TransportCost = OrdersManager.TransportCost(dWeight);
                    }
                    else
                    {
                        TransportCost = dTransportCost;
                    }
                }
                else
                {
                    TransportCost = 0;
                }
            }

            if (Convert.ToInt32(((DataRowView)OrdersManager.MegaOrdersBindingSource.Current)["AgreementStatusID"]) == 0)
            {
                DelayOfPayment = OrdersManager.GetDelayOfPayment(Convert.ToInt32(((DataRowView)OrdersManager.MegaOrdersBindingSource.Current).Row["ClientID"]));
            }
            else
            {
                DelayOfPayment = Convert.ToInt32(((DataRowView)OrdersManager.MegaOrdersBindingSource.Current).Row["DelayOfPayment"]);
            }


            tbDelayOfPayment.Text         = DelayOfPayment.ToString();
            TransportCostTextEdit.Text    = TransportCost.ToString();
            AdditionalCostTextEdit.Text   = AdditionalCost.ToString();
            tbComplaintProfilCost.Text    = ComplaintProfilCost.ToString();
            tbComplaintTPSCost.Text       = ComplaintTPSCost.ToString();
            tbComplaintNotes.Text         = ComplaintNotes.ToString();
            tbProfilDiscountDirector.Text = ProfilDiscountDirector.ToString();
            tbTPSDiscountDirector.Text    = TPSDiscountDirector.ToString();

            if (ConfirmDate != DBNull.Value)
            {
                OrdersManager.GetDateRates(Convert.ToDateTime(ConfirmDate), ref RateExist, ref EURUSDCurrency, ref EURRUBCurrency, ref EURBYRCurrency, ref USDRUBCurrency);
            }
            else
            {
                OrdersManager.GetDateRates(CurrencyDateTimePicker.Value.Date, ref RateExist, ref EURUSDCurrency, ref EURRUBCurrency, ref EURBYRCurrency, ref USDRUBCurrency);
            }
            if (!RateExist)
            {
                if (ConfirmDate != DBNull.Value)
                {
                    CBRDailyRates = OrdersManager.CBRDailyRates(Convert.ToDateTime(ConfirmDate), ref EURRUBCurrency, ref USDRUBCurrency);

                    EURBYRCurrency = CurrencyConverter.NbrbDailyRates(DateTime.Now);

                    //NBRBDailyRates = OrdersManager.NBRBDailyRates(Convert.ToDateTime(ConfirmDate), ref EURBYRCurrency);
                }
                else
                {
                    CBRDailyRates  = OrdersManager.CBRDailyRates(CurrencyDateTimePicker.Value.Date, ref EURRUBCurrency, ref USDRUBCurrency);
                    EURBYRCurrency = CurrencyConverter.NbrbDailyRates(DateTime.Now);
                    //NBRBDailyRates = OrdersManager.NBRBDailyRates(CurrencyDateTimePicker.Value.Date, ref EURBYRCurrency);
                }
                if (USDRUBCurrency != 0)
                {
                    EURUSDCurrency = Decimal.Round(EURRUBCurrency / USDRUBCurrency, 4, MidpointRounding.AwayFromZero);
                }

                if (EURBYRCurrency == 1000000)
                {
                    Infinium.LightMessageBox.Show(ref TopForm, false,
                                                  "Курс не взят. Возможная причина - нет связи с банком без авторизации в kerio control. Войдите в kerio и повторите попытку",
                                                  "Расчет заказа");
                    return;
                }
                if (ConfirmDate != DBNull.Value)
                {
                    OrdersManager.SaveDateRates(Convert.ToDateTime(ConfirmDate), EURUSDCurrency, EURRUBCurrency, EURBYRCurrency, USDRUBCurrency);
                }
                else
                {
                    OrdersManager.SaveDateRates(CurrencyDateTimePicker.Value.Date, EURUSDCurrency, EURRUBCurrency, EURBYRCurrency, USDRUBCurrency);
                }
                RateExist = true;
            }

            if (ConfirmDate != DBNull.Value)
            {
                OrdersCalculate.GetFixedPaymentRate(Convert.ToInt32(((DataRowView)OrdersManager.MegaOrdersBindingSource.Current).Row["ClientID"]),
                                                    Convert.ToDateTime(ConfirmDate), ref FixedPaymentRate, ref EURUSDCurrency, ref EURRUBCurrency, ref EURBYRCurrency);
                CurrencyDateTimePicker.Value = Convert.ToDateTime(ConfirmDate);
            }
            else
            {
                OrdersCalculate.GetFixedPaymentRate(Convert.ToInt32(((DataRowView)OrdersManager.MegaOrdersBindingSource.Current).Row["ClientID"]),
                                                    CurrencyDateTimePicker.Value.Date, ref FixedPaymentRate, ref EURUSDCurrency, ref EURRUBCurrency, ref EURBYRCurrency);
            }
            if (FixedPaymentRate)
            {
                USDRUBCurrency           = 1;
                NoConnectLabel.ForeColor = Color.FromArgb(187, 20, 20);
                NoConnectLabel.Text      = "Фиксированный курс";
                CBRDailyRates            = true;
                NBRBDailyRates           = true;
            }
            else
            {
                if (!RateExist)
                {
                    EURRUBCurrency = 0;
                    USDRUBCurrency = 0;
                    EURUSDCurrency = 0;
                    EURBYRCurrency = 0;
                    CBRDailyRates  = OrdersManager.CBRDailyRates(CurrencyDateTimePicker.Value.Date, ref EURRUBCurrency, ref USDRUBCurrency);
                    EURBYRCurrency = CurrencyConverter.NbrbDailyRates(DateTime.Now);
                    //NBRBDailyRates = OrdersManager.NBRBDailyRates(CurrencyDateTimePicker.Value.Date, ref EURBYRCurrency);
                    if (USDRUBCurrency != 0)
                    {
                        EURUSDCurrency = Decimal.Round(EURRUBCurrency / USDRUBCurrency, 4, MidpointRounding.AwayFromZero);
                    }
                }
            }

            if (CurrencyTypeID != 5)
            {
                CurrencyTypeComboBox.SelectedIndex = CurrencyTypeID - 1;
            }
            else
            {
                CurrencyTypeComboBox.SelectedIndex = 3;
            }

            if (DiscountPaymentConditionID == 1)
            {
                rbDelayOfPayment.Checked = true;
            }
            if (DiscountPaymentConditionID == 2)
            {
                rbHalfOfPayment.Checked = true;
            }
            if (DiscountPaymentConditionID == 3)
            {
                rbFullPayment.Checked = true;
            }
            if (DiscountPaymentConditionID == 5)
            {
                kryptonRadioButton3.Checked = true;
            }
            if (DiscountPaymentConditionID == 6)
            {
                kryptonRadioButton5.Checked = true;
            }
            if (DiscountPaymentConditionID == 4)
            {
                panel8.Visible      = true;
                rbFactoring.Checked = true;
                string FactoringName = OrdersManager.DiscountFactoringName(DiscountFactoringID);
                if (FactoringName == kryptonRadioButton2.Text)
                {
                    kryptonRadioButton2.Checked = true;
                }
                if (FactoringName == kryptonRadioButton4.Text)
                {
                    kryptonRadioButton4.Checked = true;
                }
                if (FactoringName == kryptonRadioButton1.Text)
                {
                    kryptonRadioButton1.Checked = true;
                }
            }
            Rate = OriginalRate;
            CurrencyTextBox.Text = PaymentRate.ToString();
            if (DesireDate != DBNull.Value)
            {
                DispatchDateTimePicker.Value = Convert.ToDateTime(DesireDate);
            }
            else
            {
                NoDateCheckBox.Checked = true;
            }
        }