Exemple #1
0
 public MessageCode SaveInvitePrize(NbManagerEntity manager, FriendinvitePrizerecordEntity record, ItemPackageFrame package, DbTransaction trans, int coin, string account)
 {
     if (manager != null)
     {
         if (!ManagerUtil.SaveManagerData(manager, null, trans))
         {
             return(MessageCode.NbUpdateFailPackage);
         }
     }
     if (coin > 0)
     {
         var mess = ManagerCore.Instance.AddCoin(manager, coin, EnumCoinChargeSourceType.FriendInvite, Guid.NewGuid().ToString(), trans);
         if (mess != MessageCode.Success)
         {
             return(mess);
         }
     }
     if (!FriendinvitePrizerecordMgr.Insert(record, trans))
     {
         return(MessageCode.NbUpdateFailPackage);
     }
     if (!package.Save(trans))
     {
         return(MessageCode.NbUpdateFailPackage);
     }
     package.Shadow.Save();
     return(MessageCode.Success);
 }
        private void btnAddAccount_Click(object sender, EventArgs e)
        {
            string databaseType = this.cboDbType.Text;

            if (string.IsNullOrEmpty(databaseType))
            {
                MessageBox.Show("Please select a database type first.");
            }
            else
            {
                DatabaseType   dbType         = ManagerUtil.GetDatabaseType(databaseType);
                frmAccountInfo frmAccountInfo = new frmAccountInfo(dbType);
                DialogResult   result         = frmAccountInfo.ShowDialog();

                if (result == DialogResult.OK)
                {
                    this.LoadAccounts(frmAccountInfo.AccountProfileId);

                    if (this.cboAccount.SelectedItem != null)
                    {
                        (this.cboAccount.SelectedItem as AccountProfileInfo).Password = frmAccountInfo.AccountProfileInfo.Password;
                    }
                }
            }
        }
Exemple #3
0
        public bool Backup(BackupSetting setting, ConnectionInfo connectionInfo)
        {
            try
            {
                DbBackup backup = DbBackup.GetInstance(ManagerUtil.GetDatabaseType(setting.DatabaseType));
                backup.Setting        = setting;
                backup.ConnectionInfo = connectionInfo;

                this.FeedbackInfo("Begin to backup...");

                string saveFilePath = backup.Backup();

                if (File.Exists(saveFilePath))
                {
                    this.FeedbackInfo($"Database has been backuped to {saveFilePath}.");
                }
                else
                {
                    this.FeedbackInfo($"Database has been backuped.");
                }

                return(true);
            }
            catch (Exception ex)
            {
                this.FeedbackError(ExceptionHelper.GetExceptionDetails(ex));
            }

            return(false);
        }
Exemple #4
0
        public CrossladderManagerResponse GetManagerInfo(string siteId, Guid managerId)
        {
            var response = GetLadderManager(siteId, managerId);

            if (response.Code != ShareUtil.SuccessCode)
            {
                return(response);
            }
            var season = CacheFactory.CrossLadderCache.GetCurrentSeason();

            season.StartTick     = ShareUtil.GetTimeTick(season.Startdate);
            season.EndTick       = ShareUtil.GetTimeTick(season.Enddate.Date.AddDays(1).AddSeconds(-1));
            response.Data.Season = season;
            var rankEntity = CrossRankThread.Instance.GetMyRank(siteId, managerId, (int)EnumRankType.CrossLadderRank);

            if (rankEntity != null)
            {
                response.Data.MyRank        = rankEntity.Rank;
                response.Data.YesterdayRank = rankEntity.YesterdayRank;
            }
            else
            {
                response.Data.MyRank        = -1;
                response.Data.YesterdayRank = -1;
            }
            response.Data.WinRate = ManagerUtil.GetWinRate(managerId, EnumMatchType.CrossLadder, siteId);
            return(response);
        }
Exemple #5
0
 public RootResponse <DTOTalentView> HitTalent(Guid mid, string tid, bool hasTask)
 {
     if (!ManagerUtil.CheckFunction(mid, EnumOpenFunction.Talent))
     {
         return(ResponseHelper.InvalidFunction <RootResponse <DTOTalentView> >());
     }
     return(ResponseHelper.TryCatch(() => ManagerSkillRules.HitTalent(mid, tid, hasTask)));
 }
Exemple #6
0
        static void AddManagerData(Guid managerId, int prizeExp, int prizeCoin, int prizeSophisticate,
                                   EnumCoinChargeSourceType coinSourceType, string coinOrderId)
        {
            NbManagerEntity homeManager = ManagerCore.Instance.GetManager(managerId);

            ManagerUtil.AddManagerData(homeManager, prizeExp, prizeCoin, prizeSophisticate, coinSourceType, coinOrderId);
            ManagerUtil.SaveManagerData(homeManager);
            ManagerUtil.SaveManagerAfter(homeManager, true);
        }
        /// <summary>
        /// 报名天梯赛.
        /// </summary>
        /// <returns></returns>
        public MessageCodeResponse Attend(string siteId, Guid managerId)
        {
            if (!IsManagerBusy(managerId))
            {
                if (!CompetitorDic.ContainsKey(managerId))
                {
                    var response = CrossLadderCore.Instance.GetManagerInfo(siteId, managerId);
                    if (response.Code != ShareUtil.SuccessCode)
                    {
                        return(ResponseHelper.Create <MessageCodeResponse>(response.Code));
                    }
                    if (response.Data == null)
                    {
                        return(ResponseHelper.InvalidParameter <MessageCodeResponse>());
                    }
                    var ladderManager = response.Data;
                    //if (ladderManager.Stamina <= 0)
                    //{
                    //    return ResponseHelper.Create<MessageCodeResponse>(MessageCode.LadderStaminaShortage);
                    //}
                    var  kpi        = ManagerUtil.GetKpi(managerId, siteId);
                    bool needUpdate = false;
                    if (kpi != ladderManager.Kpi)
                    {
                        ladderManager.Kpi = kpi;
                        needUpdate        = true;
                    }
                    if (ladderManager.DomainId != _domainId)
                    {
                        ladderManager.DomainId = _domainId;
                        needUpdate             = true;
                    }
                    if (needUpdate)
                    {
                        CrossladderManagerMgr.Update(ladderManager);
                    }
                    response.Data.ShowName = ShareUtil.GetCrossManagerNameByZoneId(siteId, response.Data.Name);
                    //锁住
                    lock (_competitorLock)
                    {
                        if (_playerNum == 0)
                        {
                            _startTime = DateTime.Now;
                        }

                        CompetitorDic.Add(managerId, response.Data);
                        _playerNum++;
                    }
                }
                return(ResponseHelper.Create <MessageCodeResponse>(MessageCode.Success));
            }
            else
            {
                return(ResponseHelper.Create <MessageCodeResponse>(MessageCode.LadderBusy));
            }
        }
