Exemple #1
0
        public void AddTest()
        {
            var dtNow = DateTime.Now;
            ParticipationAcEntity part = new ParticipationAcEntity();

            part.Vip_AN          = "vip00";
            part.Ac_id           = 1;
            part.Integral_Target = 100;
            part.Integral_now    = 100;
            part.Times           = 6;
            part.Times_now       = 6;
            int iCheck = (int)dbService.Update <ParticipationAcEntity>("XMShop", "activity",
                                                                       x => x._id == "602feee4e56f7f51", part);


            ParticipationAcEntity part1 = new ParticipationAcEntity();

            part1.Vip_AN          = "vip00";
            part1.Ac_id           = 2;
            part1.Integral_Target = 0;
            part1.Integral_now    = 8000;
            part1.Times           = 2;
            part1.Times_now       = 2;
            int iCheck1 = (int)dbService.Update <ParticipationAcEntity>("XMShop", "activity",
                                                                        x => x._id == "73e87d2c29edbc95", part1);
        }
Exemple #2
0
        /// <summary>
        /// 用于添加折扣活动记录
        /// </summary>
        /// <param name="AcItem"></param>
        /// <param name="OrderAndBuyInfoDic"></param>
        /// <returns></returns>
        public int AcDisAdd(ActivityEntity AcItem, Dictionary <string, object> OrderAndBuyInfoDic)
        {
            CustomDisEntity AcDis = QryACTypeInfoDis <CustomDisEntity>(AcItem.id);

            ParticipationAcEntity Part = new ParticipationAcEntity()
            {
                Vip_AN          = AN,
                Ac_id           = AcItem.id,
                Integral_Target = 0,
                Integral_now    = int.Parse(OrderAndBuyInfoDic["order_total"].ToString()),
                Times           = int.Parse(AcDis.Times),
                Times_now       = 1
            };

            //将数据添加到mongodb中
            DALUtility.MDbS.Add <ParticipationAcEntity>("XMShop", "activity", Part);
            int iCheck = (int)DALUtility.MDbS.GetCount <NoticEntity>("XMShop", "activity", x => x._id == Part._id);

            if (iCheck == 0)
            {
                return(1);
            }
            else
            {
                RecordAcInfo(OrderAndBuyInfoDic, AcItem.id, AcDis.Discount, AcDis.Ac_type, 1);
                return(0);
            }
        }
Exemple #3
0
        /// <summary>
        /// 功能:满赠活动添加记录到Mongodb的方法
        /// </summary>
        /// <param name="AcItem"></param>
        /// <param name="OrderAndBuyInfoDic"></param>
        /// <returns></returns>
        public int AcFullAdd(ActivityEntity AcItem, Dictionary <string, object> OrderAndBuyInfoDic)
        {
            Dictionary <string, object> param  = ReturnInfo(AcItem, OrderAndBuyInfoDic);
            CustomFullEntity            AcFull = param["AcFull"] as CustomFullEntity;

            ParticipationAcEntity Part = new ParticipationAcEntity()
            {
                Vip_AN          = AN,
                Ac_id           = AcItem.id,
                Integral_Target = int.Parse(param["AcTarget"].ToString()),
                Integral_now    = int.Parse(param["intExpenseIntegral"].ToString()),
                Times           = int.Parse(param["TotalTimes"].ToString()),
                Times_now       = int.Parse(param["intExpenseTimes"].ToString())
            };

            //将数据添加到mongodb中
            DALUtility.MDbS.Add <ParticipationAcEntity>("XMShop", "activity", Part);
            int iCheck = (int)DALUtility.MDbS.GetCount <NoticEntity>("XMShop", "activity", x => x._id == Part._id);

            if (iCheck == 0)
            {
                return(1);
            }
            else
            {
                RecordAcInfo(OrderAndBuyInfoDic, AcItem.id, AcFull.Minus, AcFull.Ac_type, int.Parse(param["intExpenseTimes"].ToString()));
                return(0);
            }
        }
