public static WorkItem Create(int id) { var workItem = new WorkItem() { Id = id, State = StateEnum.Proposed }; WorkItemRepository.Add(workItem); return(workItem); }
public void Delete() { switch (State) { case StateEnum.Proposed: WorkItemRepository.Delete(this); break; case StateEnum.Active: Console.WriteLine("Work Item is already active and cannot be deleted."); break; case StateEnum.Resolved: Console.WriteLine("Work Item is already resolved and cannot be deleted."); break; case StateEnum.Closed: WorkItemRepository.Delete(this); break; } }
static void Main(string[] args) { var workItemRepository = new WorkItemRepository(); WorkItem.Init(workItemRepository); string title = null, desc = null; string command; int id; try { command = args[0].ToLower(); id = int.Parse(args[1]); if (args.Count() > 2) { title = args[2]; desc = args[3]; } } catch (Exception) { PrintUsage(); return; } try { WorkItem workItem; switch (command) { case "create": workItem = WorkItem.Create(id); workItem.Edit(title, desc); workItem.Print(); break; case "update": workItem = WorkItem.FindById(id); workItem.Edit(title, desc); workItem.Print(); break; case "open": workItem = WorkItem.FindById(id); workItem.Open(); break; case "resolve": workItem = WorkItem.FindById(id); workItem.Resolve(); break; case "close": workItem = WorkItem.FindById(id); workItem.Close(); break; case "delete": workItem = WorkItem.FindById(id); workItem.Delete(); break; case "print": workItem = WorkItem.FindById(id); workItem.Print(); break; } workItemRepository.Save(); } catch (Exception) { PrintUsage(); } }
public static WorkItem FindById(int id) { return(WorkItemRepository.FindById(id)); }
public static void Init(WorkItemRepository workItemRepository) { WorkItemRepository = workItemRepository; }