object IValueConverter.Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            RecruitType myEnum      = (RecruitType)value;
            string      description = GetEnumDescription(myEnum);

            return(description);
        }
Exemple #2
0
 /// <summary>
 /// 首次招募佣兵是否完成
 /// </summary>
 /// <param name="user"></param>
 /// <param name="rType"></param>
 /// <returns></returns>
 public static bool IsFirstRecruit(GameUser user, RecruitType rType)
 {
     if (rType == RecruitType.BaiLiTiaoYi && user.UserExtend != null && user.UserExtend.BaiLanse)
     {
         return(true);
     }
     if (rType == RecruitType.Golden && user.UserExtend != null && user.UserExtend.GoldenZise)
     {
         return(true);
     }
     return(false);
 }
Exemple #3
0
        public Recruitment(Recruitment recruitment) : this()
        {
            _recruitType   = recruitment.RecruitType;
            _company       = recruitment.Company;
            _startDate     = recruitment.StartDate;
            _endDate       = recruitment.EndDate;
            _site          = recruitment.Site;
            _screeningStep = recruitment.ScreeningStep;

            foreach (var question in recruitment.Questions)
            {
                Questions.Add(new Question(question));
            }
        }
        private string GetEnumDescription(RecruitType enumObj)
        {
            FieldInfo fieldInfo = enumObj.GetType().GetField(enumObj.ToString());

            object[] attribArray = fieldInfo.GetCustomAttributes(false);

            if (attribArray.Length == 0)
            {
                return(enumObj.ToString());
            }
            else
            {
                DescriptionAttribute attrib = attribArray[0] as DescriptionAttribute;
                return(attrib.Description);
            }
        }
Exemple #5
0
        /// <summary>
        /// 修改招募次数
        /// </summary>
        /// <param name="userID"></param>
        /// <param name="freenum"></param>
        /// <param name="type"></param>
        /// <returns></returns>
        public static void UpdateDailyRecruitNum(string userID, RecruitType type)
        {
            UserDailyRestrain dailyRestrain = new GameDataCacheSet <UserDailyRestrain>().FindKey(userID);

            if (dailyRestrain != null)
            {
                if (dailyRestrain.UserExtend == null)
                {
                    dailyRestrain.UserExtend = new DailyUserExtend();
                }
                if (dailyRestrain.RefreshDate.Date != DateTime.Now.Date)
                {
                    dailyRestrain.UserExtend.ShiLiTiaoYi = 0;
                    dailyRestrain.UserExtend.BaiLiTiaoYi = 0;
                    dailyRestrain.UserExtend.Golden      = 0;
                    dailyRestrain.RefreshDate            = DateTime.Now;
                }
                if (type == RecruitType.ShiLiTiaoYi)
                {
                    dailyRestrain.UserExtend.UpdateNotify(
                        obj =>
                    {
                        dailyRestrain.UserExtend.ShiLiTiaoYi = MathUtils.Addition(dailyRestrain.UserExtend.ShiLiTiaoYi, 1);
                        return(true);
                    });
                }
                else if (type == RecruitType.BaiLiTiaoYi)
                {
                    dailyRestrain.UserExtend.UpdateNotify(
                        obj =>
                    {
                        dailyRestrain.UserExtend.BaiLiTiaoYi = MathUtils.Addition(dailyRestrain.UserExtend.BaiLiTiaoYi, 1);
                        return(true);
                    });
                }
                else if (type == RecruitType.Golden)
                {
                    dailyRestrain.UserExtend.UpdateNotify(
                        obj =>
                    {
                        dailyRestrain.UserExtend.Golden = MathUtils.Addition(dailyRestrain.UserExtend.Golden, 1);
                        return(true);
                    });
                }
            }
        }
        /// <summary>
        /// 招募佣兵送魂魄
        /// </summary>
        /// <param name="userID"></param>
        public static string RecruitGeneral(string userID, RecruitType rtype)
        {
            string       festivalContent = string.Empty;
            FestivalInfo info            = GetInfo(FestivalType.RecruitGeneral);

            if (info != null && info.FestivalExtend != null && info.FestivalExtend.Recruit.Count > 0)
            {
                var recruitFest = info.FestivalExtend.Recruit.Find(s => s.Type == rtype);
                if (recruitFest != null)
                {
                    var generalList = new ShareCacheStruct <GeneralInfo>().FindAll(s => s.GeneralQuality == recruitFest.GeneralQuality);
                    if (generalList.Count > 0)
                    {
                        int index1 = RandomUtils.GetRandom(0, generalList.Count);
                        if (index1 > -1)
                        {
                            GeneralInfo generalInfo = generalList[index1];
                            if (generalInfo != null)
                            {
                                GeneralHelper.UpdateUserGeneral(userID, generalInfo, GeneralType.Soul, recruitFest.Num);
                                if (!string.IsNullOrEmpty(info.FestivalExtend.Desc))
                                {
                                    festivalContent = string.Format(info.FestivalExtend.Desc, generalInfo.GeneralName, recruitFest.Num);
                                }
                                return(festivalContent);
                            }
                        }
                    }
                    else if (recruitFest.GeneralID > 0)
                    {
                        GeneralInfo generalInfo =
                            new ShareCacheStruct <GeneralInfo>().FindKey(recruitFest.GeneralID);
                        if (generalInfo != null)
                        {
                            GeneralHelper.UpdateUserGeneral(userID, generalInfo, GeneralType.Soul, recruitFest.Num);
                            if (!string.IsNullOrEmpty(info.FestivalExtend.Desc))
                            {
                                festivalContent = string.Format(info.FestivalExtend.Desc, generalInfo.GeneralName, recruitFest.Num);
                            }
                            return(festivalContent);
                        }
                    }
                }
            }
            return(festivalContent);
        }
