public async void AddTask(string name, DateTime date, int type, string notes, int taskId) { date = new DateTime(date.Year, date.Month, date.Day, 0, 0, 0); if (taskId == 0) { var wtdTask = new WTDTask { Name = name, Date = date, TypeId = type }; await _wtdTaskRepository.Insert(wtdTask); if (!string.IsNullOrEmpty(notes)) { await _noteRepository.Insert( new Note { Type = (int)NoteType.Task, TypeId = wtdTask.ID, Notes = notes, Meta = string.Format("{0}{1}{2}", (int)NoteType.Task, type, date.ToString("ddMMMyyyy")) }); } } else { var wtdTask = await _wtdTaskRepository.Get(taskId); wtdTask.Name = name; wtdTask.TypeId = type; wtdTask.Date = date; await _wtdTaskRepository.Update(wtdTask); var note = await _noteRepository.Get(predicate : x => x.Type == (int)NoteType.Task && x.TypeId == taskId); if (note == null) { if (!string.IsNullOrEmpty(notes)) { await _noteRepository.Insert( new Note { Type = (int)NoteType.Task, TypeId = taskId, Notes = notes, Meta = string.Format("{0}{1}{2}", (int)NoteType.Task, type, date.ToString("ddMMMyyyy")) }); } } else { note.Type = (int)NoteType.Task; note.TypeId = taskId; note.Notes = notes; note.Meta = string.Format("{0}{1}{2}", (int)NoteType.Task, type, date.ToString("ddMMMyyyy")); await _noteRepository.Update(note); } } }
public WTDTaskEditViewModel() { Date = DateTime.Now; _wtdTaskManager = new WTDTaskManager(); _noteManager = new NoteManager(); TaskTypes = GetTaskTypes(); MessagingCenter.Subscribe <WTDTaskViewModel, WTDTask>(this, "EditTask", async(message, args) => { _selectedTask = args; Date = _selectedTask.Date; if (_selectedTask.ID > 0) { Name = _selectedTask.Name; TypeStr = GetType(_selectedTask.TypeId); var notesResult = await _noteManager.GetNote((int)NoteType.Task, _selectedTask.ID); Notes = notesResult == null ? string.Empty : notesResult.Notes; } }); }