private void btnSave_Click(object sender, RoutedEventArgs e)
        {
            if (tbFullNameManager.Text == "")
            {
                tbFullNameManager.BorderBrush = Brushes.Red;
            }
            if (tbPercent.Text == "")
            {
                tbPercent.BorderBrush = Brushes.Red;
            }
            if (tbPhone.Text == "")
            {
                tbPhone.BorderBrush = Brushes.Red;
            }
            if (dpDate.Text == "")
            {
                dpDate.BorderBrush = Brushes.Red;
            }
            try
            {
                if (Convert.ToDouble(tbPercent.Text) >= 100)
                {
                    MessageBox.Show("Процент от продаж не можетпревышить 100%.");
                    return;
                }
            }
            catch
            {
                return;
            }

            try
            {
                ManagersDto man = new ManagersDto();
                man.FullName      = tbFullNameManager.Text;
                man.Note          = tbNote.Text;
                man.PercentOnSale = (float)Convert.ToDouble(tbPercent.Text);
                man.Phone         = Convert.ToDouble(tbPhone.Text);
                man.StartDateWork = Convert.ToDateTime(dpDate.Text);

                IManagersProcessDb manager = ProcessFactory.GetManagersProcess();

                if (_id == 0)
                {
                    manager.Add(man);
                }
                else
                {
                    man.IDManager = _id;
                    manager.Update(man);
                }
            }
            catch
            {
                return;
            }
            Close();
        }
Пример #2
0
        private void btnSave_Click(object sender, RoutedEventArgs e)
        {
            if (tbPaid.Text == "")
            {
                tbPaid.BorderBrush = Brushes.Red;
            }
            if (tbSum.Text == "")
            {
                tbSum.BorderBrush = Brushes.Red;
            }
            if (dpFinallyDate.Text == "")
            {
                dpFinallyDate.BorderBrush = Brushes.Red;
            }
            if (dpStartDate.Text == "")
            {
                dpStartDate.BorderBrush = Brushes.Red;
            }
            if (cbEnterprise.Text == "")
            {
                cbEnterprise.BorderBrush = Brushes.Red;
            }
            if (cbManager.Text == "")
            {
                cbManager.BorderBrush = Brushes.Red;
            }
            if (cbReklama.Text == "")
            {
                cbReklama.BorderBrush = Brushes.Red;
            }
            try
            {
                if ((Convert.ToDouble(tbAllSum.Text) - Convert.ToDouble(tbPaid.Text) < 0))
                {
                    MessageBox.Show("Цена превышает размер " + tbAllSum.Text + " рублей.");
                    return;
                }
            }
            catch
            {
            }
            try
            {
                if (Convert.ToDateTime(dpStartDate.Text) > Convert.ToDateTime(dpFinallyDate.Text))
                {
                    MessageBox.Show("Дата начала размещения рекламы не должна быть позже даты окончания рекламы.");
                    return;
                }
            }
            catch
            {
            }

            try
            {
                OrdersDto or = new OrdersDto();
                or.Cost = (float)Convert.ToDouble(this.tbSum.Text);
                if (tbPaid.Text == "")
                {
                    or.Paid = 0;
                }
                else
                {
                    or.Paid = (float)Convert.ToDouble(this.tbPaid.Text);
                }
                or.FinallyDate     = Convert.ToDateTime(this.dpFinallyDate.Text);
                or.FullNameManager = this.cbManager.SelectedItem as ManagersDto;
                or.NameEnterprise  = this.cbEnterprise.SelectedItem as EnterprisesDto;
                or.StartDate       = Convert.ToDateTime(this.dpStartDate.Text);
                or.TypeReklama     = this.cbReklama.SelectedItem as TypeReklamaDto;

                int d1   = IntFromDMY(or.StartDate.Day, or.StartDate.Month, or.StartDate.Year);
                int d2   = IntFromDMY(or.FinallyDate.Day, or.FinallyDate.Month, or.FinallyDate.Year);
                int ddif = d2 - d1;

                if (or.TypeReklama.CarrierForReklama.TimeCarrier == "День")
                {
                    int t = 0;
                    if ((ddif / 30) == 0)
                    {
                        t = 1;
                    }
                    or.AllSum = (float)Math.Round(or.Cost * (ddif / 1), 0);
                }
                else if (or.TypeReklama.CarrierForReklama.TimeCarrier == "Неделя")
                {
                    int t = 0;
                    if ((ddif / 30) == 0)
                    {
                        t = 1;
                    }
                    or.AllSum = (float)Math.Round(or.Cost * (ddif / 7));
                }
                else
                {
                    int t = 0;
                    if ((ddif / 30) == 0)
                    {
                        t = 1;
                    }
                    or.AllSum = (float)Math.Round(or.Cost * t);
                }

                or.Debt = (float)Convert.ToDouble(or.AllSum) - (float)Convert.ToDouble(this.tbPaid.Text);

                IOrdersProcessDb orProcess   = ProcessFactory.GetOrdersProcess();
                IWageProcessDb   wageProcess = ProcessFactory.GetWageProcess();

                if (wageProcess.Get(or.FullNameManager.IDManager) == null)
                {
                    WageDto            wage    = new WageDto();
                    IManagersProcessDb mp      = ProcessFactory.GetManagersProcess();
                    ManagersDto        manager = mp.Get(or.FullNameManager.IDManager);
                    wage.CurrentSum = or.Cost * manager.PercentOnSale / 100;
                    wage.Manager    = or.FullNameManager;
                    wage.Paid       = 0;
                    wage.Rest       = (float)Math.Abs(Convert.ToDouble(wage.Paid - wage.CurrentSum));
                    wage.SumOrders  = 1;

                    wageProcess.Add(wage);
                }
                else
                {
                    IManagersProcessDb mp       = ProcessFactory.GetManagersProcess();
                    ManagersDto        manager  = mp.Get(or.FullNameManager.IDManager);
                    IWageProcessDb     wProcess = ProcessFactory.GetWageProcess();

                    WageDto wage = wProcess.Get(or.FullNameManager.IDManager);
                    wage.CurrentSum += or.Cost * manager.PercentOnSale / 100;
                    wage.Rest        = (float)Math.Abs(Convert.ToDouble(wage.Paid - wage.CurrentSum));
                    wage.SumOrders  += 1;

                    wageProcess.Update(wage);
                }

                if (_id == 0)
                {
                    orProcess.Add(or);
                }
                else
                {
                    or.IDOrder = _id;
                    orProcess.Update(or);
                }
            }
            catch (Exception exc)
            {
                return;
            }

            this.Close();
        }