Beispiel #1
0
        private bool CreateSpareInSpareOutgo()
        {
            if (dgIncomes.SelectedItem != null)
            {
                SpareInOutgoEditView v = new SpareInOutgoEditView();
                v._SpareName            = (dgIncomes.SelectedItem as SpareInSpareIncomeView).SpareName;
                v._SpareInSpareIncomeID = (dgIncomes.SelectedItem as SpareInSpareIncomeView).id;
                v._AvailableQuantity    = (int)(dgIncomes.SelectedItem as SpareInSpareIncomeView).QRest.Value;
                da = new DataAccess();

                // получаем ID текущей открытой накладной
                spare_outgo CurrentOutgo = da.SpareOutgoOpened();
                if (CurrentOutgo == null)
                {
                    MessageBox.Show("Не указана текущая открытая накладная!");
                    return(false);
                }
                v._SpareOutgoID = CurrentOutgo.id;
                CurrentOutgo.currencyReference.Load();
                v.CurrentCurrencyCode = CurrentOutgo.currency.code;
                decimal BasicPrice = (dgIncomes.SelectedItem as SpareInSpareIncomeView).POutBasic.Value;
                decimal Price      = CurrencyHelper.GetPrice(v.CurrentCurrencyCode, BasicPrice);
                v._Price = Price;
                v.ShowDialog();
            }
            return(true);
        }
        public ReportViewSpareOutgoTTNWithAppendix(int outgoId)
        {
            InitializeComponent();
            DataAccess da = new DataAccess();

            SpareOutgoId = outgoId;
            Outgo        = da.SpareOutgoGet(outgoId);
        }
Beispiel #3
0
        public ReportViewSalesCheck(int outgoId)
        {
            InitializeComponent();
            DataAccess da = new DataAccess();

            SpareOutgoId = outgoId;
            Outgo        = da.SpareOutgoGet(outgoId);
        }
