Beispiel #1
0
        /// <summary>
        /// 带事务的Update
        /// </summary>
        /// <param name="entity"></param>
        /// <param name="trans">The trans.</param>
        /// <returns></returns>
        /// <remarks>2016/6/6 19:10:26</remarks>
        public bool Update(ExchangeInfoEntity entity, DbTransaction trans)
        {
            var       database       = new SqlDatabase(this.ConnectionString);
            DbCommand commandWrapper = database.GetStoredProcCommand("dbo.P_ExchangeInfo_Update");

            database.AddInParameter(commandWrapper, "@Idx", DbType.AnsiString, entity.Idx);
            database.AddInParameter(commandWrapper, "@ExchangeType", DbType.Int32, entity.ExchangeType);
            database.AddInParameter(commandWrapper, "@ZoneName", DbType.Int32, entity.ZoneName);
            database.AddInParameter(commandWrapper, "@Account", DbType.AnsiString, entity.Account);
            database.AddInParameter(commandWrapper, "@ManagerId", DbType.Guid, entity.ManagerId);
            database.AddInParameter(commandWrapper, "@AtZoneId", DbType.Int32, entity.AtZoneId);
            database.AddInParameter(commandWrapper, "@PackId", DbType.Int32, entity.PackId);
            database.AddInParameter(commandWrapper, "@BatchId", DbType.Int32, entity.BatchId);
            database.AddInParameter(commandWrapper, "@Status", DbType.Int32, entity.Status);
            database.AddInParameter(commandWrapper, "@RowTime", DbType.DateTime, entity.RowTime);
            database.AddInParameter(commandWrapper, "@UpdateTime", DbType.DateTime, entity.UpdateTime);
            database.AddInParameter(commandWrapper, "@RowVersion", DbType.Binary, entity.RowVersion);
            database.AddInParameter(commandWrapper, "@PlatformCode", DbType.AnsiString, entity.PlatformCode);


            int results = 0;

            if (trans != null)
            {
                results = database.ExecuteNonQuery(commandWrapper, trans);
            }
            else
            {
                results = database.ExecuteNonQuery(commandWrapper);
            }


            return(Convert.ToBoolean(results));
        }
Beispiel #2
0
        /// <summary>
        /// GetById
        /// </summary>
        /// <param name="idx">idx</param>
        /// <returns>ExchangeInfoEntity</returns>
        /// <remarks>2016/6/6 19:10:26</remarks>
        public ExchangeInfoEntity GetById(System.String idx)
        {
            var database = new SqlDatabase(this.ConnectionString);

            DbCommand commandWrapper = database.GetStoredProcCommand("P_ExchangeInfo_GetById");

            database.AddInParameter(commandWrapper, "@Idx", DbType.AnsiString, idx);


            ExchangeInfoEntity obj = null;

            using (IDataReader reader = database.ExecuteReader(commandWrapper))
            {
                if (reader.Read())
                {
                    obj = LoadSingleRow(reader);
                }
            }
            return(obj);
        }
Beispiel #3
0
        /// <summary>
        /// 将IDataReader的当前记录读取到ExchangeInfoEntity 对象
        /// </summary>
        /// <param name="reader"></param>
        /// <returns></returns>
        public ExchangeInfoEntity LoadSingleRow(IDataReader reader)
        {
            var obj = new ExchangeInfoEntity();

            obj.Idx          = (System.String)reader["Idx"];
            obj.ExchangeType = (System.Int32)reader["ExchangeType"];
            obj.ZoneName     = (System.Int32)reader["ZoneName"];
            obj.Account      = (System.String)reader["Account"];
            obj.ManagerId    = (System.Guid)reader["ManagerId"];
            obj.AtZoneId     = (System.Int32)reader["AtZoneId"];
            obj.PackId       = (System.Int32)reader["PackId"];
            obj.BatchId      = (System.Int32)reader["BatchId"];
            obj.Status       = (System.Int32)reader["Status"];
            obj.RowTime      = (System.DateTime)reader["RowTime"];
            obj.UpdateTime   = (System.DateTime)reader["UpdateTime"];
            obj.RowVersion   = (System.Byte[])reader["RowVersion"];
            obj.PlatformCode = (System.String)reader["PlatformCode"];

            return(obj);
        }
Beispiel #4
0
        public void SetExchange()
        {
            //兑换码礼包添加
            var entity = new ExchangeInfoEntity();

            entity.ExchangeType = 1;
            entity.ZoneName     = 0;
            entity.Account      = "";
            entity.ManagerId    = Guid.Empty;
            entity.AtZoneId     = 0;
            entity.PackId       = 351;
            entity.BatchId      = 17001;
            entity.Status       = 0;
            var time = DateTime.Now;

            entity.UpdateTime   = time;
            entity.RowTime      = time;
            entity.PlatformCode = "h5_a8";
            string a      = "abcdefghijklmnopqrstuvwxyz";
            var    b      = a.ToUpper() + "123456789";
            var    strs   = b.ToCharArray();
            var    random = new Random();

            for (int j = 0; j < 10000; j++)
            {
                string exchangeId = "";
                for (int i = 0; i < 8; i++)
                {
                    int s = 0;
                    s = random.Next(35);
                    var c = strs[s];
                    exchangeId += c;
                }
                exchangeId += entity.PackId.ToString();
                entity.Idx  = exchangeId;
                ExchangeInfoMgr.Insert(entity);
            }
        }
