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; } }