/// <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); } } }
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()} 条"; } }); }