Exemple #8
0
 public CrossladderManagerResponse GetLadderManager(string siteId, Guid managerId)
 {
     try
     {
         var ladderManager = CrossladderManagerMgr.GetById(managerId);
         if (ladderManager == null)
         {
             if (!ManagerUtil.CheckFunction(siteId, managerId, EnumOpenFunction.CrossLadder))
             {
                 return(ResponseHelper.Create <CrossladderManagerResponse>(MessageCode.NbFunctionNotOpen));
             }
             var nbManager = NbManagerMgr.GetById(managerId, siteId);
             if (nbManager == null)
             {
                 return(ResponseHelper.Create <CrossladderManagerResponse>(MessageCode.MissManager));
             }
             int domainId = 0;
             int honor    = 0;
             CrossladderManagerMgr.GetOldHonor(managerId, ref honor);
             CrossSiteCache.Instance().TryGetDomainId(siteId, out domainId);
             ladderManager                 = new CrossladderManagerEntity();
             ladderManager.DomainId        = domainId;
             ladderManager.SiteId          = siteId;
             ladderManager.SiteName        = CacheFactory.FunctionAppCache.GetCrossZoneName(siteId);
             ladderManager.ManagerId       = managerId;
             ladderManager.Name            = nbManager.Name;
             ladderManager.SiteId          = siteId;
             ladderManager.Logo            = nbManager.Logo;
             ladderManager.Score           = _ladderRegisterScore;
             ladderManager.LastExchageTime = ShareUtil.BaseTime;
             ladderManager.RowTime         = DateTime.Now;
             ladderManager.UpdateTime      = DateTime.Now;
             ladderManager.Honor           = honor;
             ladderManager.MaxScore        = _ladderRegisterScore;
             ladderManager.DailyMaxScore   = _ladderRegisterScore;
             ladderManager.Stamina         = 50;
             CrossladderManagerMgr.Insert(ladderManager);
         }
         if (ladderManager.Stamina < 0)
         {
             ladderManager.Stamina = 0;
         }
         if (ladderManager.StaminaBuy < 0)
         {
             ladderManager.StaminaBuy = 0;
         }
         var response = ResponseHelper.CreateSuccess <CrossladderManagerResponse>();
         response.Data = ladderManager;
         return(response);
     }
     catch (Exception ex)
     {
         SystemlogMgr.Error("GetCrossLadderManager", ex);
         return(ResponseHelper.Create <CrossladderManagerResponse>(MessageCode.Exception));
     }
 }
        /// <summary>
        /// Gets the System Text with the specified Label for the specified Object Name.
        /// Use this Method only in specific situations, where you are not able to execute an async MEthod.
        /// For instance, in the Closing Event of a Window. Otherwise, use the async GetText Method.
        /// </summary>
        /// <param name="label">Label of the System Text.</param>
        /// <param name="defaultValue">Default Value if no Text is Found.</param>
        /// <param name="objectName">Name of the object that the Text belongs to.</param>
        /// <param name="formatString">String to format the text.</param>
        /// <returns>System Text with the specified Label for the specified Object Name.</returns>
        public virtual string GetTextSync(string label, string defaultValue = "",
                                          string objectName = "", object formatString = null, object formatString2 = null)
        {
            if (string.IsNullOrEmpty(objectName))
            {
                objectName = GetType().FullName;
            }

            return(ManagerUtil.GetTextSync(label, defaultValue, objectName, formatString, formatString2));
        }
        private async void TranslateItem_Click(object sender, EventArgs e)
        {
            DatabaseType dbType = ManagerUtil.GetDatabaseType((sender as ToolStripMenuItem).Text);

            if (!this.IsValidSelectedNode())
            {
                return;
            }

            TreeNode node = this.GetSelectedNode();

            this.tvDbObjects.SelectedNode = node;

            await this.Translate(node, dbType);
        }