Exemple #7
0
        /// <summary>
        /// 招募剩余次数
        /// </summary>
        /// <param name="userID"></param>
        /// <param name="freenum"></param>
        /// <param name="type"></param>
        /// <returns></returns>
        public static int SurplusNum(string userID, int freenum, RecruitType type)
        {
            int surNum = 0;
            UserDailyRestrain dailyRestrain = new GameDataCacheSet <UserDailyRestrain>().FindKey(userID);

            if (dailyRestrain != null && dailyRestrain.RefreshDate.Date == DateTime.Now.Date && dailyRestrain.UserExtend != null)
            {
                if (type == RecruitType.ShiLiTiaoYi)
                {
                    surNum = dailyRestrain.UserExtend.ShiLiTiaoYi;
                }
                else if (type == RecruitType.BaiLiTiaoYi)
                {
                    surNum = dailyRestrain.UserExtend.BaiLiTiaoYi;
                }
                else if (type == RecruitType.Golden)
                {
                    surNum = dailyRestrain.UserExtend.Golden;
                }
            }
            return(MathUtils.Subtraction(freenum, surNum));
        }
Exemple #8
0
        /// <summary>
        /// 是否有冷却时间
        /// </summary>
        /// <param name="userID"></param>
        /// <param name="recruitRule"></param>
        /// <returns></returns>
        public static bool GeneralRecruitColdTime(string userID, RecruitType recruitType)
        {
            QueueType queueType = QueueType.ShiLiTiaoYi;

            if (recruitType == RecruitType.ShiLiTiaoYi)
            {
                queueType = QueueType.ShiLiTiaoYi;
            }
            else if (recruitType == RecruitType.BaiLiTiaoYi)
            {
                queueType = QueueType.BaiLiTiaoYi;
            }
            else if (recruitType == RecruitType.Golden)
            {
                queueType = QueueType.Golden;
            }
            UserQueue userQueue = new GameDataCacheSet <UserQueue>().Find(userID, s => s.QueueType == queueType);

            if (userQueue != null && userQueue.DoRefresh() > 0)
            {
                return(true);
            }
            return(false);
        }
Exemple #9
0
        /// <summary>
        /// 完成首次招募佣兵
        /// </summary>
        /// <param name="user"></param>
        /// <param name="rType"></param>
        public static void FirstRecruitComplete(GameUser user, RecruitType rType)
        {
            if (user.UserExtend == null)
            {
                user.UserExtend = new GameUserExtend();
            }
            if (rType == RecruitType.BaiLiTiaoYi)
            {
                user.UserExtend.UpdateNotify(obj =>
                {
                    user.UserExtend.BaiLanse = true;
                    return(true);
                });
            }

            if (rType == RecruitType.Golden)
            {
                user.UserExtend.UpdateNotify(obj =>
                {
                    user.UserExtend.GoldenZise = true;
                    return(true);
                });
            }
        }
