Exemplo n.º 1
0
        public object GetCouponInfo(Dictionary <string, object> dicParas)
        {
            try
            {
                string errMsg = string.Empty;
                string id     = dicParas.ContainsKey("id") ? (dicParas["id"] + "") : string.Empty;
                if (string.IsNullOrEmpty(id))
                {
                    errMsg = "规则编号不能为空";
                    return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                }

                int iId = Convert.ToInt32(id);
                IData_CouponInfoService data_CouponInfoService = BLLContainer.Resolve <IData_CouponInfoService>();
                var data_CouponInfo = data_CouponInfoService.GetModels(p => p.ID == iId).FirstOrDefault();
                if (data_CouponInfo == null)
                {
                    errMsg = "该优惠券不存在";
                    return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                }

                return(ResponseModelFactory.CreateSuccessModel(isSignKeyReturn, data_CouponInfo));
            }
            catch (Exception e)
            {
                return(ResponseModelFactory.CreateReturnModel(isSignKeyReturn, Return_Code.F, e.Message));
            }
        }
Exemplo n.º 2
0
        public object QueryCouponInfo(Dictionary <string, object> dicParas)
        {
            try
            {
                XCCloudUserTokenModel userTokenKeyModel = (XCCloudUserTokenModel)dicParas[Constant.XCCloudUserTokenModel];
                string merchId = userTokenKeyModel.DataModel.MerchID;
                string errMsg  = string.Empty;

                object[] conditions = dicParas.ContainsKey("conditions") ? (object[])dicParas["conditions"] : null;

                SqlParameter[] parameters = new SqlParameter[1];
                string         sqlWhere   = string.Empty;
                parameters[0] = new SqlParameter("@MerchId", merchId);

                if (conditions != null && conditions.Length > 0)
                {
                    if (!QueryBLL.GenDynamicSql(conditions, "a.", ref sqlWhere, ref parameters, out errMsg))
                    {
                        return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                    }
                }

                string sql = @"select a.ID, a.CouponName, b.DictKey as CouponTypeStr, a.PublishCount, (a.PublishCount - isnull(c.UseCount, 0) - isnull(d.UseCount, 0)) as LeftCount, " +
                             " (case when a.StartTime is null or a.StartTime='' then '' else convert(varchar,a.StartTime,23) end) as StartTime, (case when a.EndTime is null or a.EndTime='' then '' else convert(varchar,a.EndTime,23) end) as EndTime, " +
                             " a.Context from Data_CouponInfo a" +
                             " left join (select b.* from Dict_System a inner join Dict_System b on a.ID=b.PID where a.DictKey='优惠券类别' and a.PID=0) b on convert(varchar, a.CouponType)=b.DictValue " +
                             " left join (select a.ID as CouponID, count(c.ID) as UseCount from Data_CouponInfo a inner join Data_CouponList b on a.ID=b.CouponID inner join Flw_CouponUse c on b.ID=c.CouponCode) c on a.ID=c.CouponID " +
                             " left join (select a.ID as CouponID, count(b.ID) as UseCount from Data_CouponInfo a inner join Flw_CouponUse b on a.ID=b.CouponID) d on a.ID=d.CouponID " +
                             " where a.MerchID=@MerchId";
                sql = sql + sqlWhere;

                IData_CouponInfoService data_CouponInfoService = BLLContainer.Resolve <IData_CouponInfoService>();
                var data_CouponInfo = data_CouponInfoService.SqlQuery <Data_CouponInfoModel>(sql, parameters).ToList();

                return(ResponseModelFactory.CreateSuccessModel(isSignKeyReturn, data_CouponInfo));
            }
            catch (Exception e)
            {
                return(ResponseModelFactory.CreateReturnModel(isSignKeyReturn, Return_Code.F, e.Message));
            }
        }
Exemplo n.º 3
0
        public object DelCouponInfo(Dictionary <string, object> dicParas)
        {
            try
            {
                string errMsg = string.Empty;
                string id     = dicParas.ContainsKey("id") ? (dicParas["id"] + "") : string.Empty;
                if (string.IsNullOrEmpty(id))
                {
                    errMsg = "规则ID不能为空";
                    return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                }

                int iId = Convert.ToInt32(id);
                IData_CouponListService data_CouponListService = BLLContainer.Resolve <IData_CouponListService>();
                IData_CouponInfoService data_CouponInfoService = BLLContainer.Resolve <IData_CouponInfoService>();
                IFlw_CouponUseService   flw_CouponUseService   = BLLContainer.Resolve <IFlw_CouponUseService>();
                if (flw_CouponUseService.Any(a => a.CouponCode == iId))
                {
                    errMsg = "该优惠券规则已使用不能删除";
                    return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                }

                if (!data_CouponInfoService.Any(a => a.ID == iId))
                {
                    errMsg = "该优惠券规则信息不存在";
                    return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                }

                //开启EF事务
                using (TransactionScope ts = new TransactionScope())
                {
                    try
                    {
                        var data_CouponInfo = data_CouponInfoService.GetModels(p => p.ID == iId).FirstOrDefault();
                        data_CouponInfoService.DeleteModel(data_CouponInfo);

                        var data_CouponList = data_CouponListService.GetModels(p => p.CouponID == iId);
                        foreach (var model in data_CouponList)
                        {
                            data_CouponListService.DeleteModel(model);
                        }

                        if (!data_CouponInfoService.SaveChanges())
                        {
                            errMsg = "删除优惠券规则信息失败";
                            return(ResponseModelFactory.CreateFailModel(isSignKeyReturn, errMsg));
                        }

                        ts.Complete();
                    }
                    catch (Exception ex)
                    {
                        return(ResponseModelFactory.CreateReturnModel(isSignKeyReturn, Return_Code.F, ex.Message));
                    }
                }

                return(ResponseModelFactory.CreateSuccessModel(isSignKeyReturn));
            }
            catch (Exception e)
            {
                return(ResponseModelFactory.CreateReturnModel(isSignKeyReturn, Return_Code.F, e.Message));
            }
        }