Exemple #11
0
 public MessageCode AddManagerData(Guid managerId, int prizeExp, int prizeCoin, int prizeSophisticate)
 {
     try
     {
         NbManagerEntity homeManager = ManagerCore.Instance.GetManager(managerId);
         ManagerUtil.AddManagerData(homeManager, prizeExp, prizeCoin, prizeSophisticate, EnumCoinChargeSourceType.AdminAdd, "");
         ManagerUtil.SaveManagerData(homeManager);
         ManagerUtil.SaveManagerAfter(homeManager, true);
         return(MessageCode.Success);
     }
     catch (Exception ex)
     {
         SystemlogMgr.Error("AdminCore:AddManagerData", ex);
         return(MessageCode.Exception);
     }
 }
        private void Edit()
        {
            AccountProfileInfo profile = this.GetSelectRecord();

            if (profile != null)
            {
                frmAccountInfo frmAccountInfo = new frmAccountInfo(ManagerUtil.GetDatabaseType(this.cboDbType.Text), true)
                {
                    AccountProfileInfo = profile
                };

                if (frmAccountInfo.ShowDialog() == DialogResult.OK)
                {
                    this.LoadAccounts();
                }
            }
        }
        private void btnAdd_Click(object sender, EventArgs e)
        {
            string databaseType = this.cboDbType.Text;

            if (string.IsNullOrEmpty(databaseType))
            {
                MessageBox.Show("Please select a database type first.");
            }
            else
            {
                DatabaseType   dbType         = ManagerUtil.GetDatabaseType(databaseType);
                frmAccountInfo frmAccountInfo = new frmAccountInfo(dbType);
                DialogResult   result         = frmAccountInfo.ShowDialog();

                if (result == DialogResult.OK)
                {
                    this.LoadAccounts();
                }
            }
        }
        private void InitControls()
        {
            List <DatabaseObjectType> dbObjTypes = new List <DatabaseObjectType>()
            {
                DatabaseObjectType.Table,
                DatabaseObjectType.View,
                DatabaseObjectType.Function,
                DatabaseObjectType.Procedure
            };

            if (this.DatabaseType == DatabaseType.SqlServer)
            {
                dbObjTypes.Insert(0, DatabaseObjectType.UserDefinedType);
            }

            foreach (DatabaseObjectType type in dbObjTypes)
            {
                this.chkDbObjectTypes.Items.Add(ManagerUtil.GetPluralString(type.ToString()));
            }
        }
