private void TryUpdateLatestWeekScore(WeekDetails week, int points) { WeekScore weekScore = DataService.GetHighestWeekScore(week.Id); if (weekScore == null) { weekScore = new WeekScore() { Id = week.Id, Points = points, Year = week.Year, Week = week.Nr, UserId = User.Id }; DataService.AddWeekHighScore(weekScore); } else { if (weekScore.Points >= points) { Debug.Log("weekScore: " + weekScore.Points); } else { weekScore.Points = points; DataService.UpdateWeekHighScore(weekScore); } } }
//查询特定人的周报 public static DataTable getWeekScore(int emid) { Query q = WeekScore.Query(); q.AddWhere(WeekScore.Columns.EmployeeId, emid); return(q.ExecuteDataSet().Tables[0]); }
/// <summary> /// 获得分页列表,无论是否是缓存实体都从数据库直接拿取数据 /// </summary> /// <param name="pPageIndex">页数</param> /// <param name="pPageSize">每页列表</param> /// <param name="pOrderBy">排序</param> /// <param name="pSortExpression">排序字段</param> /// <param name="pRecordCount">列表行数</param> /// <returns>数据分页</returns> public static List <WeekScoreInfo> GetPagedList(int pPageIndex, int pPageSize, SortDirection pOrderBy, string pSortExpression, out int pRecordCount) { if (pPageIndex <= 1) { pPageIndex = 1; } List <WeekScoreInfo> list = new List <WeekScoreInfo>(); Query q = WeekScore.CreateQuery(); q.PageIndex = pPageIndex; q.PageSize = pPageSize; q.ORDER_BY(pSortExpression, pOrderBy.ToString()); WeekScoreCollection collection = new WeekScoreCollection(); collection.LoadAndCloseReader(q.ExecuteReader()); foreach (WeekScore weekScore in collection) { WeekScoreInfo weekScoreInfo = new WeekScoreInfo(); LoadFromDAL(weekScoreInfo, weekScore); list.Add(weekScoreInfo); } pRecordCount = q.GetRecordCount(); return(list); }
//查询指定Id的周报 public static DataTable getWk(int wkid) { Query q = WeekScore.Query(); q.AddWhere(WeekScore.Columns.WeekScoreId, wkid); return(q.ExecuteDataSet().Tables[0]); }
//数据持久化 internal static void SaveToDb(WeekScoreInfo pWeekScoreInfo, WeekScore pWeekScore, bool pIsNew) { pWeekScore.WeekScoreId = pWeekScoreInfo.weekScoreId; pWeekScore.WeekScoreNum = pWeekScoreInfo.weekScoreNum; pWeekScore.IsSubmit = pWeekScoreInfo.isSubmit; pWeekScore.EmployeeId = pWeekScoreInfo.employeeId; pWeekScore.TotalScore = pWeekScoreInfo.totalScore; pWeekScore.IsNew = pIsNew; string UserName = SubsonicHelper.GetUserName(); try { pWeekScore.Save(UserName); } catch (Exception ex) { LogManager.getInstance().getLogger(typeof(WeekScoreInfo)).Error(ex); if (ex.Message.Contains("插入重复键")) //违反了唯一键 { throw new AppException("此对象已经存在"); //此处等待优化可以从唯一约束中直接取出提示来,如果没有的话,默认为原始的出错提示 } throw new AppException("保存失败"); } pWeekScoreInfo.weekScoreId = pWeekScore.WeekScoreId; //如果缓存存在,更新缓存 if (CachedEntityCommander.IsTypeRegistered(typeof(WeekScoreInfo))) { ResetCache(); } }
//从后台获取数据 internal static void LoadFromDAL(WeekScoreInfo pWeekScoreInfo, WeekScore pWeekScore) { pWeekScoreInfo.weekScoreId = pWeekScore.WeekScoreId; pWeekScoreInfo.weekScoreNum = pWeekScore.WeekScoreNum; pWeekScoreInfo.isSubmit = pWeekScore.IsSubmit; pWeekScoreInfo.employeeId = pWeekScore.EmployeeId; pWeekScoreInfo.totalScore = pWeekScore.TotalScore; pWeekScoreInfo.Loaded = true; }
public static void DelDaysOfWk(int wkid) { Query q = DayScore.Query(); q.AddWhere(DayScore.Columns.WeekScoreId, wkid); q.QueryType = QueryType.Delete; q.Execute(); Query s = WeekScore.Query(); s.AddWhere(WeekScore.Columns.WeekScoreId, wkid); s.QueryType = QueryType.Delete; s.Execute(); }
/// <summary> /// 保存 /// </summary> public override void Save() { if (!m_Loaded) //新增 { WeekScore weekScore = new WeekScore(); SaveToDb(this, weekScore, true); } else //修改 { WeekScore weekScore = new WeekScore(weekScoreId); if (weekScore.IsNew) { throw new AppException("该数据已经不存在了"); } SaveToDb(this, weekScore, false); } }
public void Process() { int min = WeekScore.Keys.Min(); int max = WeekScore.Keys.Max(); for (int i = 0; i < min; i++) { WeekScore.Add(i, 0); } for (int i = min + 1; i < max; i++) { if (!WeekScore.ContainsKey(i)) { WeekScore.Add(i, -1); } } }
/// <summary> /// 删除 /// </summary> /// <returns>是否成功</returns> public override void Delete() { if (!m_Loaded) { throw new AppException("尚未初始化"); } bool result = (WeekScore.Delete(WeekScoreId) == 1); //更新缓存 if (result && CachedEntityCommander.IsTypeRegistered(typeof(WeekScoreInfo))) { ResetCache(); } if (!result) { throw new AppException("删除失败,数据可能被删除"); } }
private void LoadFromId(int weekScoreId) { if (CachedEntityCommander.IsTypeRegistered(typeof(WeekScoreInfo))) { WeekScoreInfo weekScoreInfo = Find(GetList(), weekScoreId); if (weekScoreInfo == null) { throw new AppException("未能在缓存中找到相应的键值对象"); } Copy(weekScoreInfo, this); } else { WeekScore weekScore = new WeekScore(weekScoreId); if (weekScore.IsNew) { throw new AppException("尚未初始化"); } LoadFromDAL(this, weekScore); } }
/// <summary> /// 保存 /// </summary> public override void Save() { if(!m_Loaded)//新增 { WeekScore weekScore=new WeekScore(); SaveToDb(this, weekScore,true); } else//修改 { WeekScore weekScore=new WeekScore(weekScoreId); if(weekScore.IsNew) throw new AppException("该数据已经不存在了"); SaveToDb(this, weekScore,false); } }
//删除指定Id的周报 public static void DelWeekScore(int wkid) { WeekScore.Delete(wkid); }
//数据持久化 internal static void SaveToDb(WeekScoreInfo pWeekScoreInfo, WeekScore pWeekScore,bool pIsNew) { pWeekScore.WeekScoreId = pWeekScoreInfo.weekScoreId; pWeekScore.WeekScoreNum = pWeekScoreInfo.weekScoreNum; pWeekScore.IsSubmit = pWeekScoreInfo.isSubmit; pWeekScore.EmployeeId = pWeekScoreInfo.employeeId; pWeekScore.TotalScore = pWeekScoreInfo.totalScore; pWeekScore.IsNew=pIsNew; string UserName = SubsonicHelper.GetUserName(); try { pWeekScore.Save(UserName); } catch(Exception ex) { LogManager.getInstance().getLogger(typeof(WeekScoreInfo)).Error(ex); if(ex.Message.Contains("插入重复键"))//违反了唯一键 { throw new AppException("此对象已经存在");//此处等待优化可以从唯一约束中直接取出提示来,如果没有的话,默认为原始的出错提示 } throw new AppException("保存失败"); } pWeekScoreInfo.weekScoreId = pWeekScore.WeekScoreId; //如果缓存存在,更新缓存 if (CachedEntityCommander.IsTypeRegistered(typeof(WeekScoreInfo))) { ResetCache(); } }
private void LoadFromId(int weekScoreId) { if (CachedEntityCommander.IsTypeRegistered(typeof(WeekScoreInfo))) { WeekScoreInfo weekScoreInfo=Find(GetList(), weekScoreId); if(weekScoreInfo==null) throw new AppException("未能在缓存中找到相应的键值对象"); Copy(weekScoreInfo, this); } else { WeekScore weekScore=new WeekScore( weekScoreId); if(weekScore.IsNew) throw new AppException("尚未初始化"); LoadFromDAL(this, weekScore); } }
internal WeekScore GetHighestWeekScore(int weekId) { WeekScore weekScore = _connection.Table <WeekScore>().FirstOrDefault(ws => ws.Id == weekId); return(weekScore); }
internal void AddWeekHighScore(WeekScore weekScore) { _connection.Insert(weekScore); }
internal void UpdateWeekHighScore(WeekScore weekScore) { int rowsAffected = _connection.Update(weekScore); Debug.Log("(UPDATE WeekScore) rowsAffected : " + rowsAffected); }
//从后台获取数据 internal static void LoadFromDAL(WeekScoreInfo pWeekScoreInfo, WeekScore pWeekScore) { pWeekScoreInfo.weekScoreId = pWeekScore.WeekScoreId; pWeekScoreInfo.weekScoreNum = pWeekScore.WeekScoreNum; pWeekScoreInfo.isSubmit = pWeekScore.IsSubmit; pWeekScoreInfo.employeeId = pWeekScore.EmployeeId; pWeekScoreInfo.totalScore = pWeekScore.TotalScore; pWeekScoreInfo.Loaded=true; }