コード例 #1
0
ファイル: SoldItem.cs プロジェクト: serhatmorkoc/cepos
 internal void Add(int pluno, int lineno, Decimal lineQuantity, Decimal lineAmount)
 {
     Hugin.POS.Common.IProduct p = Promotion.FindProductByLabel(pluno);
     if (lineAmount > 0)
     {
         soldItems.Rows.Add(lineno, pluno, int.Parse(p.Category), lineQuantity, lineAmount, 0m, 0);
     }
     else
     {
         DataRow[] rows = soldItems.Select(String.Format("Plu = '{0}' And Quantity > 0", pluno));
         if (rows.Length > 0)
         {
             decimal quantity = Math.Abs(lineQuantity);
             foreach (DataRow row in rows)
             {
                 decimal rowUnitPrice   = Math.Round((decimal)row["Amount"] / (decimal)row["Quantity"], 2);
                 decimal apliedQuantity = Math.Min((decimal)row["Quantity"], quantity);
                 row["Quantity"] = (decimal)row["Quantity"] - apliedQuantity;
                 row["Amount"]   = (decimal)row["Amount"] - Math.Round(apliedQuantity * rowUnitPrice, 2);
                 quantity       -= apliedQuantity;
                 if (quantity <= 0)
                 {
                     break;
                 }
             }
         }
         else
         {
             Settings.Log("Ýptal Ürün\nPromosyon Hatasý");
         }
     }
 }
コード例 #2
0
        public decimal TotalAmount()
        {
            decimal subtotal = (decimal)SoldItem.Instance().Compute("Sum(Amount) - Sum(DiscountAmount)", "");

            if (base.GiftProductQuantity > 0)
            {
                Hugin.POS.Common.IProduct p = Promotion.FindProductByLabel(base.GiftProductLabelNo);
                int giftRatio = (int)(subtotal / base.requiredAmount);
                subtotal = p.UnitPrice * Math.Min(SoldItem.Instance().LineTotal(base.GiftProductLabelNo), giftRatio);
            }
            return(subtotal);
        }