Exemple #15
0
        /// <summary>
        /// Gets the System Text with the specified Label for the specified Object Name.
        /// </summary>
        /// <param name="label">Label of the System Text.</param>
        /// <param name="defaultValue">Default Value if no Text is Found.</param>
        /// <param name="objectName">Name of the object that the Text belongs to.</param>
        /// <param name="formatString">String to format the text.</param>
        /// <returns>System Text with the specified Label for the specified Object Name.</returns>
        public virtual async Task <string> GetText(string label, string defaultValue = "",
                                                   string objectName = "", object formatString = null, object formatString2 = null)
        {
            if (string.IsNullOrEmpty(objectName))
            {
                objectName = GetType().FullName;
            }

            var text = await ManagerUtil.GetText(label, defaultValue, objectName, formatString, formatString2);

            //If no Text was found for the current object, try searching the Base Object.
            if (string.IsNullOrEmpty(text))
            {
                objectName = GetType().BaseType.FullName;

                text = await ManagerUtil.GetText(label, defaultValue, objectName, formatString, formatString2);
            }

            return(text);
        }
 private bool VerificarDatos()
 {
     if (txtNombre.Text == string.Empty)
     {
         errorProvider1.SetError(txtNombre, "Ingrese un dato.");
         txtNombre.Focus();
         return(false);
     }
     aeMen.Name     = txtNombre.Text;
     aeMen.NameCode = txtCodigo.Text;
     try
     {
         aeMen.IdApplication = Convert.ToInt32(txtIdAplicacion.Text);
     }
     catch (Exception)
     {
         errorProvider1.SetError(txtIdAplicacion, "Ingrese un dato del tipo entero.");
         txtIdAplicacion.Focus();
         return(false);
     }
     try
     {
         aeMen.Level = Convert.ToInt32(txtLevel.Text);
     }
     catch (Exception)
     {
         errorProvider1.SetError(txtLevel, "Ingrese un dato del tipo entero.");
         txtLevel.Focus();
         return(false);
     }
     aeMen.IdParent   = cboPadre.SelectedValue == null? 0:Convert.ToInt32(cboPadre.SelectedValue);
     aeMen.Estate     = chkEstado.Checked;
     aeMen.UserUpdate = "Admin";
     error            = null;
     aeMen.DateUpdate = ManagerUtil.getDateTimeServer(ref error);
     if (error != null)
     {
         MetroMessageBox.Show(this, error, "ATENCION!", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
     }
     return(true);
 }
Exemple #17
0
        public NBManagerInfoResponse Levelup(Guid managerId)
        {
            var manager    = ManagerCore.Instance.GetManager(managerId);
            var levelupExp = CacheFactory.ManagerDataCache.GetExp(manager.Level);

            if (levelupExp > 0)
            {
                levelupExp = levelupExp - manager.EXP + 1;
                ManagerUtil.AddManagerData(manager, levelupExp, 0, 0, EnumCoinChargeSourceType.None, "");
                if (ManagerUtil.SaveManagerData(manager))
                {
                    ManagerUtil.SaveManagerAfter(manager);
                    return(ManagerCore.Instance.GetManagerInfo(managerId, false));
                }
                else
                {
                    return(ResponseHelper.Create <NBManagerInfoResponse>(MessageCode.NbUpdateFail));
                }
            }
            else
            {
                return(ResponseHelper.Create <NBManagerInfoResponse>(MessageCode.NbManagerLevelOver));
            }
        }
        private bool SetConnectionInfo(AccountProfileInfo accountProfileInfo)
        {
            DatabaseType dbType = ManagerUtil.GetDatabaseType(this.cboDbType.Text);

            frmAccountInfo frmAccountInfo = new frmAccountInfo(dbType, true)
            {
                AccountProfileInfo = accountProfileInfo
            };

            DialogResult dialogResult = frmAccountInfo.ShowDialog();

            if (dialogResult == DialogResult.OK)
            {
                AccountProfileInfo profileInfo = frmAccountInfo.AccountProfileInfo;
                ObjectHelper.CopyProperties(profileInfo, (this.cboAccount.SelectedItem as AccountProfileInfo));
                this.cboAccount.Text = profileInfo.Description;
                return(true);
            }
            else
            {
                this.btnConnect.Enabled = true;
            }
            return(false);
        }
        private void btnOK_Click(object sender, EventArgs e)
        {
            DatabaseObjectType databaseObjectType = DatabaseObjectType.None;

            foreach (var item in this.chkDbObjectTypes.CheckedItems)
            {
                DatabaseObjectType type = (DatabaseObjectType)Enum.Parse(typeof(DatabaseObjectType), ManagerUtil.GetSingularString(item.ToString()));

                databaseObjectType = databaseObjectType | type;
            }

            if (databaseObjectType == DatabaseObjectType.None)
            {
                MessageBox.Show("Please select database object type.");
                return;
            }
            else
            {
                this.DatabaseObjectType = databaseObjectType;
            }

            this.DialogResult = DialogResult.OK;

            this.Close();
        }
Exemple #20
0
        public LadderManagerResponse GetManagerInfo(Guid managerId)
        {
            var manager = GetLadderManager(managerId);

            if (string.IsNullOrEmpty(manager.ExchangeIds) || CheckExchangeRefresh(manager.RefreshDate))
            {
                var equipmentProperties = "";
                var equipmentItemcode   = "";
                manager.ExchangeIds         = CacheFactory.LadderCache.GetExchanges(out equipmentItemcode, out equipmentProperties);
                manager.RefreshDate         = DateTime.Today.AddHours(21);//每天21点刷新
                manager.RefreshTimes        = 0;
                manager.ExchangedIds        = "";
                manager.EquipmentProperties = equipmentProperties;
                manager.EquipmentItems      = equipmentItemcode;
                LadderManagerMgr.Update(manager);
            }
            var season = CacheFactory.SeasonCache.GetCurrentSeason();

            season.StartTick = ShareUtil.GetTimeTick(season.Startdate);
            season.EndTick   = ShareUtil.GetTimeTick(season.Enddate.Date.AddDays(1).AddSeconds(-1));
            season.NowTick   = ShareUtil.GetTimeTick(DateTime.Now);
            var response = ResponseHelper.CreateSuccess <LadderManagerResponse>();

            response.Data        = manager;
            response.Data.Season = season;
            if (DateTime.Now.Hour >= 21)
            {
                response.Data.ExchangeRefreshTick =
                    ShareUtil.GetTimeTick(DateTime.Today.AddDays(1).AddHours(21));
            }
            else
            {
                response.Data.ExchangeRefreshTick =
                    ShareUtil.GetTimeTick(DateTime.Today.AddHours(21));
            }
            var rankEntity = RankLadderThread.Instance.GetMyRank(managerId, (int)EnumRankType.LadderRank);

            if (rankEntity != null)
            {
                response.Data.MyRank        = rankEntity.Rank;
                response.Data.YesterdayRank = rankEntity.YesterdayRank;
            }
            else
            {
                response.Data.MyRank        = -1;
                response.Data.YesterdayRank = -1;
            }
            response.Data.WinRate      = ManagerUtil.GetWinRate(managerId, EnumMatchType.Ladder);
            response.Data.RefreshPoint =
                CacheFactory.MallCache.GetDirectPoint(EnumConsumeSourceType.RefreshLadderExchange, manager.RefreshTimes + 1);
            response.Data.AllEquipmentProperties =
                CacheFactory.LeagueCache.AnalysisProperties(manager.EquipmentProperties);
            if (LadderCore.Instance._ManagerMatchCD.ContainsKey(managerId))
            {
                response.Data.CDTick = ShareUtil.GetTimeTick(_ManagerMatchCD[managerId]);
            }
            else
            {
                response.Data.CDTick = ShareUtil.GetTimeTick(DateTime.Now);
            }
            return(response);
        }
Exemple #21
0
        CrosscrowdManagerEntity InnerGetManager(string siteId, Guid managerId, int crowdId, DateTime curTime)
        {
            var crowdManager = CrosscrowdManagerMgr.GetById(managerId);
            int domainId     = 1;

            if (crowdManager == null)
            {
                var manager = NbManagerMgr.GetById(managerId, siteId);
                if (manager == null)
                {
                    return(null);
                }
                //if (!ManagerUtil.CheckFunction(siteId, managerId, EnumOpenFunction.Crowd))
                //    return null;
                CrossSiteCache.Instance().TryGetDomainId(siteId, out domainId);
                crowdManager                  = new CrosscrowdManagerEntity();
                crowdManager.DomainId         = domainId;
                crowdManager.SiteId           = siteId;
                crowdManager.SiteName         = CacheFactory.FunctionAppCache.GetCrossZoneName(siteId);
                crowdManager.Name             = manager.Name;
                crowdManager.Logo             = manager.Logo;
                crowdManager.CrossCrowdId     = crowdId;
                crowdManager.Morale           = _initMorale;
                crowdManager.ManagerId        = managerId;
                crowdManager.RowTime          = curTime;
                crowdManager.UpdateTime       = curTime;
                crowdManager.ScoreUpdateTime  = curTime;
                crowdManager.ResurrectionTime = ShareUtil.BaseTime;
                crowdManager.NextMatchTime    = ShareUtil.BaseTime;
                crowdManager.Kpi              = ManagerUtil.GetKpi(managerId, siteId);
                CrosscrowdManagerMgr.Insert(crowdManager);
            }
            else if (crowdId > 0)
            {
                if (crowdManager.CrossCrowdId != crowdId)
                {
                    CrossSiteCache.Instance().TryGetDomainId(siteId, out domainId);
                    crowdManager.DomainId          = domainId;
                    crowdManager.CrossCrowdId      = crowdId;
                    crowdManager.KillNumber        = 0;
                    crowdManager.ByKillNumber      = 0;
                    crowdManager.Morale            = _initMorale;
                    crowdManager.Score             = 0;
                    crowdManager.ScoreUpdateTime   = curTime;
                    crowdManager.UpdateTime        = curTime;
                    crowdManager.WinningCount      = 0;
                    crowdManager.ResurrectionCount = 0;
                    crowdManager.ResurrectionAuto  = 0;
                    crowdManager.ClearCdCount      = 0;
                    crowdManager.Kpi = ManagerUtil.GetKpi(managerId, siteId);

                    CrosscrowdManagerMgr.Update(crowdManager);
                }
                else if (crowdManager.Morale <= 0)
                {
                    if (curTime >= crowdManager.ResurrectionTime)
                    {
                        crowdManager.Morale     = _initMorale;
                        crowdManager.UpdateTime = curTime;
                        crowdManager.ResurrectionAuto++;
                        CrosscrowdManagerMgr.Update(crowdManager);
                    }
                    else
                    {
                        crowdManager.Morale = 0;
                    }
                }
            }
            return(crowdManager);
        }
Exemple #22
0
        /// <summary>
        /// 360礼包
        /// </summary>
        /// <param name="manager"></param>
        /// <param name="packStr"></param>
        /// <param name="exchangeId"></param>
        /// <returns></returns>
        private ExchangeResponse Send360GoodsBay(NbManagerEntity manager, string packStr, string exchangeId, int type)
        {
            var response = new ExchangeResponse();
            var entity   = NbManagercommonpackageMgr.Select(manager.Idx);//公用字段1   为360礼包  字段2为888kkk礼包

            if (entity != null)
            {
                switch (type)
                {
                case 1:
                    var i       = entity.Common1;
                    var common1 = ConvertHelper.ConvertToInt(i);
                    if (common1 >= 1)
                    {
                        response.Code = (int)MessageCode.NbPrizeRepeat;
                        return(response);
                    }
                    else
                    {
                        entity.Common1 = "1";
                    }
                    break;


                case 2:
                    var i2      = entity.Common2;
                    var common2 = ConvertHelper.ConvertToInt(i2);
                    if (common2 >= 1)
                    {
                        response.Code = (int)MessageCode.NbPrizeRepeat;
                        return(response);
                    }
                    else
                    {
                        entity.Common2 = "1";
                    }
                    break;
                }
            }
            var            packId         = ConvertHelper.ConvertToInt(packStr);
            var            package        = ItemCore.Instance.GetPackage(manager.Idx, EnumTransactionType.ExchangeCodePrize);
            int            effectCoin     = 0;
            int            curValue       = 0;
            int            effectPoint    = 0;
            int            bindPoint      = 0;
            ExchangeEntity exchangeEntity = new ExchangeEntity();

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

            response.Code = (int)MallCore.Instance.UseNewPlayerPack(manager.Idx, packId, package, EnumCoinChargeSourceType.Exchange, ref manager, ref effectCoin,
                                                                    ref curValue, ref effectPoint, ref bindPoint, exchangeEntity);
            if (response.Code != (int)MessageCode.Success)
            {
                return(response);
            }
            try
            {
                using (var transactionManager = new TransactionManager(Dal.ConnectionFactory.Instance.GetDefault()))
                {
                    transactionManager.BeginTransaction();
                    response.Code = (int)MessageCode.Exception;


                    if (entity != null)
                    {
                        if (NbManagercommonpackageMgr.Update(entity, transactionManager.TransactionObject))
                        {
                            response.Code = (int)MessageCode.Success;
                        }
                    }
                    if (response.Code == (int)MessageCode.Success)
                    {
                        if (effectCoin > 0)
                        {
                            ManagerUtil.SaveManagerData(manager, null, transactionManager.TransactionObject);
                            ManagerUtil.SaveManagerAfter(manager);
                        }
                        if (package.Save(transactionManager.TransactionObject))
                        {
                            package.Shadow.Save();
                        }
                        else
                        {
                            response.Code = (int)MessageCode.ItemNoShadow;
                        }
                        if (effectPoint > 0)
                        {
                            response.Code = (int)PayCore.Instance.AddBonus(manager.Account, effectPoint,
                                                                           EnumChargeSourceType.ExchangePrize, exchangeId, transactionManager.TransactionObject);
                        }
                    }
                    if (response.Code == (int)MessageCode.Success)
                    {
                        transactionManager.Commit();
                    }
                    else
                    {
                        transactionManager.Rollback();
                    }
                }


                if (response.Code != 0)
                {
                    return(ResponseHelper.Create <ExchangeResponse>(response.Code));
                }
                exchangeEntity.ExchangeType = 1;
                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>(MessageCode.Exception));
            }



            return(response);
        }