Exemple #10
0
        /// <summary>
        /// 队列剩余时间
        /// </summary>
        /// <param name="userID"></param>
        /// <param name="type"></param>
        /// <returns></returns>
        public static int UserQueueCodeTime(string userID, RecruitType type)
        {
            QueueType queueType = QueueType.Nomal;

            if (type == RecruitType.ShiLiTiaoYi)
            {
                queueType = QueueType.ShiLiTiaoYi;
            }
            else if (type == RecruitType.BaiLiTiaoYi)
            {
                queueType = QueueType.BaiLiTiaoYi;
            }
            else if (type == RecruitType.Golden)
            {
                queueType = QueueType.Golden;
            }
            UserQueue userQueue = new GameDataCacheSet <UserQueue>().Find(userID, s => s.QueueType == queueType);

            if (userQueue != null)
            {
                return(userQueue.DoRefresh());
            }
            return(0);
        }
Exemple #11
0
        /// <summary>
        /// 完成首次招募佣兵
        /// </summary>
        /// <param name="user"></param>
        /// <param name="rType"></param>
        public static void FirstRecruitComplete(GameUser user, RecruitType rType)
        {
            if (user.UserExtend == null)
            {
                user.UserExtend = new GameUserExtend();
            }
            if (rType == RecruitType.BaiLiTiaoYi)
            {
                user.UserExtend.UpdateNotify(obj =>
                {
                    user.UserExtend.BaiLanse = true;
                    return true;
                });
            }

            if (rType == RecruitType.Golden)
            {
                user.UserExtend.UpdateNotify(obj =>
                {
                    user.UserExtend.GoldenZise = true;
                    return true;
                });
            }
        }
Exemple #12
0
 /// <summary>
 /// 首次招募佣兵是否完成
 /// </summary>
 /// <param name="user"></param>
 /// <param name="rType"></param>
 /// <returns></returns>
 public static bool IsFirstRecruit(GameUser user, RecruitType rType)
 {
     if (rType == RecruitType.BaiLiTiaoYi && user.UserExtend != null && user.UserExtend.BaiLanse)
     {
         return true;
     }
     if (rType == RecruitType.Golden && user.UserExtend != null && user.UserExtend.GoldenZise)
     {
         return true;
     }
     return false;
 }
Exemple #13
0
 /// <summary>
 /// 队列剩余时间
 /// </summary>
 /// <param name="userID"></param>
 /// <param name="type"></param>
 /// <returns></returns>
 public static int UserQueueCodeTime(string userID, RecruitType type)
 {
     QueueType queueType = QueueType.Nomal;
     if (type == RecruitType.ShiLiTiaoYi)
     {
         queueType = QueueType.ShiLiTiaoYi;
     }
     else if (type == RecruitType.BaiLiTiaoYi)
     {
         queueType = QueueType.BaiLiTiaoYi;
     }
     else if (type == RecruitType.Golden)
     {
         queueType = QueueType.Golden;
     }
     UserQueue userQueue = new PersonalCacheStruct<UserQueue>().Find(userID, s => s.QueueType == queueType);
     if (userQueue != null)
     {
         return userQueue.DoRefresh();
     }
     return 0;
 }
Exemple #14
0
 /// <summary>
 /// 是否有冷却时间
 /// </summary>
 /// <param name="userID"></param>
 /// <param name="recruitRule"></param>
 /// <returns></returns>
 public static bool GeneralRecruitColdTime(string userID, RecruitType recruitType)
 {
     QueueType queueType = QueueType.ShiLiTiaoYi;
     if (recruitType == RecruitType.ShiLiTiaoYi)
     {
         queueType = QueueType.ShiLiTiaoYi;
     }
     else if (recruitType == RecruitType.BaiLiTiaoYi)
     {
         queueType = QueueType.BaiLiTiaoYi;
     }
     else if (recruitType == RecruitType.Golden)
     {
         queueType = QueueType.Golden;
     }
     UserQueue userQueue = new PersonalCacheStruct<UserQueue>().Find(userID, s => s.QueueType == queueType);
     if (userQueue != null && userQueue.DoRefresh() > 0)
     {
         return true;
     }
     return false;
 }
