private void btnSave_Click(object sender, RoutedEventArgs e)
        {
            if (status == "sale")
            {
                if (this.cbCustomer.SelectedIndex < 0)
                {
                    MessageBox.Show("Укажите клиента, которому продается картина!");
                    return;
                }
            }
            TransDto transaction  = new TransDto();
            WorkDto  SelectedWork = selectWork();

            if (SelectedWork == null)
            {
                MessageBox.Show("Картина должна быть выбрана!");
                return;
            }
            if (status == "purchase")
            {
                if (workAtGalery(SelectedWork))
                {
                    MessageBox.Show("Запрашиваемая работа уже находится в галерее!");
                    return;
                }
            }
            if (status == "sale")
            {
                if (!workAtGalery(SelectedWork))
                {
                    MessageBox.Show("Запрашиваемая работа уже продана!");
                    return;
                }
            }
            transaction.Work = SelectedWork;
            if (!string.IsNullOrEmpty(tbAcquisitionPrice.Text))
            {
                try
                {
                    transaction.AcquisitionPrice = Convert.ToDecimal(tbAcquisitionPrice.Text);
                }
                catch (Exception)
                {
                    MessageBox.Show("Введите корректную цену приобретения");
                    return;
                }
            }
            if (!string.IsNullOrEmpty(tbAskingPrice.Text))
            {
                try
                {
                    transaction.AcquisitionPrice = Convert.ToDecimal(tbAcquisitionPrice.Text);
                }
                catch (Exception)
                {
                    MessageBox.Show("Введите корректную запрашиваемую цену");
                    return;
                }
            }
            if (!string.IsNullOrEmpty(this.dpAcuired.Text))
            {
                transaction.DateAcquired = Convert.ToDateTime(this.dpAcuired.Text);
            }
            else
            {
                MessageBox.Show("Дата приобретения должна быть указана!"); return;
            }

            if (!string.IsNullOrEmpty(this.dpPurchase.Text))
            {
                if (Convert.ToDateTime(dpPurchase.Text) > Convert.ToDateTime(dpAcuired.Text))
                {
                    transaction.PurchaseDate = Convert.ToDateTime(this.dpPurchase.Text);
                }
                else
                {
                    MessageBox.Show("Нельзя продать работу раньше, чем её купила галерея! Проверьте правильность ввода данных.");
                    return;
                }
            }
            if (!string.IsNullOrEmpty(cbCustomer.Text))
            {
                CustomerDto SelectedCustomer = (CustomerDto)this.cbCustomer.SelectedItem;
                transaction.Customer = SelectedCustomer;
            }

            if (!string.IsNullOrEmpty(tbSalesPrice.Text))
            {
                try
                {
                    if (Convert.ToDecimal(tbSalesPrice.Text) >= 30000 &&
                        Convert.ToDecimal(tbSalesPrice.Text) <= 1500000)
                    {
                        transaction.SalesPrice = Convert.ToDecimal(tbSalesPrice.Text);
                    }
                    else
                    {
                        MessageBox.Show("Продажа может проходить только в пределах от 30 тыс. у.е.до 1, 5 млн.у.е.");
                        return;
                    }
                }
                catch (Exception)
                {
                    MessageBox.Show("Неверный формат данных при операции с ценой продажи"); return;
                }
            }
            ITransProcess transProcess = ProcessFactory.GetTransProcess();

            if (_transactionid == 0)
            {
                transProcess.Add(transaction);
            }
            else
            {
                transaction.TransactionID = _transactionid;
                transProcess.Update(transaction);
            }
            this.Close();
        }
Ejemplo n.º 2
0
        private void btnSave_Click(object sender, RoutedEventArgs e)
        {
            if (cbArtist == null)
            {
                MessageBox.Show("Необходимо выбрать художника", "Проверка");
                return;
            }
            if (string.IsNullOrEmpty(tbCopy.Text))
            {
                MessageBox.Show("Информация о копии не должна быть пустой", "Проверка");
                return;
            }
            if (string.IsNullOrEmpty(tbDescription.Text))
            {
                MessageBox.Show("Описание не должно быть пустым", "Проверка");
                return;
            }
            if (string.IsNullOrEmpty(tbTitle.Text))
            {
                MessageBox.Show("Название картины не должно быть пустым", "Проверка");
                return;
            }
            WorkDto work = new WorkDto
            {
                Title       = tbTitle.Text,
                Copy        = tbCopy.Text,
                Description = tbDescription.Text,
                Artist      = (ArtistDto)this.cbArtist.SelectedItem
            };
            TransDto trans = new TransDto
            {
                AcquisitionPrice = Convert.ToDecimal(tbAcquisitionPrice.Text),
                DateAcquired     = Convert.ToDateTime(this.dpAquired.Text)
            };
            IWorkProcess  workProcess  = ProcessFactory.GetWorkProcess();
            ITransProcess transProcess = ProcessFactory.GetTransProcess();

            if (_workid == 0)
            {
                workProcess.Add(work);
                FreeForSale = ProcessFactory.GetWorkProcess().GetList();
                trans.Work  = FreeForSale.Last();
                transProcess.Add(trans);
            }
            else
            {
                work.WorkID = _workid;
                workProcess.Update(work);
            }

            /*WorkDto work = new WorkDto();
             * work.Artist = cbArtist.SelectedItem as ArtistDto;
             * work.Title = tbTitle.Text;
             * work.Copy = tbCopy.Text;
             * work.Description = tbDescription.Text;
             * IWorkProcess workProcess = ProcessFactory.GetWorkProcess();
             * if(_workid==0)
             * {
             *  workProcess.Add(work);
             * }
             * else
             * {
             *  work.WorkID = _workid;
             *  workProcess.Update(work);
             * }*/
            Close();
        }