private void SaveActivityConditionInfo() { lock (this.Mutex) { using (Dictionary <int, int> .Enumerator enumerator = this.ActConditionInfoDict.GetEnumerator()) { while (enumerator.MoveNext()) { KeyValuePair <int, int> kvp = enumerator.Current; SpecPConditionConfig conConfig = this.SpecPConditionList.Find(delegate(SpecPConditionConfig x) { int groupID = x.GroupID; KeyValuePair <int, int> kvp2 = kvp; return(groupID == kvp2.Key); }); if (null != conConfig) { string huoDongKeyStr = string.Format("{0}_{1}_{2}", conConfig.FromDate.ToString("yyyy-MM-dd HH:mm:ss"), conConfig.ToDate.ToString("yyyy-MM-dd HH:mm:ss"), conConfig.GroupID); int specPriorityActivityType = this.SpecPriorityActivityType; string huoDongKeyStr2 = huoDongKeyStr; string userid = "0"; KeyValuePair <int, int> kvp3 = kvp; this.UpdateHuodongAwardUserHist(specPriorityActivityType, huoDongKeyStr2, userid, kvp3.Value); } } } } }
public void InitConfig() { try { lock (this.Mutex) { string fileName = "Config/TeQuanTiaoJian.xml"; string fullPathFileName = KuaFuServerManager.GetResourcePath(fileName, KuaFuServerManager.ResourcePathTypes.GameRes); this.SpecPConditionList.Clear(); XElement xml = ConfigHelper.Load(fullPathFileName); IEnumerable <XElement> xmlItems = xml.Elements(); foreach (XElement xmlItem in xmlItems) { SpecPConditionConfig myData = new SpecPConditionConfig(); myData.GroupID = (int)ConfigHelper.GetElementAttributeValueLong(xmlItem, "ID", 0L); string FromDate = ConfigHelper.GetElementAttributeValue(xmlItem, "KaiQiShiJian", ""); if (!string.IsNullOrEmpty(FromDate)) { myData.FromDate = DateTime.Parse(FromDate); } else { myData.FromDate = DateTime.Parse("2008-08-08 08:08:08"); } string ToDate = ConfigHelper.GetElementAttributeValue(xmlItem, "JieShuShiJian", ""); if (!string.IsNullOrEmpty(ToDate)) { myData.ToDate = DateTime.Parse(ToDate); } else { myData.ToDate = DateTime.Parse("2028-08-08 08:08:08"); } myData.ConditionType = (SpecPConditionType)ConfigHelper.GetElementAttributeValueLong(xmlItem, "TiaoJianLeiXing", 0L); this.SpecPConditionList.Add(myData); } } } catch (Exception ex) { LogManager.WriteExceptionUseCache(ex.ToString()); } }
private void InitActivityConditionInfo(DateTime now, bool launch = false) { lock (this.Mutex) { List <SpecPConditionConfig> specpList = this.CalSpecPConditionListByNow(now); List <int> removeList = new List <int>(); using (Dictionary <int, int> .Enumerator enumerator = this.ActConditionInfoDict.GetEnumerator()) { while (enumerator.MoveNext()) { KeyValuePair <int, int> kvp = enumerator.Current; if (!specpList.Exists(delegate(SpecPConditionConfig x) { int groupID = x.GroupID; KeyValuePair <int, int> kvp2 = kvp; return(groupID == kvp2.Key); })) { List <int> list = removeList; KeyValuePair <int, int> kvp3 = kvp; list.Add(kvp3.Key); } } } foreach (int key in removeList) { this.ActConditionInfoDict.Remove(key); } foreach (SpecPConditionConfig item in specpList) { if (!this.ActConditionInfoDict.ContainsKey(item.GroupID)) { this.ActConditionInfoDict[item.GroupID] = 0; } } if (launch) { Dictionary <int, int> TempConditionInfoDict = new Dictionary <int, int>(this.ActConditionInfoDict); using (Dictionary <int, int> .Enumerator enumerator = TempConditionInfoDict.GetEnumerator()) { while (enumerator.MoveNext()) { KeyValuePair <int, int> kvp = enumerator.Current; SpecPConditionConfig conConfig = specpList.Find(delegate(SpecPConditionConfig x) { int groupID = x.GroupID; KeyValuePair <int, int> kvp4 = kvp; return(groupID == kvp4.Key); }); if (null != conConfig) { string huoDongKeyStr = string.Format("{0}_{1}_{2}", conConfig.FromDate.ToString("yyyy-MM-dd HH:mm:ss"), conConfig.ToDate.ToString("yyyy-MM-dd HH:mm:ss"), conConfig.GroupID); long hasgettimes = this.QueryHuodongAwardUserHist(this.SpecPriorityActivityType, huoDongKeyStr, "0"); Dictionary <int, int> actConditionInfoDict = this.ActConditionInfoDict; KeyValuePair <int, int> kvp3 = kvp; actConditionInfoDict[kvp3.Key] = (int)hasgettimes; } } } } } }