private void attach_Bonus(Bonus entity)
 {
     this.SendPropertyChanging("Bonus");
     entity.Dealer = this;
 }
 private void detach_Bonus(Bonus entity)
 {
     this.SendPropertyChanging("Bonus");
     entity.Dealer = null;
 }
示例#3
0
        public static void MakeBonusTrans(BonusDataContext dc, string type, DateTime TransDate, string dCode, string oNum, long Amount, long? BonusPlanDetailId, long? BonusSourceId, string comment)
        {
            var db = dc.Bonus.SingleOrDefault(d => d.DealerCode == dCode);
            if (db == null)
            {
                db = new VDMS.Bonus.Entity.Bonus() { Amount = 0, DealerCode = dCode, };
                DC.Bonus.InsertOnSubmit(db);
            }

            //var oAm = db.Amount;
            db.Amount += Amount;
            if (//oAm >= 0 &&
                db.Amount < 0) throw new Exception("Bonus balance less than zero!");

            // order header via ordernumber
            long? oid = null;
            if (!string.IsNullOrEmpty(oNum))
            {
                var o = OrderDAO.GetOrder(oNum);
                if (o != null) oid = o.OrderHeaderId;
            }

            var th = new BonusTransaction()
            {
                Amount = Amount,
                BonusPlanDetailId = BonusPlanDetailId,
                BonusSourceId = BonusSourceId,
                CreatedDate = DateTime.Now,
                DealerCode = dCode,
                OrderId = oid,
                Description = comment,
                TransactionDate = TransDate.Date,
                UserName = UserHelper.Username,
                TransactionType = type,
            };
            dc.BonusTransactions.InsertOnSubmit(th);
        }