Beispiel #5
0
        public ExchangeResponse Exchange(Guid managerId, string exchangeId, string pf)
        {
            if (string.IsNullOrEmpty(exchangeId))
            {
                return(ResponseHelper.Create <ExchangeResponse>(MessageCode.ExchangeCodeNotExists));
            }
            var manager = ManagerCore.Instance.GetManager(managerId);

            if (manager == null)
            {
                return(ResponseHelper.Create <ExchangeResponse>(MessageCode.NbParameterError));
            }
            var packCode = CacheFactory.AppsettingCache.GetAppSetting(EnumAppsetting.H5_360GoodsBag);
            var arr      = packCode.Split('|');

            if (arr.Count() >= 2)
            {
                if (exchangeId == arr[0])
                {
                    //类型1为360礼包
                    return(Send360GoodsBay(manager, arr[1], arr[0], 1));
                }
            }
            var packCode2 = CacheFactory.AppsettingCache.GetAppSetting(EnumAppsetting.H5_888kkk);
            var arr2      = packCode2.Split('|');

            if (arr2.Count() >= 2)
            {
                if (exchangeId == arr2[0])
                {
                    //类型2为888kkk礼包
                    return(Send360GoodsBay(manager, arr2[1], arr2[0], 2));
                }
            }

            ExchangeInfoEntity exchangeInfo = null;

            exchangeInfo = ExchangeInfoMgr.GetById(exchangeId);
            if (exchangeInfo == null)
            {
                return(ResponseHelper.Create <ExchangeResponse>(MessageCode.ExchangeCodeNotExists));
            }
            if (exchangeInfo.Status == 1)
            {
                return(ResponseHelper.Create <ExchangeResponse>(MessageCode.ExchangeIsUsed));
            }
            if (exchangeInfo.PlatformCode != "h5_a8")
            {
                if (pf != exchangeInfo.PlatformCode)
                {
                    return(ResponseHelper.Create <ExchangeResponse>(MessageCode.ExchangeCodeNotExists));
                }
            }
            int            returnCode     = -2;
            var            package        = ItemCore.Instance.GetPackage(managerId, EnumTransactionType.ExchangeCodePrize);
            int            effectCoin     = 0;
            int            curValue       = 0;
            int            effectPoint    = 0;
            int            bindPoint      = 0;
            ExchangeEntity exchangeEntity = new ExchangeEntity();

            exchangeEntity.PrizeList = new List <ExchangePrizeEntity>();

            var messagecode = MallCore.Instance.UseNewPlayerPack(managerId, exchangeInfo.PackId, package, EnumCoinChargeSourceType.Exchange, ref manager, ref effectCoin,
                                                                 ref curValue, ref effectPoint, ref bindPoint, exchangeEntity);


            if (messagecode != MessageCode.Success)
            {
                return(ResponseHelper.Create <ExchangeResponse>(messagecode));
            }

            try
            {
                using (var transactionManager = new TransactionManager(Dal.ConnectionFactory.Instance.GetConnectionString(EnumDbType.Support)))
                {
                    transactionManager.BeginTransaction();
                    ExchangeInfoMgr.Save(exchangeInfo.Idx, ShareUtil.PlatformCode, manager.Account, manager.Idx, ShareUtil.ZoneId, exchangeInfo.PackId,
                                         exchangeInfo.RowVersion, (int)MessageCode.ExchangeBatchLimit, ref returnCode, transactionManager.TransactionObject);

                    if (returnCode == (int)MessageCode.Success)
                    {
                        if (effectCoin > 0)
                        {
                            ManagerUtil.SaveManagerData(manager, null);
                            ManagerUtil.SaveManagerAfter(manager);
                        }
                        if (package.Save())
                        {
                            package.Shadow.Save();
                        }
                        if (effectPoint > 0)
                        {
                            messagecode = PayCore.Instance.AddBonus(manager.Account, effectPoint,
                                                                    EnumChargeSourceType.ExchangePrize,
                                                                    exchangeId);
                        }
                    }
                    if (messagecode == MessageCode.Success)
                    {
                        transactionManager.Commit();
                    }
                    else
                    {
                        transactionManager.Rollback();
                    }
                }


                if (returnCode != 0)
                {
                    return(ResponseHelper.Create <ExchangeResponse>(returnCode));
                }
                exchangeEntity.ExchangeType = exchangeInfo.ExchangeType;



                var response = ResponseHelper.CreateSuccess <ExchangeResponse>();
                response.Data           = new ExchangeEntity();
                response.Data.PrizeList = new List <ExchangePrizeEntity>();
                response.Data.PrizeList = exchangeEntity.PrizeList;
                response.Code           = 0;

                return(response);
            }
            catch (Exception ex)
            {
                SystemlogMgr.Error("SaveItemException", ex);
                return(ResponseHelper.Create <ExchangeResponse>(returnCode));
            }
        }
Beispiel #6
0
 /// <summary>
 /// Update
 /// </summary>
 /// <param name="entity"></param>
 /// <returns></returns>
 /// <remarks>2016/6/6 19:10:26</remarks>
 public bool Update(ExchangeInfoEntity entity)
 {
     return(Update(entity, null));
 }
Beispiel #7
0
 /// <summary>
 /// Insert
 /// </summary>
 /// <param name="entity"></param>
 /// <param name="trans">The trans.</param>
 /// <returns></returns>
 /// <remarks>2016/6/6 19:10:26</remarks>
 public bool Insert(ExchangeInfoEntity entity)
 {
     return(Insert(entity, null));
 }
Beispiel #8
0
        public static bool Update(ExchangeInfoEntity exchangeInfoEntity, DbTransaction trans = null)
        {
            var provider = new ExchangeInfoProvider();

            return(provider.Update(exchangeInfoEntity, trans));
        }