Exemple #23
0
        /// <summary>
        /// 领取好友邀请奖励
        /// </summary>
        /// <param name="account"></param>
        /// <param name="managerId"></param>
        /// <param name="inviteCount"></param>
        /// <returns></returns>
        public InvitePrizeResponse InvitePrize(string account, Guid managerId, int inviteCount)
        {
            InvitePrizeResponse response = new InvitePrizeResponse();

            response.Data          = new InvitePrize();
            response.Data.ItemList = new List <ItemInfo>();
            try
            {
                NbManagerEntity manager = null;

                var entity = FriendInvitePrizeList(account, managerId);
                if (entity.IsInviteAccomplish || entity.NextInviteCount > 0)
                {
                    return(ResponseHelper.Create <InvitePrizeResponse>((int)MessageCode.ActiveNotPrize));
                }

                var package = ItemCore.Instance.GetPackage(managerId, EnumTransactionType.FriendInvite);
                if (package == null)
                {
                    return(ResponseHelper.Create <InvitePrizeResponse>((int)MessageCode.NbNoPackage));
                }
                MessageCode messCode = MessageCode.NbParameterError;
                FriendinvitePrizerecordEntity record = new FriendinvitePrizerecordEntity();
                record.Account    = account;
                record.UpdateTime = DateTime.Now;
                record.PrizeType  = 0;
                record.PrizeInfo  = entity.PrizeId.ToString();
                int coin = 0;
                foreach (var item in entity.ItemList)
                {
                    switch (item.PrizeType)
                    {
                    case 1:
                        coin = item.Count;
                        record.PrizeString += "1," + item.Count + "|";
                        break;

                    case 2:
                        messCode = package.AddItems(item.ItemCode, item.Count, 1, item.IsBinding, false);
                        if (messCode != MessageCode.Success)
                        {
                            return(ResponseHelper.Create <InvitePrizeResponse>((int)messCode));
                        }
                        record.PrizeString += item.ItemCode + "," + item.Count + "|";
                        break;

                    case 3:
                        var itemcode = CacheFactory.LotteryCache.LotteryByLib(item.ItemCode);
                        messCode = package.AddItems(itemcode, item.Count, 1, item.IsBinding, false);
                        if (messCode != MessageCode.Success)
                        {
                            return(ResponseHelper.Create <InvitePrizeResponse>((int)messCode));
                        }
                        record.PrizeString += itemcode + "," + item.Count + "|";
                        break;
                    }
                    response.Data.ItemList.Add(item);
                }
                record.PrizeString = record.PrizeString.Substring(0, record.PrizeString.Length - 1);
                using (var transactionManager = new TransactionManager(Dal.ConnectionFactory.Instance.GetDefault()))
                {
                    transactionManager.BeginTransaction();
                    messCode = SaveInvitePrize(manager, record, package, transactionManager.TransactionObject, coin, account);
                    if (messCode != MessageCode.Success)
                    {
                        transactionManager.Rollback();
                        return(ResponseHelper.Create <InvitePrizeResponse>((int)messCode));
                    }
                    transactionManager.Commit();
                    if (manager != null)
                    {
                        ManagerUtil.SaveManagerAfter(manager);
                    }
                    response.Data.BindPoint = PayCore.Instance.GetBindPoint(account);
                }
            }
            catch (Exception ex)
            {
                SystemlogMgr.Error("领取好友邀请奖励", ex);
                response.Code = (int)MessageCode.NbParameterError;
            }
            return(response);
        }
