public async Task Remove(Todo item) { if (item == null) { return; } //检查是否存在 var data = LoadLogs(item.ProjcectId); var todo = data.Todos.FirstOrDefault(x => x.Id == item.Id); if (data.Logs.Count(x => x.TodoId == item.Id) > 0) { //项目不为空,跳过处理 Console.WriteLine("项目不为空,不能删除。"); return; } //移除项目 Todos.Remove(todo); //移除索引 DataIndex.Todos.Remove(item.Key); await Remove(todo.Key); await Save(DataIndex); MessageAction?.Invoke(MessageTypeUpdate); }
public async Task Remove(TodoLog item) { if (item == null) { return; } //检查是否存在 var data = LoadLogs(item.ProjcectId); var log = data.Logs.FirstOrDefault(x => x.Key == item.Key); var daylog = DayLogs.FirstOrDefault(x => x.TodoLogs.Count(y => y.Key == item.Key) > 0); //移除项目 daylog.TodoLogs.Remove(log); if (daylog.TodoLogs.Count == 0) { //移除项目 DayLogs.Remove(daylog); //移除索引 DataIndex.DayLogs.Remove(daylog.Key); await Remove(daylog.Key); } else { await Save(daylog); } await Save(DataIndex); MessageAction?.Invoke(MessageTypeUpdate); }
public async Task Remove(TodoLog item) { if (item == null) { return; } //检查是否存在 //var data = LoadLogs(item.ProjcectId); //var log = data.Logs.FirstOrDefault(x => x.Key == item.Key); //var daylog = DayLogs.FirstOrDefault(x => x.TodoLogs.Count(y => y.Key == item.Key) > 0); using var db = await NewDb; var daylog = db.DayLogs.FirstOrDefault(x => x.TodoLogs.Count(y => y.Key == item.Key) > 0); if (daylog != null) { var log = daylog.TodoLogs.FirstOrDefault(x => x.Key == item.Key); daylog.TodoLogs.Remove(log); if (daylog.TodoLogs.Count == 0) { db.DayLogs.Remove(daylog); } } await db.SaveChanges(); await LoadDayLog(); MessageAction?.Invoke(MessageTypeUpdate); }
public async Task Remove(Project item) { if (item == null) { return; } //检查是否存在 var data = LoadLogs(item.Id); if (data.Todos.Count > 0) { //项目不为空,跳过处理 Console.WriteLine("项目不为空,不能删除。"); return; } //移除项目 Projects.Remove(data.Project); //移除索引 DataIndex.Projects.Remove(item.Key); await Remove(data.Project.Key); await Save(DataIndex); MessageAction?.Invoke(MessageTypeUpdate); }
public async Task Remove(Todo item) { if (item == null) { return; } //检查是否存在 var data = LoadLogs(item.ProjcectId); var todo = data.Todos.FirstOrDefault(x => x.Id == item.Id); if (data.Logs.Count(x => x.TodoId == item.Id) > 0) { //项目不为空,跳过处理 Console.WriteLine("项目不为空,不能删除。"); return; } //移除项目 using var db = await NewDb; var p = db.Todos.FirstOrDefault(x => x.Key == item.Key); if (p != null) { db.Todos.Remove(p); await db.SaveChanges(); await LoadTodo(); } MessageAction?.Invoke(MessageTypeUpdate); }
/// <summary> /// 更新报告 /// </summary> /// <param name="item"></param> /// <returns></returns> public async Task Update(Report item) { if (item == null) { return; } using var db = await NewDb; var report = db.Reports.FirstOrDefault(x => x.Key == item.Key); if (Reports == null) { Created(item); db.Reports.Add(item); } else { report.End = item.End; report.Items = item.Items; report.ParentKey = item.ParentKey; report.Start = item.Start; } await db.SaveChanges(); await LoadReport(); MessageAction?.Invoke(MessageTypeUpdate); }
/// <summary> /// 更新数据 /// </summary> /// <param name="item"></param> public async Task Update(Project item) { if (item == null) { return; } dt.Check(); using var db = await NewDb; dt.Check("数据连接"); var p = db.Projects.FirstOrDefault(x => x.Id == item.Id); dt.Check("读取数据"); if (p == null) { Created(item); db.Projects.Add(item); } else { p.Update(item); } await db.SaveChanges(); dt.Check("保存"); await LoadProject(); dt.Check("重新加载"); MessageAction?.Invoke(MessageTypeUpdate); }
private async void Init() { //加载数据 await LoadProject(); await LoadTodo(); await LoadDayLog(); MessageAction?.Invoke(MessageTypeUpdate); }
/// <summary> /// 更新数据 /// </summary> /// <param name="item"></param> public async Task Update(TodoLog item) { if (item == null) { return; } using var db = await NewDb; var daykey = item.Created.GetDayId(); var p = db.DayLogs.FirstOrDefault(x => x.Date == daykey); if (p == null) { //创建新的日期 var daylog = new DayLog { Date = daykey, TodoLogs = new List <TodoLog>() }; Created(daylog); Created(item); daylog.TodoLogs.Add(item); db.DayLogs.Add(daylog); } else { //检查记录是否存在 var tl = p.TodoLogs.FirstOrDefault(x => x.Key == item.Key && x.ProjcectId == item.ProjcectId && x.TodoId == item.TodoId); if (tl == null) { Created(item); //创建新记录 p.TodoLogs.Add(item); } else { //更新 tl.Update(item); } } await db.SaveChanges(); await LoadDayLog(); MessageAction?.Invoke(MessageTypeUpdate); }
/// <summary> /// 更新报告 /// </summary> /// <param name="item"></param> /// <returns></returns> public async Task Update(Report item) { if (item == null) { return; } if (string.IsNullOrWhiteSpace(item.Key) || Reports.FirstOrDefault(x => x.Key == item.Key) == null) { Created(item); item.ValueCheck(); DataIndex.Reports.Add(item.Key); await Save(DataIndex); } await Save(item); MessageAction?.Invoke(MessageTypeUpdate); }
/// <summary> /// 更新数据 /// </summary> /// <param name="item"></param> public async Task Update(TodoLog item) { if (item == null) { return; } var daykey = item.Created.GetDayId(); var p = DayLogs.FirstOrDefault(x => x.Date == daykey); if (p == null) { //创建新的日期 var daylog = new DayLog { Date = daykey, TodoLogs = new List <TodoLog>() }; Created(daylog); Created(item); daylog.TodoLogs.Add(item); DayLogs.Add(daylog); DataIndex.DayLogs.AddUniq(daylog.Key); await Save(daylog); await Save(DataIndex); } else { //检查记录是否存在 var tl = p.TodoLogs.FirstOrDefault(x => x.Key == item.Key && x.ProjcectId == item.ProjcectId && x.TodoId == item.TodoId); if (tl == null) { Created(item); //创建新记录 p.TodoLogs.Add(item); } else { //更新 tl.Update(item); } await Save(p); } MessageAction?.Invoke(MessageTypeUpdate); }
public async Task Remove(Report item) { if (item == null) { return; } using var db = await NewDb; var report = db.Reports.FirstOrDefault(x => x.Key == item.Key); if (report == null) { return; } Reports.RemoveAll(x => x.Key == item.Key); db.Reports.Remove(report); await db.SaveChanges(); MessageAction?.Invoke(MessageTypeUpdate); }
public async Task Remove(Report item) { if (item == null) { return; } var report = Reports.FirstOrDefault(x => x.Key == item.Key); if (report == null) { return; } await Remove(item.Key); DataIndex.Reports.Remove(item.Key); await Save(DataIndex); MessageAction?.Invoke(MessageTypeUpdate); }
/// <summary> /// 更新数据 /// </summary> /// <param name="item"></param> public async Task Update(Todo item) { if (item == null) { return; } var p = Todos.FirstOrDefault(x => x.Id == item.Id); if (p == null) { Created(item); Todos.Add(item); DataIndex.Todos.AddUniq(item.Key); await Save(DataIndex); } else { p.Update(item); } await Save(item); MessageAction?.Invoke(MessageTypeUpdate); }
/// <summary> /// 更新数据 /// </summary> /// <param name="item"></param> public async Task Update(Todo item) { if (item == null) { return; } using var db = await NewDb; var p = db.Todos.FirstOrDefault(x => x.Id == item.Id); if (p == null) { Created(item); db.Todos.Add(item); } else { p.Update(item); } await db.SaveChanges(); await LoadTodo(); MessageAction?.Invoke(MessageTypeUpdate); }
private async Task Init() { //加载索引 DataIndex = await Load <DataIndex>(dataIndexKey); if (DataIndex == null) { //首次使用 DataIndex = new DataIndex { Key = dataIndexKey, Created = DateTime.Now, Creator = Operator.Name }; return; } //加载数据 foreach (var item in DataIndex.Projects) { var dat = await Load <Project>(item); if (dat == null) { continue; } Projects.Add(dat); } foreach (var item in DataIndex.Todos) { var dat = await Load <Todo>(item); if (dat == null) { continue; } Todos.Add(dat); if (string.IsNullOrWhiteSpace(dat.ProjcectId)) { IndexProject.Todos.Add(dat.Key); } } foreach (var item in DataIndex.DayLogs) { var dat = await Load <DayLog>(item); if (dat == null) { continue; } DayLogs.Add(dat); dat.TodoLogs.ForEach(x => { if (string.IsNullOrWhiteSpace(x.ProjcectId)) { IndexProject.DayLogs.Add(x.Key); } }); } foreach (var item in DataIndex.Reports) { var dat = await Load <Report>(item); if (dat == null) { continue; } Reports.Add(dat); } MessageAction?.Invoke(MessageTypeUpdate); }