public async Task <Boolean> StaffTaskInsert(int empId, int projectId, String Task, String Des, DateTime S_Date, DateTime E_Date)
        {
            var taskInfo = await _context.Projects.FindAsync(projectId);

            TimeSpan differ     = (TimeSpan)(E_Date - S_Date);
            Double   TotalHours = Math.Round((Double)differ.TotalHours, 2);
            var      task       = new Staff_Task()
            {
                TaskName    = Task,
                ProjectName = taskInfo.Name,
                ProjectId   = projectId,
                AppliedDate = DateTime.Now,
                StartDate   = S_Date,
                EndDate     = E_Date,
                TakenHours  = TotalHours,
                Description = Des,
                Recommend   = "Waiting for recommend",
                EmpId       = empId
            };

            await _context.Staff_Task.AddAsync(task);

            await _context.SaveChangesAsync();

            return(true);
        }
 /// <summary>
 /// Deletes task with Id == taskId
 /// </summary>
 /// <param name="taskId"></param>
 public void Delete(int taskId)
 {
     try
     {
         using (var db = new CorridorDBEntities())
         {
             Staff_Task sT = db.Staff_Task.Where(x => x.taskId == taskId).First();
             db.Staff_Task.Attach(sT);
             db.Staff_Task.Remove(sT);
             Task task = db.Tasks.Where(x => x.taskId == taskId).First();
             db.Tasks.Attach(task);
             db.Tasks.Remove(task);
             db.SaveChanges();
         }
     }
     catch (Exception)
     {
         throw;
     }
 }
 /// <summary>
 /// Adds a task
 /// </summary>
 /// <param name="task">task to add</param>
 public void Post(Task task, string username)
 {
     try
     {
         using (var db = new CorridorDBEntities())
         {
             Staff staff = db.Staffs.Where(x => x.username == username).First();
             db.Tasks.Add(task);
             db.SaveChanges();
             Staff_Task sT = new Staff_Task {
                 staffId = staff.staffId, taskId = task.taskId
             };
             db.Staff_Task.Add(sT);
             db.SaveChanges();
         }
     }
     catch (Exception)
     {
         throw;
     }
 }