Beispiel #4
0
        private void SaveBasket()
        {
            DataAccess db = new DataAccess();

            // получить ID накладной, в которую будет включена корзина
            spare_outgo outgo = db.SpareOutgoOpened();

            // - если есть открытая накладная
            // - если нет открытой накладной
            if (outgo == null)
            {
                MessageBox.Show("Не указана текущая открытая накладная!");
                return;
            }
            int OutgoID = outgo.id;

            // создадим Sale
            // посчитаем сумму корзины в разных валютах
            decimal Prur = 0;
            decimal Pbyr = 0;
            decimal Peur = 0;
            decimal Pusd = 0;

            foreach (BasketView item in BasketItems)
            {
                Prur += item.Prur.Value * item.Q.Value;
                Pbyr += item.Pbyr.Value * item.Q.Value;
                Pusd += item.Pusd.Value * item.Q.Value;
                Peur += item.Peur.Value * item.Q.Value;
            }

            // сохранить запись о корзине
            Sale sale = new Sale();

            sale.Pbyr = Pbyr;
            sale.Prur = Prur;
            sale.Pusd = Pusd;
            sale.Peur = Peur;
            Sale s = db.SaleCreate(sale);

            // CreateBasketItem
            foreach (BasketView item in BasketItems)
            {
                // здесь же внутри
                // - уменшается остаток по приходу
                // - идёт связывание с отгрузками
                item.SaleID = s.ID;
                db.BasketCreate(item);

                // обновляем остаток товара в кэше
                SpareContainer.Instance.Update(item.SpareID.Value);
            }

            // Закрыть корзину, очистить список
            grBasket.Visibility        = System.Windows.Visibility.Collapsed;
            treeSpareGroups.Visibility = System.Windows.Visibility.Visible;
            BasketItems = new List <BasketView>();
        }
        private spare_outgo getItemFromFields()
        {
            spare_outgo item = new spare_outgo();

            item.id          = _id;
            item.IDN         = Int32.Parse(edtNumber.Text);
            item.created_on  = edtDate.SelectedDate.HasValue ? edtDate.SelectedDate.Value : DateTime.Now;
            item.description = edtDescription.Text;

            item.accepter = edtAccepter.Text;
            item.address  = edtAddress.Text;
            item.basement = edtBasement.Text;
            if (Invoice != null)
            {
                if (Invoice.account == null)
                {
                    if (Invoice.accountReference != null)
                    {
                        Invoice.accountReference.Load();
                    }
                }
                if (Invoice.account != null)
                {
                    item.AccountID = Invoice.account.id;
                }
            }
            else
            {
                if (edtCustomer.SelectedItem != null)
                {
                    item.AccountID = (edtCustomer.SelectedItem as AccountView).id;
                }
            }
            item.deliverer  = edtDeliverer.Text;
            item.driver     = edtDriver.Text;
            item.warrant    = edtProcuration.Text;
            item.trailer    = edtTrailer.Text;
            item.tripsheet  = edtTripSheet.Text;
            item.truck      = edtTruck.Text;
            item.truckowner = edtTruckOwner.Text;
            item.unloading  = edtUnloading.Text;
            item.unn        = edtUNN.Text;
            if (cbEmptySpareOutgo.IsChecked.Value)
            {
                item.isGhost = 1;
            }
            else
            {
                item.isGhost = 0;
            }
            return(item);
        }
        private void LoadItem()
        {
            if (Invoice != null)
            {
                _Commited = false;
                cbEmptySpareOutgo.IsEnabled = true;
                edtDate.SelectedDate        = Invoice.InvoiceDate;

                //edtNumber.Text = item.IDN.ToString();
                //edtOpened.IsChecked = item.opened == 1 ? true : false;
                //edtAccepter.Text = item.accepter;
                //edtAddress.Text = item.address;
                //edtBasement.Text = item.basement;
                //edtCustomer.Text = item.customer;
                if (Invoice.account == null)
                {
                    Invoice.accountReference.Load();
                }
                if (Invoice.account != null)
                {
                    edtCustomer.SelectedValue = Invoice.account.id;
                }

                //edtDeliverer.Text = item.deliverer;
                //edtDriver.Text = item.driver;
                //edtProcuration.Text = item.warrant;
                //edtTrailer.Text = item.trailer;
                //edtTripSheet.Text = item.tripsheet;
                //edtTruck.Text = item.truck;
                //edtTruckOwner.Text = item.truckowner;
                //edtUnloading.Text = item.unloading;
                //edtUNN.Text = item.unn;
                SaveItem();
                FillOutgoWithInvoiceOfferings();
                LoadOfferings();
                return;
            }
            if (_id > 0)
            {
                spare_outgo item = da.SpareOutgoGet(_id);
                edtCurrency.SelectedItem = item.currency.code;
                edtDescription.Text      = item.description;
                edtDate.SelectedDate     = item.created_on;
                edtNumber.Text           = item.IDN.ToString();
                edtOpened.IsChecked      = item.opened == 1 ? true : false;

                edtAccepter.Text = item.accepter;
                edtAddress.Text  = item.address;
                edtBasement.Text = item.basement;

                //edtCustomer.Text = item.customer;
                edtCustomer.SelectedValue = item.AccountID;
                edtDeliverer.Text         = item.deliverer;
                edtDriver.Text            = item.driver;
                edtProcuration.Text       = item.warrant;
                edtTrailer.Text           = item.trailer;
                edtTripSheet.Text         = item.tripsheet;
                edtTruck.Text             = item.truck;
                edtTruckOwner.Text        = item.truckowner;
                edtUnloading.Text         = item.unloading;
                edtUNN.Text = item.unn;

                // загрузить товары в накладной
                LoadOfferings();
                _Commited = true;
                if (item.isGhost == 1)
                {
                    cbEmptySpareOutgo.IsChecked = true;
                }

                //dgSpares.IsEnabled = false;
                //TMP btnSpareDelete.IsEnabled = false;
                //btnSpare.IsEnabled = false;
            }
            else
            {
                _Commited = false;
                cbEmptySpareOutgo.IsEnabled = true;

                //dgSpares.IsEnabled = true;
                //TMP btnSpareDelete.IsEnabled = true;
                //btnSpareEdit.IsEnabled = true;
            }
        }
