/// <summary> /// 更新奖项设置 /// </summary> /// <param name="nRankId"></param> /// <param name="m_rank"></param> /// <returns></returns> public bool UpdateRankSet(int nRankId, Rank m_rank) { if (m_rank.RankName == string.Empty || m_rank.RankMax < 0) { Loger.Debug(" --- update rankSet error : rankName is null or rankMax < 0 --- "); return false; } if (!mapRank.ContainsKey(nRankId)) { Loger.Debug(" --- update rankSet error : mapRank not cantains this id : " + nRankId+" --- "); return false; } mapRank[nRankId] = m_rank; Loger.Serialize(Config.PathRank, mapRank); return true; }
/// <summary> /// 获取指定的奖项设置 /// </summary> /// <param name="nRankid"></param> /// <param name="bExist"></param> /// <returns></returns> public Rank GetRankSet(int nRankid,out bool bExist) { Rank m_rank = new Rank(); bExist = false; if (!mapRank.ContainsKey(nRankid)) { bExist = false; return m_rank; } else { bExist = true; m_rank = mapRank[nRankid]; return m_rank; } }
/// <summary> /// 添加奖项设置 /// </summary> /// <param name="m_rank"></param> /// <returns></returns> public bool AddRankSet(Rank m_rank,out int nRankId) { nRankId = -1; if (m_rank.RankName == string.Empty || m_rank.RankMax < 0) { Loger.Debug(" --- add rankSet error : rankName is null or rankMax < 0 --- "); return false; } #region 判断是否已存在 int nKey = 0; if (mapRank.Count > 0) { foreach (var data in mapRank) { if (data.Key > nKey) { nKey = data.Key; } if (data.Value.RankName == m_rank.RankName) { Loger.Debug(" --- add rankSet error : mapRank has cantains this name : " + m_rank.RankName + " --- "); return false; } } } nKey++; #endregion if (!mapRank.ContainsKey(nKey)) { mapRank.Add(nKey, m_rank); nRankId = nKey; Loger.Serialize(Config.PathRank, mapRank); Loger.Debug(" --- add rankSet successed. name : " + m_rank.RankName + " --- "); return true; } else { Loger.Debug(" --- add rankSet error : mapRank has cantains this name : " + m_rank.RankName + " --- . "); return false; } }
/// <summary> /// 通过获奖人获取对应奖项 /// </summary> /// <param name="nPersonId"></param> /// <param name="bExist"></param> /// <returns></returns> public Rank GetRankByPersonId(int nPersonId,out bool bExist) { bExist = false; int nRankId = 0; Dictionary<int, List<int>> _mapAllPrize = new Dictionary<int, List<int>>(mapPrize); foreach (var data in _mapAllPrize) { if (data.Value.Contains(nPersonId)) { mapPrize[data.Key].Remove(nPersonId); bExist = true; nRankId = data.Key; } } Rank _rank = new Rank(); _rank = GetRankSet(nRankId,out bExist); return _rank; }
private void btnUpdateRanSet_Click(object sender, EventArgs e) { bool bRet = false; try { foreach (DataGridViewRow row in dgvRankSet.Rows) { if (row.Cells["RankName"].Value == null) continue; //MessageBox.Show("遍历:" + row.Cells["RankName"].Value.ToString()); if (row.Cells["RankId"].Value != null ) { Rank data = new Rank(); data.RankId = Convert.ToInt32(row.Cells["RankId"].Value); data.RankName = row.Cells["RankName"].Value.ToString(); data.RankMax = Convert.ToInt32(row.Cells["RankMax"].Value); data.RankPrize = row.Cells["RankPrize"].Value.ToString(); if (!Common.GlobalPrizeSystem.UpdateRankSet(data.RankId, data)) { bRet = false; // MessageBox.Show("更新失败!" + data.RankId); } else { bRet = true; // MessageBox.Show("更新成功!" + data.RankId); } } else { Rank data = new Rank(); data.RankName = row.Cells["RankName"].Value.ToString(); data.RankMax = Convert.ToInt32(row.Cells["RankMax"].Value.ToString()); data.RankPrize = row.Cells["RankPrize"].Value.ToString(); int nAddRankId = -1; if (!Common.GlobalPrizeSystem.AddRankSet(data, out nAddRankId)) { bRet = false; //MessageBox.Show("添加失败!" + data.RankId); } else { if (nAddRankId > -1) { bRet = true; // MessageBox.Show("添加成功!" + data.RankId); } } } } } catch (Exception ex) { MessageBox.Show("格式不正确!"); return; } if (bRet) { MessageBox.Show("保存成功!"); } else { MessageBox.Show("保存失败!"); } Initialize(); }