예제 #1
0
 public EdmGroupMgr(string connectionString)
 {
     _edmGroup = new EdmGroupDao(connectionString);
     _ISerialImpl = new SerialDao(connectionString);
     _IEdmGroupEmailMgr = new EdmGroupEmailDao(connectionString);
     _mysql = new MySqlDao(connectionString);
 }
예제 #2
0
 public OrderReturnMasterMgr(string connectionStr)
 {
     _orderReturnMaster = new OrderReturnMasterDao(connectionStr);
     _serial = new SerialDao(connectionStr);
     _mySqlDao = new MySqlDao(connectionStr);
     _orderDetailDao = new OrderDetailDao(connectionStr);
 }
예제 #3
0
 public OrderSlaveMasterMgr(string connectionStr)
 {
     _orderSlaveMasterDao = new OrderSlaveMasterDao(connectionStr);
     _serialDao = new SerialDao(connectionStr);
     _mysqlDao = new MySqlDao(connectionStr);
     _paraDao = new ParametersrcDao(connectionStr);
 }
예제 #4
0
 public OrderDetailMgr(string connectionStr)
 {
     _orderDetailDao = new OrderDetailDao(connectionStr);
     _orderSlaveDao = new OrderSlaveDao(connectionStr);
     _orderMaterDao = new OrderMasterDao(connectionStr);
     _orderMaterStatusDao = new OrderMasterStatusDao(connectionStr);
     _serial = new SerialDao(connectionStr);
     _mySqlDao = new MySqlDao(connectionStr);
     _productCategoryDao = new ProductCategoryDao(connectionStr);
     _parametersrcDao = new ParametersrcDao(connectionStr);
     //_siteDao = new SiteDao(connectionStr); 
     _channelDao = new ChannelDao(connectionStr);
 }
예제 #5
0
 public SerialMgr(string connectionStr)
 {
     _serialDao = new SerialDao(connectionStr);
 }
예제 #6
0
        public string Deduct_User_Bonus(int deduct_bonus, string order_id, string user_id)
        {
            BonusMasterQuery b = new BonusMasterQuery();
            BonusRecord br = new BonusRecord();
            Serial s = new Serial();
            _serial = new SerialDao(connString);
            _bonus = new BonusMasterDao(connString);
            List<BonusMaster> store = new List<BonusMaster>();
            List<BonusMaster> store2 = new List<BonusMaster>();
            System.Net.IPAddress[] ips = System.Net.Dns.GetHostByName(System.Net.Dns.GetHostName()).AddressList;
            if (ips.Count() > 0)
            {
                b.master_ipfrom = ips[0].ToString();
            }
            StringBuilder sql = new StringBuilder();
            StringBuilder sqlstr = new StringBuilder();
            try
            {
                int bonus_num = deduct_bonus;
                //是否發放購物金 
                b.master_note = order_id;
                b.master_total = uint.Parse(deduct_bonus.ToString());
                b.bonus_type = 1;
                store = _bonus.GetBonus(b);
                if (store.Count == 1)
                {
                    bool user = false;
                    foreach (var item in store)
                    {
                        if (item.master_total == item.master_balance)
                        {//判斷發放的購物金是否使用 
                            user = true;
                            bonus_num = 0;
                        }
                        else
                        {
                            bonus_num = bonus_num - item.master_balance;
                        }
                        b.master_id = item.master_id;
                        b.masterid = item.master_id.ToString() + ",";
                    }
                    s = _serial.GetSerialById(28);
                    uint a = 1;
                    #region 發放購物金扣除
                    if (deduct_bonus - bonus_num > 0)
                    {


                        //先清除bonus_master表裏面的發放的購物金
                        b.master_balance = deduct_bonus - bonus_num;
                        b.master_writer = "訂單取消";
                        sqlstr.Append(_bonus.UpBonusMaster(b));
                        //并記錄到購物金記錄表中
                        sqlstr.Append(_serial.Update(28));
                        br.record_id = uint.Parse(s.Serial_Value.ToString()) + a;
                        a++;
                        br.master_id = b.master_id;
                        br.type_id = 32;
                        br.order_id = uint.Parse(b.master_note);
                        br.record_use = uint.Parse(b.master_balance.ToString());
                        br.record_note = order_id;
                        br.record_writer = "訂單整筆取消";
                        br.record_ipfrom = b.master_ipfrom;
                        sqlstr.Append(_bonus.InsertBonusRecord(br));
                    }
                    if (!user)
                    {//發放購物金被使用 
                        b.user_id = uint.Parse(user_id.ToString());
                        b.masterid = b.masterid.TrimEnd(',');
                        uint order = uint.Parse(b.master_note.ToString());
                        b.master_note = null;
                        b.master_total = 0;
                        b.usebonus = "K";
                        //該用戶剩餘可用購物金 
                        store2 = _bonus.GetBonus(b);

                        foreach (var item in store2)
                        {
                            if (bonus_num > item.master_balance)
                            {
                                b.master_balance = item.master_balance;
                                bonus_num = bonus_num - item.master_balance;
                            }
                            else
                            {
                                b.master_balance = bonus_num;
                                bonus_num = 0;
                            }
                            //變更bonus_master表裏面的發放的購物金
                            b.master_id = item.master_id;
                            sqlstr.Append(_bonus.UpBonusMaster(b));
                            //記錄到購物金記錄表中 
                            sqlstr.Append(_serial.Update(28));
                            br.record_id = uint.Parse(s.Serial_Value.ToString()) + a;
                            a++;
                            br.master_id = b.master_id;
                            br.type_id = 32;
                            br.order_id = order;
                            br.record_use = uint.Parse(b.master_balance.ToString());
                            br.record_note = order_id;
                            br.record_writer = "訂單取消被使用,額外扣除購物金";
                            br.record_ipfrom = b.master_ipfrom;
                            sqlstr.Append(_bonus.InsertBonusRecord(br));

                            if (bonus_num == 0)
                            {
                                break;
                            }
                        }
                    }
                    if (bonus_num > 0)
                    {//該用戶剩餘的購物金不夠扣剩下記錄到表中
                        sqlstr.AppendFormat(@"insert into users_deduct_bonus (deduct_bonus,user_id,createdate,order_id)");
                        sqlstr.AppendFormat(@" values('{0}','{1}','{2}','{3}');", bonus_num, user_id, CommonFunction.GetPHPTime(DateTime.Now.ToString()), order_id);
                    }
                    #endregion
                }
                return sqlstr.ToString();
            }
            catch (Exception ex)
            {
                throw new Exception("OrderReturnlMasterDao-->Deduct_User_Bonus-->" + ex.Message, ex);
            }
        }
예제 #7
0
 public EdmGroupEmailMgr(string connectionString)
 {
     _IEdmGroupEmailMgr = new EdmGroupEmailDao(connectionString);
     _serialDao = new SerialDao(connectionString);
     _edmemailDao = new EdmEmailDao(connectionString);
 }
예제 #8
0
 public VipUserGroupMgr(string connectionStr)
 {
     _vipUserGroup = new VipUserGroupDao(connectionStr);
     _vipUserGroupDao = new VipUserGroupDao(connectionStr);
     _ISerialImpl = new SerialDao(connectionStr);
 }
예제 #9
0
 public BonusMasterMgr(string connectionString)
 {
     _IBonusMasterDao = new BonusMasterDao(connectionString);
     _ISerialDao = new SerialDao(connectionString);
     _mysqlDao = new MySqlDao(connectionString);
 }