Beispiel #7
0
        private void AddIncomeToBasket(SpareInSpareIncomeView income)
        {
            int SpareID = income.SpareID.Value;

            // если такой товар в корзине есть
            if (BasketItems.Where(x => x.SpareID == SpareID).Count() > 0)
            {
                if ((decimal)SpareContainer.Instance.Remains.FirstOrDefault(i => i.id == SpareID).QRest.Value >
                    BasketItems.FirstOrDefault(x => x.SpareID == SpareID).Q)
                {
                    BasketItems.FirstOrDefault(x => x.SpareID == SpareID).Q++;
                }
            }
            else
            {
                // если такого товара в корзине нет
                BasketView item = new BasketView();
                item.ID = BasketItems.Count + 1;

                // [CreatedOn]
                item.CreatedOn = DateTime.Now;

                // [SpareID]
                item.SpareID = SpareID;

                // [Q]
                item.Q = 1;

                // [OfferingID] = income
                //item.OfferingInID = (dgIncomes.SelectedItem as SpareInSpareIncomeView).id;
                // [OfferingID] = outgo
                //TODO item.OfferingOutID
                decimal    POutBasic = income.POutBasic.Value;
                DataAccess db        = new DataAccess();

                spare_outgo outgo = db.SpareOutgoOpened();
                if (outgo == null)
                {
                    MessageBox.Show("Сначала укажите текущую открытую накладную!");
                    return;
                }
                if (outgo.currency == null)
                {
                    outgo.currencyReference.Load();
                }
                if (outgo.currency.code == CurrencyHelper.BasicCurrencyCode)
                {
                    POutBasic = income.POut.Value;
                }

                // [Pusd]
                item.Pusd = CurrencyHelper.GetPrice("USD", POutBasic);

                // [Peur]
                item.Peur = CurrencyHelper.GetPrice("EUR", POutBasic);

                // [Pbyr]
                item.Pbyr = CurrencyHelper.GetPrice("BYR", POutBasic);

                // [Prur]
                item.Prur = CurrencyHelper.GetPrice("RUR", POutBasic);

                // [SpareName]
                item.SpareName = income.SpareName;

                // [UnitID]
                item.UnitID = 1;

                // [SpareCode]
                item.SpareCode = income.SpareCode;

                // [SpareCodeShatem]
                item.SpareCodeShatem = income.SpareCodeShatem;
                BasketItems.Add(item);
            }

            // обновим грид
            LoadBasket();
        }
