public ActionResult CreateTask(IFormCollection collection) { try { var Task = new Models.Data.Task(); var Task2 = new Models.Data.Task(); var node = new Models.Data.PriorityNode <Models.Data.Task>(); { Task.Developer = currentDeveloper; Task.Title = collection["Title"]; Task.Description = collection["Description"]; Task.Project = collection["Project"]; Task.Priority = Convert.ToInt32(collection["Priority"]); Task.Date = collection["Date"]; Task2.Title = Task.Title; Task.Developer = currentDeveloper; }; node.Data = Task; node.prioridad = Task.Priority; WriteTasksHashtable(Task); Singleton.Instance.TaskHashtable.Add(Task.Title, Task); Singleton.Instance.TaskIndex.insert(Task2, Task.Priority); Singleton.Instance.heap.Add(node); refreshAllTasks = true; Message("Task added to queue"); return(RedirectToAction(nameof(DeveloperTasks))); } catch { return(View()); } }
public ActionResult GetCurrentTask() { try { Singleton.Instance.VisibleTasks.Clear(); var heap = Singleton.Instance.heap; var hashtable = Singleton.Instance.TaskHashtable; for (int i = 0; i < heap.elements.Count; i++) { if (heap.elements[i].Data.Developer == currentDeveloper) { string key = heap.elements[i].Data.Title; var newTask = new Models.Data.Task(); newTask = hashtable.GetNode(key); Singleton.Instance.VisibleTasks.Add(newTask); } listPriority(Singleton.Instance.VisibleTasks); } return(View(Singleton.Instance.VisibleTasks[0])); } catch { Message("You have no tasks!"); return(RedirectToAction(nameof(DeveloperTasks))); } }
void WriteTasksHashtable(Models.Data.Task task) { TextWriter writer = new StreamWriter($"{hostingEnvironment.WebRootPath}\\csv\\tasks.csv"); csvTasksHash += $"{task.Developer},{task.Title},{task.Description},{task.Project},{task.Priority},{task.Date}\n"; writer.Write(csvTasksHash); writer.Close(); }
public ActionResult DeleteTask(string id, IFormCollection collection) { var heap = Singleton.Instance.heap; var hashtable = Singleton.Instance.TaskHashtable; var newTask = new Models.Data.Task(); try { for (int i = 0; i < heap.elements.Count; i++) { if (heap.elements[i].Data.Developer == currentDeveloper) { if (heap.elements[i].Data.Title == id) { var node = new Models.Data.PriorityNode <Models.Data.Task>(); node = heap.elements[i]; string key = heap.elements[i].Data.Title; Singleton.Instance.heap.Delete(node); Singleton.Instance.TaskHashtable.Remove(key); deleted = true; break; } } } csvTasksHash = ""; TextWriter writer = new StreamWriter($"{hostingEnvironment.WebRootPath}\\csv\\tasks.csv"); for (int i = 0; i < heap.elements.Count; i++) { string key = heap.elements[i].Data.Title; var Task = new Models.Data.Task(); Task = hashtable.GetNode(key); csvTasksHash += $"{Task.Developer},{Task.Title},{Task.Description},{Task.Project},{Task.Priority},{Task.Date}\n"; } writer.Write(csvTasksHash); writer.Close(); Message("Task deleted"); return(RedirectToAction(nameof(DeveloperTasks))); } catch { return(View()); } }
public void ReadTasksHashtable() { try { string[] lines = System.IO.File.ReadAllLines($"{hostingEnvironment.WebRootPath}\\csv\\tasks.csv"); TextReader reader = new StreamReader($"{hostingEnvironment.WebRootPath}\\csv\\tasks.csv"); TextFieldParser csvReader = new TextFieldParser(reader); csvReader.TextFieldType = Microsoft.VisualBasic.FileIO.FieldType.Delimited; csvReader.SetDelimiters(","); csvReader.HasFieldsEnclosedInQuotes = true; string[] fields; while (!csvReader.EndOfData) { try { fields = csvReader.ReadFields(); var newTask = new Models.Data.Task(); var node = new Models.Data.PriorityNode <Models.Data.Task>(); newTask.Developer = fields[0]; newTask.Title = fields[1]; newTask.Description = fields[2]; newTask.Project = fields[3]; newTask.Priority = Convert.ToInt32(fields[4]); newTask.Date = fields[5]; csvTasksHash += $"{fields[0]},{fields[1]},{fields[2]},{fields[3]},{fields[4]},{fields[5]}\n"; node.Data = newTask; node.prioridad = newTask.Priority; Singleton.Instance.TaskHashtable.Add(newTask.Title, newTask); Singleton.Instance.heap.Add(node); } catch { } } reader.Close(); } catch (Exception e) { throw new Exception(e.Message); } }
public ActionResult DeleteTask(string Title) { Singleton.Instance.VisibleTasks.Clear(); var heap = Singleton.Instance.heap; var hashtable = Singleton.Instance.TaskHashtable; for (int i = 0; i < heap.elements.Count; i++) { if (heap.elements[i].Data.Developer == currentDeveloper) { string key = heap.elements[i].Data.Title; var newTask = new Models.Data.Task(); newTask = hashtable.GetNode(key); Singleton.Instance.VisibleTasks.Add(newTask); } listPriority(Singleton.Instance.VisibleTasks); } return(View(Singleton.Instance.VisibleTasks[0])); }
//MANAGER METHODS public ActionResult ViewTaskManager(string dev) { ViewData["GetDev"] = dev; Singleton.Instance.VisibleTasks.Clear(); var heap = Singleton.Instance.heap; var hashtable = Singleton.Instance.TaskHashtable; var User = from x in Singleton.Instance.VisibleTasks select x; if (!String.IsNullOrEmpty(dev)) { for (int i = 0; i < heap.elements.Count; i++) { string key = heap.elements[i].Data.Title; var newTask = new Models.Data.Task(); newTask = hashtable.GetNode(key); Singleton.Instance.VisibleTasks.Add(newTask); } listPriority(Singleton.Instance.VisibleTasks); User = User.Where(x => x.Developer.Contains(dev)); } else { for (int i = 0; i < heap.elements.Count; i++) { string key = heap.elements[i].Data.Title; var newTask = new Models.Data.Task(); newTask = hashtable.GetNode(key); Singleton.Instance.VisibleTasks.Add(newTask); } listPriority(Singleton.Instance.VisibleTasks); var user2 = Singleton.Instance.VisibleTasks; return(View(user2)); } return(View(User)); }
public ActionResult ViewAllTasks(string dev) { Singleton.Instance.VisibleTasks.Clear(); var heap = Singleton.Instance.heap; var hashtable = Singleton.Instance.TaskHashtable; for (int i = 0; i < heap.elements.Count; i++) { string key = heap.elements[i].Data.Title; var newTask = new Models.Data.Task(); newTask = hashtable.GetNode(key); Singleton.Instance.VisibleTasks.Add(newTask); } listPriority(Singleton.Instance.VisibleTasks); var User = from x in Singleton.Instance.VisibleTasks select x; User = User.Where(x => x.Developer.Contains(currentDeveloper)); return(View(User)); }