private int GetNextId() { FileStream fs = new FileStream(this.filePath, FileMode.OpenOrCreate); StreamReader sr = new StreamReader(fs); int id = 1; try { while (!sr.EndOfStream) { TaskHoursWorked taskHoursWorked = new TaskHoursWorked(); taskHoursWorked.Id = Convert.ToInt32(sr.ReadLine()); taskHoursWorked.TaskId = Convert.ToInt32(sr.ReadLine()); taskHoursWorked.UserId = Convert.ToInt32(sr.ReadLine()); taskHoursWorked.WorkedHours = Convert.ToInt32(sr.ReadLine()); taskHoursWorked.givingHoursDate = sr.ReadLine(); if (id <= taskHoursWorked.Id) { id = taskHoursWorked.Id + 1; } } } finally { sr.Close(); fs.Close(); } return(id); }
private void GiveHoursWorkedOnTask() { Console.Clear(); TaskHoursWorked taskHoursWorked = new TaskHoursWorked(); taskHoursWorked.UserId = AuthenticationService.LoggedUser.Id; Console.WriteLine("Give hours worked on task:"); Console.Write("Task Id: "); taskHoursWorked.TaskId = Convert.ToInt32(Console.ReadLine()); taskHoursWorked.UserId = AuthenticationService.LoggedUser.Id; TaskData task = new TaskData(); TasksRepository tasksRepository = new TasksRepository("tasks.txt"); task = tasksRepository.GetById(taskHoursWorked.TaskId); if (task.ResponsibleUser == AuthenticationService.LoggedUser.Id) { Console.Write("Hours worked: "); taskHoursWorked.WorkedHours = Convert.ToInt32(Console.ReadLine()); Console.Write("Giving Hours Date: "); taskHoursWorked.givingHoursDate = Console.ReadLine(); TaskHoursWorkedRepository taskHoursWorkedRepository = new TaskHoursWorkedRepository("taskHoursWorked.txt"); taskHoursWorkedRepository.Insert(taskHoursWorked); Console.WriteLine("Task hours worked saved successfully."); Console.ReadKey(true); } else { Console.WriteLine("You can only give hours worked on task you are responsible for"); Console.ReadKey(true); } }
public void Insert(TaskHoursWorked item) { item.Id = GetNextId(); FileStream fs = new FileStream(filePath, FileMode.Append); StreamWriter sw = new StreamWriter(fs); try { sw.WriteLine(item.Id); sw.WriteLine(item.TaskId); sw.WriteLine(item.UserId); sw.WriteLine(item.WorkedHours); sw.WriteLine(item.givingHoursDate); } finally { sw.Close(); fs.Close(); } }