Exemple #24
0
        void BindData()
        {
            var accountData = Master.GetAccount();

            if (accountData == null)
            {
                Master.ShowMessage("请先选择经理.");
                return;
            }
            var manager = NbManagerMgr.GetById(accountData.ManagerId, accountData.ZoneId);

            if (manager == null)
            {
                Master.ShowMessage("获取经理信息失败.");
                return;
            }
            ClearData();
            lblCoin.Text         = manager.Coin.ToString();
            lblExp.Text          = manager.EXP.ToString();
            lblLevel.Text        = manager.Level.ToString();
            lblLogo.Text         = manager.Logo.ToString();
            lblName.Text         = manager.Name;
            lblReiki.Text        = manager.Reiki.ToString();
            lblSophisticate.Text = manager.Sophisticate.ToString();
            lblStatus.Text       = CacheDataHelper.Instance.GetEnumDescription("EnumManagerStatus", manager.Status);
            lblSubstitute.Text   = (manager.TeammemberMax - 11).ToString();
            lblVipLevel.Text     = manager.VipLevel.ToString();

            var payAccount = PayUserMgr.GetById(accountData.Account, accountData.ZoneId);

            if (payAccount != null)
            {
                lblCash.Text  = payAccount.TotalCash.ToString();
                lblPoint.Text = string.Format("{0}+{1}(赠送)={2}", payAccount.Point, payAccount.Bonus, payAccount.TotalPoint);
            }

            var user = NbUserMgr.GetById(accountData.Account, accountData.ZoneId);

            if (user != null)
            {
                lblLastLoginTime.Text = user.LastLoginTime.ToString(AdminMgr.TimeFormat);
                lblRegisterTime.Text  = user.RowTime.ToString(AdminMgr.TimeFormat);
                lblLoginday.Text      = user.ContinuingLoginDay.ToString();
            }
            var onlineEntity = OnlineInfoMgr.GetById(accountData.ManagerId, accountData.ZoneId);

            if (onlineEntity != null)
            {
                lblOnlineStatus.Text = onlineEntity.IsOnline ? "在线" : "不在线";
                var total  = onlineEntity.RealTotalMinutes;
                var day    = total / 1440;
                var hour   = (total % 1440) / 60;
                var minute = ((total % 1440) % 60);
                lblOnlineTotal.Text = string.Format("{0} 天 {1} 小时 {2} 分钟", day, hour, minute);
                lblOnlineCur.Text   = onlineEntity.TodayMinutes + " 分钟";
            }
            else
            {
                lblOnlineStatus.Text = "无记录";
            }
            var    solution     = NbSolutionMgr.GetById(accountData.ManagerId, accountData.ZoneId);
            string playerString = "";

            if (solution != null)
            {
                var formation = CacheFactory.FormationCache.GetFormation(solution.FormationId);
                lblSolution.Text = formation == null?solution.FormationId.ToString() : formation.Name;

                lblSolutionPlayer.Text = solution.PlayerString;
                lblSolutionSkill.Text  = solution.SkillString;
                playerString           = solution.PlayerString;
            }

            var managerExtra = NbManagerextraMgr.GetById(accountData.ManagerId, accountData.ZoneId);

            if (managerExtra != null)
            {
                ManagerUtil.CalCurrentStamina(managerExtra, manager.Level, manager.VipLevel);
                lblStamina.Text = managerExtra.Stamina.ToString();
            }

            var teammembers = TeammemberMgr.GetByManager(accountData.ManagerId, accountData.Mod, accountData.ZoneId);

            if (teammembers != null)
            {
                foreach (var teammember in teammembers)
                {
                    teammember.Name   = AdminCache.Instance.GetPlayerName(teammember.PlayerId);
                    teammember.IsMain = playerString.Contains(teammember.PlayerId.ToString());
                }
                datagrid1.DataSource = teammembers;
                datagrid1.DataBind();
            }

            var list = FriendinviteMgr.InviteManagerList(manager.Account, accountData.ZoneId);

            if (list != null)
            {
                var friendInviteString = "";
                foreach (var item in list)
                {
                    friendInviteString += item.Name + ",";
                }
                lblFriendInvite.Text = friendInviteString;
            }
        }
