Example #1
0
    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);
            }
        }
    }
Example #2
0
        //查询特定人的周报
        public static DataTable getWeekScore(int emid)
        {
            Query q = WeekScore.Query();

            q.AddWhere(WeekScore.Columns.EmployeeId, emid);
            return(q.ExecuteDataSet().Tables[0]);
        }
Example #3
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);
        }
Example #4
0
        //查询指定Id的周报
        public static DataTable getWk(int wkid)
        {
            Query q = WeekScore.Query();

            q.AddWhere(WeekScore.Columns.WeekScoreId, wkid);
            return(q.ExecuteDataSet().Tables[0]);
        }
Example #5
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();
            }
        }
Example #6
0
 //从后台获取数据
 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;
 }
Example #7
0
        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();
        }
Example #8
0
 /// <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);
     }
 }
Example #9
0
    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);
            }
        }
    }
Example #10
0
        /// <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("删除失败,数据可能被删除");
            }
        }
Example #11
0
 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);
     }
 }
Example #12
0
 /// <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);
     }
 }
Example #13
0
 //删除指定Id的周报
 public static void DelWeekScore(int wkid)
 {
     WeekScore.Delete(wkid);
 }
Example #14
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();
     }
 }
Example #15
0
 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);
     }
 }
Example #16
0
    internal WeekScore GetHighestWeekScore(int weekId)
    {
        WeekScore weekScore = _connection.Table <WeekScore>().FirstOrDefault(ws => ws.Id == weekId);

        return(weekScore);
    }
Example #17
0
 internal void AddWeekHighScore(WeekScore weekScore)
 {
     _connection.Insert(weekScore);
 }
Example #18
0
    internal void UpdateWeekHighScore(WeekScore weekScore)
    {
        int rowsAffected = _connection.Update(weekScore);

        Debug.Log("(UPDATE WeekScore) rowsAffected : " + rowsAffected);
    }
Example #19
0
 //从后台获取数据
 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;
 }