Exemplo n.º 1
0
        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);
            }
        }
Exemplo n.º 2
0
        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);
            }
        }
Exemplo n.º 3
0
        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);
            }
        }