Exemple #25
0
 /// <summary>
 /// Delays the execution in the specified Miliseconds.
 /// This Method can be used to convert a Synchronous Method into an Asynchronous Method.
 /// </summary>
 /// <param name="miliseconds">Miliseconds to Delay the execution.</param>
 /// <returns>Task.</returns>
 public virtual async Task DelayTask(int miliseconds = 1)
 {
     await ManagerUtil.DelayTask(miliseconds);
 }
Exemple #26
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));
            }
        }
Exemple #27
0
        private async void GenerateScripts()
        {
            SchemaInfo schemaInfo = this.tvDbObjects.GetSchemaInfo();

            if (!this.Validate(schemaInfo))
            {
                return;
            }

            this.isBusy = true;
            this.btnGenerate.Enabled = false;

            DatabaseType dbType = this.useConnector ? this.dbConnectionProfile.DatabaseType : this.databaseType;

            DbInterpreterOption option = new DbInterpreterOption()
            {
                ScriptOutputMode       = GenerateScriptOutputMode.WriteToFile,
                SortObjectsByReference = true,
                GetTableAllObjects     = true
            };

            if (this.chkTreatBytesAsNull.Checked)
            {
                option.TreatBytesAsNullForReading   = true;
                option.TreatBytesAsNullForExecuting = true;
            }
            else
            {
                if (dbType == DatabaseType.Oracle)
                {
                    option.TreatBytesAsNullForReading   = true;
                    option.TreatBytesAsNullForExecuting = true;
                }
                else
                {
                    option.TreatBytesAsHexStringForFile = true;
                }
            }

            this.SetGenerateScriptOption(option);

            GenerateScriptMode scriptMode = this.GetGenerateScriptMode();

            if (scriptMode == GenerateScriptMode.None)
            {
                MessageBox.Show("Please specify the script mode.");
                return;
            }

            this.dbInterpreter = DbInterpreterHelper.GetDbInterpreter(dbType, this.connectionInfo, option);

            SchemaInfoFilter filter = new SchemaInfoFilter();

            SchemaInfoHelper.SetSchemaInfoFilterValues(filter, schemaInfo);

            try
            {
                schemaInfo = await this.dbInterpreter.GetSchemaInfoAsync(filter);

                this.dbInterpreter.Subscribe(this);

                GenerateScriptMode mode = GenerateScriptMode.None;

                DbScriptGenerator dbScriptGenerator = DbScriptGeneratorHelper.GetDbScriptGenerator(this.dbInterpreter);

                if (scriptMode.HasFlag(GenerateScriptMode.Schema))
                {
                    mode = GenerateScriptMode.Schema;
                    dbScriptGenerator.GenerateSchemaScripts(schemaInfo);
                }

                if (scriptMode.HasFlag(GenerateScriptMode.Data))
                {
                    mode = GenerateScriptMode.Data;
                    await dbScriptGenerator.GenerateDataScriptsAsync(schemaInfo);
                }

                this.isBusy = false;
                ManagerUtil.OpenInExplorer(dbScriptGenerator.GetScriptOutputFilePath(mode));

                MessageBox.Show(DONE, "Information", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            catch (Exception ex)
            {
                this.HandleException(ex);
            }

            this.btnGenerate.Enabled = true;
        }
Exemple #28
0
        private string SaveBuyPointShipmentsTx(NbManagerEntity manager, int point, int bonus,
                                               PayChargehistoryEntity payEntity, ManagerMonthcardEntity monthcardEntity, MailBuilder mail,
                                               ManagerChargenumberEntity buyRecord, DicMallitemEntity mallConfig, string zoneId)
        {
            if (point > 0 || bonus > 0)
            {
                var messCode1 = PayCore.Instance.AddPoint(payEntity.Account, point, bonus, EnumChargeSourceType.GmCharge,
                                                          payEntity.BillingId, null, zoneId);
                if (messCode1 != MessageCode.Success)
                {
                    return("增加钻石失败" + point + "," + bonus + "," + (int)messCode1);
                }
                PayChargehistoryMgr.Insert(payEntity, null, zoneId);
            }
            if (monthcardEntity != null)
            {
                if (monthcardEntity.BuyNumber == 1)
                {
                    if (!ManagerMonthcardMgr.Insert(monthcardEntity, null, zoneId))
                    {
                        return("月卡发送失败");
                    }
                }
                else
                {
                    if (!ManagerMonthcardMgr.Update(monthcardEntity, null, zoneId))
                    {
                        return("月卡发送失败");
                    }
                }
            }
            if (!mail.Save(zoneId))
            {
                return("邮件发送失败");
            }

            if (buyRecord.Idx == 0)
            {
                ManagerChargenumberMgr.Insert(buyRecord, null, zoneId);
            }
            else
            {
                ManagerChargenumberMgr.Update(buyRecord, null, zoneId);
            }
            try
            {
                if (manager != null)
                {
                    var curScore   = mallConfig.EffectValue * 10;
                    var vipManager = VipManagerMgr.GetById(manager.Idx, zoneId);
                    if (vipManager != null)
                    {
                        curScore         += vipManager.VipExp;
                        vipManager.VipExp = curScore;
                        VipManagerMgr.Update(vipManager, null, zoneId);
                    }
                    else
                    {
                        vipManager = new VipManagerEntity(manager.Idx, curScore, DateTime.Now, DateTime.Now,
                                                          DateTime.Now);
                        VipManagerMgr.Insert(vipManager, null, zoneId);
                    }

                    var newlevel = CacheFactory.VipdicCache.GetVipLevel(curScore);
                    if (newlevel > manager.VipLevel)
                    {
                        manager.VipLevel = newlevel;
                        ManagerUtil.SaveManagerData(manager, null, null, zoneId);
                    }
                }
            }
            catch (Exception ex)
            {
                SystemlogMgr.Error("ChargeUpVip", ex);
                return(ex.Message);
            }
            return("");
        }
Exemple #29
0
        /// <summary>
        /// 领取竞猜正确活动奖励
        /// </summary>
        /// <param name="managerId"></param>
        /// <param name="step"></param>
        /// <returns></returns>
        public EuropeGambleMatchResponse DrawPrize(Guid managerId, int step)
        {
            EuropeGambleMatchResponse response = new EuropeGambleMatchResponse();

            response.Data = new EuropeGambleMatch();
            try
            {
                var manager = ManagerCore.Instance.GetManager(managerId);
                if (manager == null)
                {
                    response.Code = (int)MessageCode.MissManager;
                    return(response);
                }
                var info      = GetMyGambleInfo(managerId);
                var prizeList = info.PrizeRecord.Split(',');
                if (prizeList.Length < step || prizeList[step - 1] == "0")
                {
                    response.Code = (int)MessageCode.TourNoPassPrize;
                    return(response);
                }
                if (prizeList[step - 1] == "2")
                {
                    response.Code = (int)MessageCode.NbPrizeRepeat;
                    return(response);
                }
                var prizeConfig = EuropeConfig.Instance.GetPrize(step);
                if (prizeConfig.Count <= 0)
                {
                    response.Code = (int)MessageCode.ActivityNoConfigPrize;
                    return(response);
                }
                ItemPackageFrame package = null;

                prizeList[step - 1] = "2";
                info.PrizeRecord    = String.Join(",", prizeList);
                info.UpdateTime     = DateTime.Now;
                int addPoint = 0;
                int addCoin  = 0;
                foreach (var prize in prizeConfig)
                {
                    switch (prize.PrizeType)
                    {
                    case 1:
                        addPoint += prize.PrizeCount;
                        break;

                    case 2:
                        addCoin += prize.PrizeCount;
                        break;

                    case 3:
                        if (package == null)
                        {
                            package = ItemCore.Instance.GetPackage(managerId,
                                                                   Entity.Enums.Shadow.EnumTransactionType.EuropeConfig);
                            if (package == null)
                            {
                                return(ResponseHelper.Create <EuropeGambleMatchResponse>(MessageCode.NbNoPackage));
                            }
                        }
                        package.AddItems(prize.PrizeCode, prize.PrizeCount);
                        break;
                    }
                }
                if (addCoin > 0)
                {
                    ManagerUtil.AddManagerData(manager, 0, addCoin, 0, EnumCoinChargeSourceType.Eruope,
                                               ShareUtil.GenerateComb().ToString());
                }

                using (var transactionManager = new TransactionManager(Dal.ConnectionFactory.Instance.GetDefault()))
                {
                    transactionManager.BeginTransaction();
                    var code = MessageCode.FailUpdate;
                    do
                    {
                        if (addPoint > 0)
                        {
                            code = PayCore.Instance.AddBonus(managerId, addPoint, EnumChargeSourceType.Europe,
                                                             ShareUtil.GenerateComb().ToString(), transactionManager.TransactionObject);
                            if (code != MessageCode.Success)
                            {
                                break;
                            }
                        }
                        if (addCoin > 0)
                        {
                            if (!ManagerUtil.SaveManagerData(manager, null, transactionManager.TransactionObject))
                            {
                                break;
                            }
                        }
                        if (package != null)
                        {
                            if (!package.Save(transactionManager.TransactionObject))
                            {
                                break;
                            }
                            package.Shadow.Save();
                        }
                        if (!EuropeGambleMgr.Update(info, transactionManager.TransactionObject))
                        {
                            break;
                        }
                        code = MessageCode.Success;
                    } while (false);

                    if (code != MessageCode.Success)
                    {
                        transactionManager.Rollback();
                        response.Code = (int)MessageCode.GamblePayError;
                        return(response);
                    }
                    transactionManager.Commit();
                    response.Data.Point = PayCore.Instance.GetPoint(managerId);
                }
            }
            catch (Exception ex)
            {
                SystemlogMgr.Error("领取竞猜正确活动奖励", ex);
                response.Code = (int)MessageCode.NbParameterError;
            }
            return(response);
        }