/// <summary>
        /// 获取页面数据
        /// </summary>
        private void GetData()
        {
            FinishedWorkList.Clear();
            using (WorkEfficiencyDataContext work = new WorkEfficiencyDataContext())
            {
                //fileModelDataContext.Add(new FileModel() { GuidId = Guid.NewGuid().ToString() });
                //fileModelDataContext.SaveChanges();

                //1、第一步,先获取当前的时间
                TimeSpan tsNow = new TimeSpan(DateTime.Now.Ticks);
                //2、第二步,从sqlite数据库中获取到数据,转化为List
                var EndResult = work.FileModelDB.Where(w => w.GuidId != null && w.IsFinished == true && w.UserGuid == GlobalData.GetInstance().UserInfo.GuidId&&w.IsDeleted == false).ToList();
                //3、在workList中的每一条都与互相排序
                EndResult.Sort((left, right) =>
                {
                    if (left.EndTime > right.EndTime)
                    {
                        return(-1);
                    }
                    else
                    {
                        return(1);
                    }
                });
                foreach (var item in EndResult)
                {
                    FinishedWorkList.Add(item);
                }
            }
        }
Example #2
0
        protected override void OnStartup(StartupEventArgs e)
        {
            //base.OnStartup(e);
            //此处调用一下,方便初次打开系统的时候,创建数据库
            using (WorkEfficiencyDataContext dbContext = new WorkEfficiencyDataContext())
            {
                dbContext.Database.EnsureCreated();
            }

            //此处使用同一的windowManager进行窗口的创建管理
            //if (WindowsManager.CreateDialogWindowToBool(new LoginView()))
            //{
            //    WindowsManager.CreatWindow(new MainWindow(), ShowMode.Dialog);
            //}
            if (Convert.ToBoolean(WindowsManager.CreateDialogWindowByViewModelResult(new LoginView(), new LoginViewModel())))
            {
                WindowsManager.CreateWindow("MainWindow", ShowMode.Dialog, new MainViewModel());
            }
        }
        /// <summary>
        /// 获取数据
        /// </summary>
        private void GetTotalWorking()
        {
            Task.Run(() =>
            {
                #region 获取汇总工作时间
                int day     = 0;
                int hours   = 0;
                int minutes = 0;
                int seconds = 0;
                using (WorkEfficiencyDataContext fileModelDataContext = new WorkEfficiencyDataContext())
                {
                    var current = fileModelDataContext.FileModelDB.Where(s => s.IsFinished == true && s.UserGuid == GlobalData.GetInstance().UserInfo.GuidId).ToList();

                    foreach (var item in current)
                    {
                        string itemday    = item.AfterTime.Split('-')[0];
                        string newitemday = itemday.Replace('天', ' ');
                        day += Convert.ToInt32(newitemday.Trim());

                        string[] times = item.AfterTime.Split('-')[1].Split(':');
                        seconds       += Convert.ToInt32(times[2]);
                        minutes       += Convert.ToInt32(times[1]);
                        hours         += Convert.ToInt32(times[0]);
                    }
                }

                int DatToSeconds     = day * 24 * 60 * 60;
                int HoursToSeconds   = hours * 60 * 60;
                int MinutesToSeconds = minutes * 60;
                seconds         += DatToSeconds + HoursToSeconds + MinutesToSeconds;
                TimeSpan tsTotle = TimeSpan.FromSeconds(seconds);
                TotleWorkTime    = $"累计工时:\r\n{tsTotle.Days}天{tsTotle.Hours}小时{tsTotle.Minutes}分{tsTotle.Seconds}秒";
                #endregion

                DateTime dt = DateTime.Now;  //当前时间
                using (WorkEfficiencyDataContext work = new WorkEfficiencyDataContext())
                {
                    var currentCount = work.FileModelDB.Where(w => w.UserGuid == GlobalData.GetInstance().UserInfo.GuidId&& w.IsFinished == false).Count();
                    if (currentCount > 0)
                    {
                        TotalWorking = $"现在还有{currentCount}条工作待完成";
                    }
                    else
                    {
                        TotalWorking = $"现在没有待完成工作";
                    }
                    //先获取登陆用户名下的已完成工作数
                    var currentFinishedWork = work.FileModelDB.Where(w => w.UserGuid == GlobalData.GetInstance().UserInfo.GuidId&& w.IsFinished == true && w.IsDeleted == false).ToList();
                    //本周已完成的工作
                    DateTime startWeek   = Convert.ToDateTime(dt.AddDays(1 - Convert.ToInt32(dt.DayOfWeek.ToString("d"))).ToString("yyyy/MM/dd 00:00:00")); //本周周一
                    DateTime endWeek     = startWeek.AddDays(6).AddHours(23).AddMinutes(59).AddSeconds(59);                                                 //本周周日
                    ThisWeekFinishedWork = $"本周完成工作 {currentFinishedWork.Where(w => w.EndTime >= startWeek && w.EndTime <= endWeek).Count()} 条";
                    //本月
                    DateTime startMonth   = Convert.ToDateTime(dt.AddDays(1 - dt.Day).ToString("yyyy/MM/dd 00:00:00"));     //本月月初
                    DateTime endMonth     = startMonth.AddMonths(1).AddDays(-1).AddHours(23).AddMinutes(59).AddSeconds(59); //本月月末
                    ThisMouthFinishedWork = $"本月完成工作 {currentFinishedWork.Where(w => w.EndTime >= startMonth && w.EndTime <= endMonth).Count()} 条";
                    //本年
                    DateTime startYear   = new DateTime(dt.Year, 1, 1);                                              //本年年初
                    DateTime endYear     = new DateTime(dt.Year, 12, 31).AddHours(23).AddMinutes(59).AddSeconds(59); //本年年末
                    ThisYearFinishedWork = $"本年完成工作 {currentFinishedWork.Where(w => w.EndTime >= startYear && w.EndTime <= endYear).Count()} 条";
                }
            });
        }