Beispiel #8
0
        private void Window_Activated(object sender, EventArgs e)
        {
            try
            {
                ReportDocument reportDocument = new ReportDocument();

                StreamReader reader = new StreamReader(new FileStream(@"Templates\SpareSalesByCodePeriodReport.xaml", FileMode.Open, FileAccess.Read));
                reportDocument.XamlData      = reader.ReadToEnd();
                reportDocument.XamlImagePath = System.IO.Path.Combine(Environment.CurrentDirectory, @"Templates\");
                reader.Close();

                ReportData data = new ReportData();
                DataAccess da   = new DataAccess();
                string     BCC  = da.getBasicCurrencyCode();

                // Таблица ТОВАРЫ В НАКЛАДНОЙ
                DataTable dt = new DataTable("mtable");

                // описываем столбцы таблицы
                dt.Columns.Add("Num", typeof(int));
                dt.Columns.Add("WarehouseName", typeof(string));
                dt.Columns.Add("OutgoNum", typeof(string));
                dt.Columns.Add("AccountName", typeof(string));
                dt.Columns.Add("OutgoDate", typeof(string));
                dt.Columns.Add("Q", typeof(int));
                dt.Columns.Add("P", typeof(double));
                dt.Columns.Add("VAT", typeof(string));
                dt.Columns.Add("T", typeof(double));

                // забиваем таблицу данными
                List <SpareInSpareOutgoView> LIST2 = da.GetSpareInSpareOutgoByCodePeriod(Spare.id, dateFrom, dateTo, WarehouseID);
                decimal asum = 0;
                try
                {
                    for (int i = 0; i < LIST2.Count; i++)
                    {
                        asum += LIST2[i].total_sum;
                        string      AN      = LIST2[i].AccountName;
                        string      od      = LIST2[i].OutgoDate.Value.ToShortDateString();
                        string      on      = "нет";
                        int         OutgoID = LIST2[i].spare_outgo_id;
                        spare_outgo so      = da.SpareOutgoGet(OutgoID);
                        if (so != null)
                        {
                            on = so.IDN.ToString();
                        }
                        dt.Rows.Add(new object[] {
                            i + 1,
                            LIST2[i].WarehouseName,
                            on,
                            AN,
                            od,
                            LIST2[i].quantity,
                            LIST2[i].purchase_price,
                            LIST2[i].VatRateName,
                            LIST2[i].total_sum
                        });
                    }
                }
                catch (Exception exc)
                {
                    throw exc;
                }
                string str_ts  = RSDN.RusCurrency.Str(asum, "BYR");
                string strDate = dateFrom.Day.ToString();
                string mnth    = "";
                switch (dateFrom.Month)
                {
                case 1:
                    mnth = "января";
                    break;

                case 2:
                    mnth = "февраля";
                    break;

                case 3:
                    mnth = "марта";
                    break;

                case 4:
                    mnth = "апреля";
                    break;

                case 5:
                    mnth = "мая";
                    break;

                case 6:
                    mnth = "июня";
                    break;

                case 7:
                    mnth = "июля";
                    break;

                case 8:
                    mnth = "августа";
                    break;

                case 9:
                    mnth = "сентября";
                    break;

                case 10:
                    mnth = "октября";
                    break;

                case 11:
                    mnth = "ноября";
                    break;

                case 12:
                    mnth = "декабря";
                    break;
                }
                strDate += " " + mnth + " " + dateFrom.Year + " г.";

                data.ReportDocumentValues.Add("ReportDate1", strDate); // print date is now

                // =======================
                strDate = dateTo.Day.ToString();
                mnth    = "";
                switch (dateTo.Month)
                {
                case 1:
                    mnth = "января";
                    break;

                case 2:
                    mnth = "февраля";
                    break;

                case 3:
                    mnth = "марта";
                    break;

                case 4:
                    mnth = "апреля";
                    break;

                case 5:
                    mnth = "мая";
                    break;

                case 6:
                    mnth = "июня";
                    break;

                case 7:
                    mnth = "июля";
                    break;

                case 8:
                    mnth = "августа";
                    break;

                case 9:
                    mnth = "сентября";
                    break;

                case 10:
                    mnth = "октября";
                    break;

                case 11:
                    mnth = "ноября";
                    break;

                case 12:
                    mnth = "декабря";
                    break;
                }
                strDate += " " + mnth + " " + dateTo.Year + " г.";
                data.ReportDocumentValues.Add("ReportDate2", strDate); // print date is now

                data.ReportDocumentValues.Add("SpareName", Spare.name);
                data.ReportDocumentValues.Add("SpareCodeShatem", Spare.codeShatem);
                data.ReportDocumentValues.Add("SpareCode", Spare.code);
                data.ReportDocumentValues.Add("asum", asum);
                data.DataTables.Add(dt);

                DateTime    dateTimeStart = DateTime.Now; // start time measure here
                XpsDocument xps           = reportDocument.CreateXpsDocument(data);
                documentViewer.Document = xps.GetFixedDocumentSequence();
            }
            catch (Exception ex)
            {
                // show exception
                MessageBox.Show(ex.Message + "\r\n\r\n" + ex.GetType() + "\r\n" + ex.StackTrace, ex.GetType().ToString(), MessageBoxButton.OK, MessageBoxImage.Stop);
            }
        }