Exemplo n.º 1
0
 public static void GenerateSalesCheck(Sale sale)
 {
     //TODO: вывести показ отчета в отдельный процесс
     ReportViewSalesCheck r = new ReportViewSalesCheck(sale);
     r.ShowDialog();
 }
Exemplo n.º 2
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>();
        }
 public ReportViewSalesCheck(Sale s)
 {
     InitializeComponent();
     DataAccess da = new DataAccess();
     sale = s;
 }
Exemplo n.º 4
0
 /// <summary>
 /// Create a new Sale object.
 /// </summary>
 /// <param name="id">Initial value of the ID property.</param>
 /// <param name="number">Initial value of the Number property.</param>
 /// <param name="saleDate">Initial value of the SaleDate property.</param>
 /// <param name="pusd">Initial value of the Pusd property.</param>
 /// <param name="peur">Initial value of the Peur property.</param>
 /// <param name="pbyr">Initial value of the Pbyr property.</param>
 public static Sale CreateSale(global::System.Int32 id, global::System.Int32 number, global::System.DateTime saleDate, global::System.Decimal pusd, global::System.Decimal peur, global::System.Decimal pbyr)
 {
     Sale sale = new Sale();
     sale.ID = id;
     sale.Number = number;
     sale.SaleDate = saleDate;
     sale.Pusd = pusd;
     sale.Peur = peur;
     sale.Pbyr = pbyr;
     return sale;
 }
Exemplo n.º 5
0
 /// <summary>
 /// Deprecated Method for adding a new object to the Sales EntitySet. Consider using the .Add method of the associated ObjectSet&lt;T&gt; property instead.
 /// </summary>
 public void AddToSales(Sale sale)
 {
     base.AddObject("Sales", sale);
 }
Exemplo n.º 6
0
 public List<SpareInSpareOutgoView> SpareInSpareOutgoViewGet(Sale sale)
 {
     List<SpareInSpareOutgoView> outgoes = new List<SpareInSpareOutgoView>();
     List<Basket> baskets = objDataContext.Baskets.Where(x => x.SaleID == sale.ID).ToList();
     List<OfferingInBasketItem> oibis = new List<OfferingInBasketItem>();
     foreach (Basket basket in baskets)
     {
         oibis.AddRange(objDataContext.OfferingInBasketItems.Where(x => x.BasketItemID == basket.ID));
     }
     foreach (OfferingInBasketItem oibi in oibis)
     {
         outgoes.Add(objDataContext.SpareInSpareOutgoViews.FirstOrDefault(x => x.id == oibi.OfferingOutgoID));
     }
     return outgoes.ToList();
 }
Exemplo n.º 7
0
 public Sale SaleCreate(Sale i)
 {
     if (objDataContext.Sales.Count() > 0)
         i.Number = objDataContext.Sales.Max(x => x.Number) + 1;
     else
         i.Number = 1;
     i.SaleDate = DateTime.Now;
     i.Comments = "";
     objDataContext.AddToSales(i);
     objDataContext.SaveChanges();
     return i;
 }