Exemple #15
0
        /// <summary>
        /// 修改招募次数
        /// </summary>
        /// <param name="userID"></param>
        /// <param name="freenum"></param>
        /// <param name="type"></param>
        /// <returns></returns>
        public static void UpdateDailyRecruitNum(string userID, RecruitType type)
        {
            UserDailyRestrain dailyRestrain = new PersonalCacheStruct<UserDailyRestrain>().FindKey(userID);
            if (dailyRestrain != null)
            {
                if (dailyRestrain.UserExtend == null)
                {
                    dailyRestrain.UserExtend = new DailyUserExtend();
                }
                if (dailyRestrain.RefreshDate.Date != DateTime.Now.Date)
                {
                    dailyRestrain.UserExtend.ShiLiTiaoYi = 0;
                    dailyRestrain.UserExtend.BaiLiTiaoYi = 0;
                    dailyRestrain.UserExtend.Golden = 0;
                    dailyRestrain.RefreshDate = DateTime.Now;
                }
                if (type == RecruitType.ShiLiTiaoYi)
                {
                    dailyRestrain.UserExtend.UpdateNotify(
                        obj =>
                        {
                            dailyRestrain.UserExtend.ShiLiTiaoYi = MathUtils.Addition(dailyRestrain.UserExtend.ShiLiTiaoYi, 1);
                            return true;
                        });

                }
                else if (type == RecruitType.BaiLiTiaoYi)
                {
                    dailyRestrain.UserExtend.UpdateNotify(
                       obj =>
                       {
                           dailyRestrain.UserExtend.BaiLiTiaoYi = MathUtils.Addition(dailyRestrain.UserExtend.BaiLiTiaoYi, 1);
                           return true;
                       });
                }
                else if (type == RecruitType.Golden)
                {
                    dailyRestrain.UserExtend.UpdateNotify(
                       obj =>
                       {
                           dailyRestrain.UserExtend.Golden = MathUtils.Addition(dailyRestrain.UserExtend.Golden, 1);
                           return true;
                       });
                }
            }
        }
Exemple #16
0
 /// <summary>
 /// 招募剩余次数
 /// </summary>
 /// <param name="userID"></param>
 /// <param name="freenum"></param>
 /// <param name="type"></param>
 /// <returns></returns>
 public static int SurplusNum(string userID, int freenum, RecruitType type)
 {
     int surNum = 0;
     UserDailyRestrain dailyRestrain = new PersonalCacheStruct<UserDailyRestrain>().FindKey(userID);
     if (dailyRestrain != null && dailyRestrain.RefreshDate.Date == DateTime.Now.Date && dailyRestrain.UserExtend != null)
     {
         if (type == RecruitType.ShiLiTiaoYi)
         {
             surNum = dailyRestrain.UserExtend.ShiLiTiaoYi;
         }
         else if (type == RecruitType.BaiLiTiaoYi)
         {
             surNum = dailyRestrain.UserExtend.BaiLiTiaoYi;
         }
         else if (type == RecruitType.Golden)
         {
             surNum = dailyRestrain.UserExtend.Golden;
         }
     }
     return MathUtils.Subtraction(freenum, surNum);
 }
Exemple #17
0
 /// <summary>
 /// 招募佣兵送魂魄
 /// </summary>
 /// <param name="userID"></param>
 public static string RecruitGeneral(string userID, RecruitType rtype)
 {
     string festivalContent = string.Empty;
     FestivalInfo info = GetInfo(FestivalType.RecruitGeneral);
     if (info != null && info.FestivalExtend != null && info.FestivalExtend.Recruit.Count > 0)
     {
         var recruitFest = info.FestivalExtend.Recruit.Find(s => s.Type == rtype);
         if (recruitFest != null)
         {
             var generalList = new ConfigCacheSet<GeneralInfo>().FindAll(s => s.GeneralQuality == recruitFest.GeneralQuality);
             if (generalList.Count > 0)
             {
                 int index1 = RandomUtils.GetRandom(0, generalList.Count);
                 if (index1 > -1)
                 {
                     GeneralInfo generalInfo = generalList[index1];
                     if (generalInfo != null)
                     {
                         GeneralHelper.UpdateUserGeneral(userID, generalInfo, GeneralType.Soul, recruitFest.Num);
                         if (!string.IsNullOrEmpty(info.FestivalExtend.Desc))
                         {
                             festivalContent = string.Format(info.FestivalExtend.Desc, generalInfo.GeneralName, recruitFest.Num);
                         }
                         return festivalContent;
                     }
                 }
             }
             else if (recruitFest.GeneralID > 0)
             {
                 GeneralInfo generalInfo =
                     new ConfigCacheSet<GeneralInfo>().FindKey(recruitFest.GeneralID);
                 if (generalInfo != null)
                 {
                     GeneralHelper.UpdateUserGeneral(userID, generalInfo, GeneralType.Soul, recruitFest.Num);
                     if (!string.IsNullOrEmpty(info.FestivalExtend.Desc))
                     {
                         festivalContent = string.Format(info.FestivalExtend.Desc, generalInfo.GeneralName, recruitFest.Num);
                     }
                     return festivalContent;
                 }
             }
         }
     }
     return festivalContent;
 }