Beispiel #1
0
        public void AddSpareToBasket(SpareView sv)
        {
            if (sv.QRest <= 0)
            {
                return;
            }
            int SpareID = sv.id;

            // если такой товар в корзине есть
            if (BasketItems.Where(x => x.SpareID == SpareID).Count() > 0)
            {
                if ((decimal)sv.QRest.Value >
                    BasketItems.FirstOrDefault(x => x.SpareID == SpareID).Q)
                {
                    BasketItems.FirstOrDefault(x => x.SpareID == SpareID).Q++;
                }
            }
            else
            {
                SpareInSpareIncomeView income = da.GetLastIncome(SpareID);
                AddIncomeToBasket(income);
            }

            // обновим грид
            LoadBasket();
        }
        private void OfferingAdd(int SpareID, decimal Q, decimal Pusd, string GroupName, string ParentGroupName)
        {
            SpareInSpareIncomeView sisi = new SpareInSpareIncomeView();

            if (Income.currency == null)
            {
                Income.currencyReference.Load();
            }
            sisi.num             = offerings.Count + 1;
            sisi.CurrencyID      = Income.currency.id;
            sisi.description     = "";
            sisi.Markup          = 0;
            sisi.PIn             = Pusd;
            sisi.PInBasic        = Pusd;
            sisi.POut            = Pusd;
            sisi.POutBasic       = Pusd;
            sisi.QIn             = Q;
            sisi.QRest           = Q;
            sisi.S               = Q * Pusd;
            sisi.SBasic          = sisi.S;
            sisi.GroupName       = GroupName;
            sisi.ParentGroupName = ParentGroupName;
            DataAccess db = new DataAccess();

            sisi.SpareID = SpareID;
            SpareView sv = db.GetSpareView(SpareID);

            sisi.SpareName       = sv.name;
            sisi.SpareCode       = sv.code;
            sisi.SpareCodeShatem = sv.codeShatem;
            sisi.BrandName       = sv.BrandName;
            sisi.SpareIncomeID   = Income.id;
            sisi.VatRateName     = "0%";
            offerings.Add(sisi);
        }
        private void OfferingAdd(int SpareID)
        {
            SpareInSpareIncomeView sisi = new SpareInSpareIncomeView();

            if (Income.currency == null)
            {
                Income.currencyReference.Load();
            }
            sisi.num         = offerings.Count + 1;
            sisi.CurrencyID  = Income.currency.id;
            sisi.description = "";
            sisi.Markup      = 0;
            sisi.PIn         = 1;
            sisi.PInBasic    = 1;
            sisi.POut        = 1;
            sisi.POutBasic   = 1;
            sisi.QIn         = 1;
            sisi.QRest       = 1;
            sisi.S           = 1;
            sisi.SBasic      = 1;
            DataAccess db = new DataAccess();

            sisi.SpareID = SpareID;
            SpareView sv = db.GetSpareView(SpareID);

            sisi.SpareName       = sv.name;
            sisi.SpareCode       = sv.code;
            sisi.SpareCodeShatem = sv.codeShatem;
            sisi.BrandName       = sv.BrandName;
            sisi.SpareIncomeID   = Income.id;
            sisi.VatRateName     = "0%";
            sisi.GroupName       = db.GetSpareGroup(sv.GroupID).name;
            sisi.ParentGroupName = db.GetSpareGroup(sv.spare_group1_id.Value).name;
            offerings.Add(sisi);
        }
Beispiel #4
0
        private void SaveEditedOffering(int index)
        {
            SpareInSpareIncomeView s = dgSpares.Items[index] as SpareInSpareIncomeView;
            decimal q = s.QRest.Value;
            decimal p = s.PIn.Value;

            da = new DataAccess();
            currency_rate CRate = da.getCurrencyRate(edtCurrency.SelectedItem.ToString());

            if (CRate == null)
            {
                MessageBox.Show("Не удаётся получить из справочника курс валюты! Возможно, стоит ввести актуальный курс.");
                return;
            }
            decimal PriceBasic = p / CRate.rate;

            da.InOfferingEdit(s.id, q, p, PriceBasic);
        }
 private void dgSpares_CellEditEnding(object sender, DataGridCellEditEndingEventArgs e)
 {
     if (Stage == 1)
     {
         HandleMainDataGridCellEditEnding(sender, e);
         SpareInSpareIncomeView sisi = (SpareInSpareIncomeView)e.Row.DataContext;
         if (sisi.SpareID.HasValue)
         {
             if (e.Column.DisplayIndex == 8)
             {
                 //sisi.PIn = sisi.POut * (1 - sisi.Markup / 100);
                 sisi.Markup = (int)(100 * (sisi.POut - sisi.PIn) / sisi.PIn);
             }
             else
             {
                 sisi.POut = sisi.PIn * (1 + sisi.Markup / 100);
             }
             sisi.S = sisi.POut * sisi.QIn;
         }
     }
 }
Beispiel #6
0
        private void dgSpares_CellEditEnding(object sender, DataGridCellEditEndingEventArgs e)
        {
            int index = e.Row.GetIndex();
            SpareInSpareIncomeView s = dgSpares.Items[index] as SpareInSpareIncomeView;
            int     SpareId          = s.SpareID.Value;
            decimal q          = s.QRest.Value;
            decimal p          = s.POut.Value;
            string  ColumnName = e.Column.Header.ToString();
            string  val        = (e.EditingElement as TextBox).Text;

            if (ColumnName.Contains("Количество"))
            {
                decimal.TryParse(val, out q);
            }
            if (ColumnName.Contains("Цена"))
            {
                decimal.TryParse(val, out p);
            }
            da = new DataAccess();
            decimal BasicPrice = CurrencyHelper.GetBasicPrice(edtCurrency.SelectedItem.ToString(), p);

            da.InOfferingEdit(s.id, q, p, BasicPrice);
            SpareContainer.Instance.Update(SpareId);
        }
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();
        }