public void DeleteTask(DataModels.iteam_task m, ref string error) { using (var db = new DataContext()) { db.ExecuteTransaction(() => { var task_id = m?.task_id; if (m != null) { var prj = db.iteam_project.Where(x => x.project_id == m.project_id).FirstOrDefault(); prj.tasks_count = db.iteam_task.Where(x => x.project_id == m.project_id).Count() - 1; db.SaveChanges(); db.iteam_task.RemoveRange(db.iteam_task.Where(x => x.task_id == task_id)); db.iteam_task_user.RemoveRange(db.iteam_task_user.Where(x => x.task_id == task_id)); db.SaveChanges(); } else { throw new Exception("Error"); } }, ref error); } }
public void EditTasks(DataModels.iteam_task m, ref string error) { using (var db = new DataContext()) { db.ExecuteTransaction(() => { var tasks_id = m?.task_id; var tasks_name = m?.tasks_name; var tasks_des = m?.tasks_description; var date_start = m?.date_start; var date_end = m?.date_end; var data_db = db.iteam_task.Where(w => w.task_id == tasks_id).FirstOrDefault(); if (data_db != null) { data_db.tasks_name = tasks_name; data_db.tasks_description = tasks_des; data_db.date_end = date_end; db.SaveChanges(); } }, ref error); } }
public void NewTask(DataModels.iteam_task header, List <DataModels.iteam_task_user> detail, ref string error) { using (var db = new DataContext()) { db.ExecuteTransaction(() => { var tasks_name = header?.tasks_name; var tasks_prioity = header?.tasks_prioity; var date_start = header?.date_start; var date_end = header?.date_end; if (string.IsNullOrEmpty(tasks_name)) { throw new Exception("โปรดกรอกชื่อของระบบงาน"); } if (string.IsNullOrEmpty(tasks_prioity)) { throw new Exception("โปรดเลือกระดับความสำคัญของระบบงาน"); } if (date_start == null || date_end == null) { throw new Exception("โปรดเลือกวันที่เริ้มต้นหรือวันสิ้นสุดของระบบงาน"); } var data = (from d in db.iteam_project join g1 in db.iteam_task on new { d.project_id } equals new { g1.project_id } into g2 from p in g2.DefaultIfEmpty() where d.project_id == header.project_id select d.end_project ).FirstOrDefault(); if (date_end > data) { throw new Exception("วันที่สิ้นสุดของระบบงานไม่สามารถเกินวันสิ้นสุดของโปรเจคได้"); } header.task_id = (db.iteam_task.Select(x => x.task_id).Max() ?? 0) + 1; header.status = "N"; header.date_start = date_start?.AddDays(1); header.date_end = date_end?.AddDays(1); header.add_dt = DateTime.Now; header.add_user = auth.user_id; db.iteam_task.Add(header); db.SaveChanges(); var prj = db.iteam_project.Where(x => x.project_id == header.project_id).FirstOrDefault(); prj.tasks_count = db.iteam_task.Where(x => x.project_id == header.project_id).Count(); db.SaveChanges(); if (detail != null && detail.Count() > 0) { foreach (var x in detail) { x.task_id = header.task_id; } db.iteam_task_user.AddRange(detail); db.SaveChanges(); } }, ref error); } }