public cListJobDescription GetListMaterial(int nID)
        {
            var result = new cListJobDescription();

            try
            {
                PTTGSP_DWSContext db = new PTTGSP_DWSContext();

                var lstMaterials     = db.TB_Materials.Where(w => !w.IsDel).ToList();
                var lstMaterial_Unit = db.TB_Material_Unit.Where(w => !w.IsDel).ToList();
                var lstWork_Mate     = db.TB_Work_Material.Where(w => w.nWorkID == nID).ToList();
                var Meterials        = (from s in lstMaterials
                                        from g in lstMaterial_Unit.Where(w => w.nUnitID == s.nUnitID)
                                        from m in lstWork_Mate.Where(w => w.nMaterialID == s.nMaterialID)
                                        select new lst_Materials
                {
                    nMaterialID = s.nMaterialID,
                    sMaterialCode = s.sMaterialCode,
                    sName = s.sName,
                    nAmount = m.nAmount,
                    sUnitName = g.sName,
                    bStatus = s.IsActive,
                    sStatus_Name = s.IsActive ? "ใช้งาน" : "ไม่ใช้งาน",
                }).ToList();

                result.lst_Materials = Meterials.ToList();
            }
            catch (Exception e)
            {
                result.sStatus = SysFunc.process_Error;
                result.sMsg    = e.Message;
            }
            return(result);
        }
        public IActionResult EditData(int nID)
        {
            var      result       = new cListJobDescription();
            cTB_Work EditDataWork = new cTB_Work();

            try
            {
                PTTGSP_DWSContext db = new PTTGSP_DWSContext();

                var lstWork   = db.TB_Work.Where(w => !w.IsDel && w.nWorkID == nID).ToList();
                var lstReason = db.TB_Reason.Where(w => !w.IsDel).ToList();
                EditDataWork = (from s in lstWork
                                from g in lstReason.Where(w => w.nReasonID == s.nReasonID)
                                select new cTB_Work
                {
                    nWorkID = s.nWorkID,
                    sName = s.sName,
                    nReasonID = g.nReasonID,
                    sReason = g.sName,
                    sDetail = s.sDetail,
                    bStatus = s.IsActive,
                    sStatus_Name = s.IsActive ? "ใช้งาน" : "ไม่ใช้งาน",
                }).FirstOrDefault();
            }
            catch (Exception e)
            {
                result.sStatus = SysFunc.process_Error;
                result.sMsg    = e.Message;
            }
            return(Ok(EditDataWork));
        }
        public cListJobDescription GetListWork(string txtSearch, string sIsActive)
        {
            var result = new cListJobDescription();

            try
            {
                PTTGSP_DWSContext db = new PTTGSP_DWSContext();

                var lst_Work       = db.TB_Work.Where(w => !w.IsDel).ToList();
                var lstReason      = db.TB_Reason.Where(w => !w.IsDel).ToList();
                var Jobdescription = (from s in lst_Work
                                      from g in lstReason.Where(w => w.nReasonID == s.nReasonID)
                                      select new lst_Work
                {
                    nWorkID = s.nWorkID,
                    sName = s.sName,
                    nReasonID = s.nReasonID,
                    sReason = g.sName,
                    sDetail = s.sDetail,
                    bStatus = s.IsActive,
                    sStatus_Name = s.IsActive ? "ใช้งาน" : "ไม่ใช้งาน",
                    dUpdate = s.dUpdate,
                    sUpdate = s.dUpdate.ToString("dd/MM/yyyy", culture),
                }).ToList();

                if (!string.IsNullOrEmpty(txtSearch) && txtSearch != "none")
                {
                    Jobdescription = Jobdescription.Where(item => item.sName.Trim().ToLower().Contains(txtSearch.Trim().ToLower())).ToList();
                }
                if (!string.IsNullOrEmpty(sIsActive))
                {
                    var isActive = sIsActive == "1";
                    Jobdescription = Jobdescription.Where(a => a.bStatus == isActive).ToList();
                }

                result.lst_Work = Jobdescription.ToList();
            }
            catch (Exception e)
            {
                result.sStatus = SysFunc.process_Error;
                result.sMsg    = e.Message;
            }
            return(result);
        }