Exemple #4
0
        /// <summary>
        /// 功能:折扣活动的方法
        /// </summary>
        /// <param name="AcItem"></param>
        /// <param name="OrderAndBuyInfoDic"></param>
        /// <returns></returns>
        public List <int> AcDis(ActivityEntity AcItem, Dictionary <string, object> OrderAndBuyInfoDic)
        {
            ParticipationAcEntity PAclist = DALUtility.MDbS.Get <ParticipationAcEntity>("XMShop", "activity", x => x.Vip_AN == AN && x.Ac_id == AcItem.id, null);
            List <int>            result  = new List <int>();

            switch (PAclist)
            {
            case null:
                result.Add(AcDisAdd(AcItem, OrderAndBuyInfoDic));
                break;

            default:
                result.Add(AcDisUpdate(AcItem, OrderAndBuyInfoDic, PAclist));
                break;
            }
            return(result);
        }
Exemple #5
0
        /// <summary>
        /// 用于修改折扣活动记录
        /// </summary>
        /// <param name="AcItem"></param>
        /// <param name="OrderAndBuyInfoDic"></param>
        /// <param name="PAclist"></param>
        /// <returns></returns>
        public int AcDisUpdate(ActivityEntity AcItem, Dictionary <string, object> OrderAndBuyInfoDic, ParticipationAcEntity PAclist)
        {
            CustomDisEntity AcDis = QryACTypeInfoDis <CustomDisEntity>(AcItem.id);

            //本次消费是否有优惠
            int intExpenseTimes = PAclist.Times_now + 1 <= int.Parse(AcDis.Times) ? 1 : 0;

            PAclist.Times_now    += intExpenseTimes;
            PAclist.Integral_now += int.Parse(OrderAndBuyInfoDic["order_total"].ToString());
            //将数据添加到mongodb中
            int iCheck = (int)DALUtility.MDbS.Update <ParticipationAcEntity>("XMShop", "activity",
                                                                             x => x._id == PAclist._id, PAclist);

            if (iCheck == 0)
            {
                return(1);
            }
            else
            {
                RecordAcInfo(OrderAndBuyInfoDic, AcItem.id, AcDis.Discount, AcDis.Ac_type, intExpenseTimes);
                return(0);
            }
        }
Exemple #6
0
        /// <summary>
        /// 功能:满赠活动修改记录方法
        /// </summary>
        /// <param name="AcItem"></param>
        /// <param name="OrderAndBuyInfoDic"></param>
        /// <param name="PAclist"></param>
        /// <returns></returns>
        public int AcFullUpdate(ActivityEntity AcItem, Dictionary <string, object> OrderAndBuyInfoDic, ParticipationAcEntity PAclist)
        {
            Dictionary <string, object> param  = ReturnInfo(AcItem, OrderAndBuyInfoDic);
            CustomFullEntity            AcFull = param["AcFull"] as CustomFullEntity;

            //当笔和记录积分相加
            int intUpdateIntegral = int.Parse(param["intExpenseIntegral"].ToString()) + PAclist.Integral_now.Value;

            //当笔和记录次数相加
            int intUpdateTimes = int.Parse(param["intExpenseTimes"].ToString()) + PAclist.Times_now.Value;

            //将要添加进MongoDB的数据
            int NowIntegral;

            if (intUpdateIntegral >= int.Parse(param["AcTarget"].ToString()))
            {
                NowIntegral     = intUpdateIntegral % int.Parse(param["AcTarget"].ToString());
                intUpdateTimes += intUpdateIntegral / int.Parse(param["AcTarget"].ToString());
            }
            else
            {
                NowIntegral = intUpdateIntegral;
            }
            //现有的活动次数,加入到mongodb中的数据
            int NowTimes = intUpdateTimes >= int.Parse(param["TotalTimes"].ToString()) ? int.Parse(param["TotalTimes"].ToString()) : intUpdateTimes;
            int ToSqlDB  = intUpdateTimes >= int.Parse(param["TotalTimes"].ToString()) ?
                           int.Parse(param["TotalTimes"].ToString()) - PAclist.Times_now.Value :
                           intUpdateTimes - PAclist.Times_now.Value;


            PAclist.Integral_now = NowIntegral;
            PAclist.Times_now    = NowTimes;
            //将数据添加到mongodb中
            int iCheck = (int)DALUtility.MDbS.Update <ParticipationAcEntity>("XMShop", "activity",
                                                                             x => x._id == PAclist._id, PAclist);

            if (iCheck == 0 && PAclist.Times_now != PAclist.Times)
            {
                return(1);
            }
            else
            {
                RecordAcInfo(OrderAndBuyInfoDic, AcItem.id, AcFull.Minus, AcFull.Ac_type, ToSqlDB);
                return(0);
            }
        }