Example #1
0
        public List <WHONETColumnDTO> GetListWithModel(WHONETColumnDTO searchModel)
        {
            log.MethodStart();

            List <WHONETColumnDTO> objList = new List <WHONETColumnDTO>();

            //var searchModel = JsonSerializer.Deserialize<MenuSearchDTO>(param);

            using (var trans = _db.Database.BeginTransaction())
            {
                try
                {
                    var objDataList = _db.TCWHONETColumns.FromSqlRaw <TCWHONETColumn>("sp_GET_TCWHONETColumn {0}", searchModel.wnc_mst_code).ToList();

                    objList = _mapper.Map <List <WHONETColumnDTO> >(objDataList);

                    trans.Commit();
                }
                catch (Exception ex)
                {
                    // TODO: Handle failure
                    trans.Rollback();
                }
                finally
                {
                    trans.Dispose();
                }
            }

            log.MethodFinish();

            return(objList);
        }
Example #2
0
        public string CheckDuplicate(WHONETColumnDTO model)
        {
            log.MethodStart();

            string objReturn = "";

            using (var trans = _db.Database.BeginTransaction())
            {
                try
                {
                    var objResult = _db.TCWHONETColumns.Any(x => x.wnc_code == model.wnc_code);

                    if (objResult == true)
                    {
                        objReturn = "Dup";
                    }

                    trans.Commit();
                }
                catch (Exception ex)
                {
                    // TODO: Handle failure
                    log.Error(ex.Message);
                    trans.Rollback();
                }
                finally
                {
                    trans.Dispose();
                }
            }

            log.MethodFinish();

            return(objReturn);
        }
Example #3
0
        public WHONETColumnDTO GetData(string wnc_code)
        {
            log.MethodStart();

            WHONETColumnDTO objModel = new WHONETColumnDTO();

            using (var trans = _db.Database.BeginTransaction())
            {
                try
                {
                    var objReturn1 = _db.TCWHONETColumns.FirstOrDefault(x => x.wnc_code == wnc_code);

                    objModel = _mapper.Map <WHONETColumnDTO>(objReturn1);

                    trans.Commit();
                }
                catch (Exception ex)
                {
                    // TODO: Handle failure
                    trans.Rollback();
                }
                finally
                {
                    trans.Dispose();
                }
            }

            log.MethodFinish();

            return(objModel);
        }
        public async Task <List <WHONETColumnDTO> > GetListByModelActiveAsync(WHONETColumnDTO searchData)
        {
            List <WHONETColumnDTO> objList = new List <WHONETColumnDTO>();

            objList = await _apiHelper.GetDataListByModelAsync <WHONETColumnDTO, WHONETColumnDTO>("whonetcolumn_api/Get_List_Active_ByModel", searchData);

            return(objList);
        }
        public WHONETColumnDTO Post_SaveData([FromBody] WHONETColumnDTO model)
        {
            var objReturn = _service.SaveData(model);

            //var objReturn = _service.GetList();

            return(objReturn);
        }
        public async Task <WHONETColumnDTO> GetDataAsync(string mst_code)
        {
            WHONETColumnDTO menu = new WHONETColumnDTO();

            menu = await _apiHelper.GetDataByIdAsync <WHONETColumnDTO>("whonetcolumn_api/Get_Data", mst_code);

            return(menu);
        }
        public async Task <List <WHONETColumnDTO> > GetListByParamAsync(WHONETColumnDTO searchData)
        {
            List <WHONETColumnDTO> objList = new List <WHONETColumnDTO>();

            var searchJson = JsonSerializer.Serialize(searchData);

            objList = await _apiHelper.GetDataListByParamsAsync <WHONETColumnDTO>("whonetcolumn_api/Get_List", searchJson);

            return(objList);
        }
        public async Task <WHONETColumnDTO> SaveDataAsync(WHONETColumnDTO model)
        {
            //MenuDTO menu = new MenuDTO()
            //{
            //    mnu_id = "2",
            //    mnu_name = "TEST_name",
            //    mnu_area = "TEST_area",
            //    mnu_controller = "TEST_controller"
            //};

            var menua = await _apiHelper.PostDataAsync <WHONETColumnDTO>("whonetcolumn_api/Post_SaveData", model);

            return(menua);
        }
        public async Task ExportLabDataWithHIS(IJSRuntime iJSRuntime, LabDataWithHISSearchDTO model, MasterTemplateDTO ActiveMasterTemplate, HISFileTemplateDTO HISTemplateActive)
        {
            byte[]    fileContents;
            const int idxColLabNo   = 3;
            const int idxColSpcDate = 4;
            const int idxColHN      = 2;
            const int idxColRef     = 1;

            int idcColWhonetConfig = 5;
            var lstDynamicColumn   = new List <int>();
            var dctWhonetColumn    = new Dictionary <string, int>();

            //const int idxColAdmisDate = 6;
            //const int idxColCINI = 7;
            int idxRowCurrent = 1;

            string COL_REF_NO = HISTemplateActive.hft_field1; // "Ref No";
            string COL_HN_NO  = HISTemplateActive.hft_field2; //"HN";
            string COL_LAB_NO = HISTemplateActive.hft_field3; // "Lab";
            string COL_DATE   = HISTemplateActive.hft_field4; //"Date";

            List <LabDataWithHISDTO>       objLabWithRef      = new List <LabDataWithHISDTO>();
            List <HISDetailDTO>            objHISDetail       = new List <HISDetailDTO>();
            List <WHONETColumnDTO>         objWhonetActive    = new List <WHONETColumnDTO>();
            List <string>                  objWhonetHISColumn = new List <string>();
            WHONETColumnDTO                objSearchWhonet    = new WHONETColumnDTO();
            List <STGLabFileDataDetailDTO> objLabDetail       = new List <STGLabFileDataDetailDTO>();

            ExcelPackage.LicenseContext = LicenseContext.NonCommercial;

            //sp_GET_LabDataWithHIS
            objLabWithRef = await _apiHelper.GetDataListByModelAsync <LabDataWithHISDTO, LabDataWithHISSearchDTO>("his_api/GetLabDataWithHIS", model);

            objHISDetail = await _apiHelper.GetDataListByModelAsync <HISDetailDTO, LabDataWithHISSearchDTO>("his_api/GetHISDetail", model);

            objLabDetail = await _apiHelper.GetDataListByModelAsync <STGLabFileDataDetailDTO, LabDataWithHISSearchDTO>("his_api/GetLabDataWithHISDetail", model);

            if (objLabWithRef.Count == 0)
            {
                // Show message No data to export
            }
            using (var package = new ExcelPackage())
            {
                var workSheet = package.Workbook.Worksheets.Add("REF_HIS");

                // Header Column
                workSheet.Cells[idxRowCurrent, idxColRef].Value     = COL_REF_NO;
                workSheet.Cells[idxRowCurrent, idxColHN].Value      = COL_HN_NO;
                workSheet.Cells[idxRowCurrent, idxColLabNo].Value   = COL_LAB_NO;
                workSheet.Cells[idxRowCurrent, idxColSpcDate].Value = COL_DATE;

                objSearchWhonet.wnc_mst_code = ActiveMasterTemplate.mst_code;

                objWhonetActive = await _apiHelper.GetDataListByModelAsync <WHONETColumnDTO, WHONETColumnDTO>("whonetcolumn_api/Get_List_Active_ByModel", objSearchWhonet);

                if (objWhonetActive != null)
                {
                    // ToDo : change wnc_mendatory to wnc_his_export_flag
                    var objWhonetHIS = objWhonetActive.Where(w => w.wnc_mendatory == true).ToList();
                    objWhonetHISColumn = objWhonetHIS.Select(s => s.wnc_name).ToList();
                    //objWhonetHISColumn = new List<string> { "Last name", "First name", "Sex", "Date of birth", "Age", "Location" };
                    foreach (var obj in objWhonetHISColumn)
                    {
                        // Dynamic Column From Whonet Setting
                        workSheet.Cells[idxRowCurrent, idcColWhonetConfig].Value = obj;

                        if (!dctWhonetColumn.ContainsKey(obj))
                        {
                            dctWhonetColumn.Add(obj, idcColWhonetConfig);
                        }

                        //lstDynamicColumn.Add(idcColWhonetConfig);
                        idcColWhonetConfig++;
                    }
                }

                foreach (LabDataWithHISDTO objLab in objLabWithRef)
                {
                    //if (idxRowCurrent == 11) { break; } //for test
                    idxRowCurrent += 1;
                    workSheet.Cells[idxRowCurrent, idxColRef].Value   = objLab.ref_no;
                    workSheet.Cells[idxRowCurrent, idxColHN].Value    = objLab.hn_no;
                    workSheet.Cells[idxRowCurrent, idxColLabNo].Value = objLab.lab_no;

                    workSheet.Cells[idxRowCurrent, idxColSpcDate].Value       = objLab.spec_date;
                    workSheet.Column(idxColSpcDate).Style.Numberformat.Format = "dd/MM/yyyy";

                    // Note : obj.huh_id ที่เอามา where ต้องหาจาก query มาแล้วว่าเป็นตัวล่าสุด ที่จะ export ออกมา สถานะไม่ใช่ delete ...
                    //(First) Find HIS Data from Upload HIS
                    var objHISDetailFromHIS = objHISDetail.Where(w => w.ref_no == objLab.ref_no &&
                                                                 w.hn_no == objLab.hn_no &&
                                                                 w.lab_no == objLab.lab_no &&
                                                                 w.spec_date == objLab.spec_date).ToList();
                    foreach (var objHIS in objHISDetailFromHIS)
                    {
                        if (objWhonetHISColumn.Contains(objHIS.hud_field_name))
                        {
                            if (!string.IsNullOrEmpty(objHIS.hud_field_value))
                            {
                                workSheet.Cells[idxRowCurrent, dctWhonetColumn[objHIS.hud_field_name]].Value = objHIS.hud_field_value;
                            }
                        }
                    }

                    //(Second) Find HIS Data from Lab
                    Guid guidHeaderId        = new Guid(objLab.lab_header_id);
                    var  objHISDetailFromLab = objLabDetail.Where(w => w.ldd_ldh_id == guidHeaderId).ToList();
                    foreach (var obj in objHISDetailFromLab)
                    {
                        if (objWhonetHISColumn.Contains(obj.ldd_whonetfield))
                        {
                            if (!string.IsNullOrEmpty(obj.ldd_originalvalue))
                            {
                                //var DecodeValue = CryptoHelper.UnicodeDecoding(obj.ldd_originalvalue);
                                if (workSheet.Cells[idxRowCurrent, dctWhonetColumn[obj.ldd_whonetfield]].Value == null)
                                {
                                    workSheet.Cells[idxRowCurrent, dctWhonetColumn[obj.ldd_whonetfield]].Value = obj.ldd_originalvalue;
                                }
                            }
                        }
                    }
                } // End Loop Lab Data

                workSheet.Column(idxColRef).AutoFit();
                workSheet.Column(idxColHN).AutoFit();
                workSheet.Column(idxColLabNo).AutoFit();
                workSheet.Column(idxColSpcDate).AutoFit();
                workSheet.Protection.IsProtected = true; // Protect whole sheet
                foreach (var colHIS in dctWhonetColumn.Values)
                {
                    workSheet.Column(colHIS).Style.Locked = false;//unlock workSheet
                    workSheet.Column(1).AutoFit();
                }

                fileContents = package.GetAsByteArray();
            }

            try
            {
                await iJSRuntime.InvokeAsync <HISFileUploadService>(
                    "saveAsFile",
                    "HIS_WITH_SP.xlsx",
                    Convert.ToBase64String(fileContents)
                    );
            }
            catch (Exception ex)
            {
            }
        }
        public IEnumerable <WHONETColumnDTO> Get_List_Active_ByModel([FromBody] WHONETColumnDTO searchModel)
        {
            var objReturn = _service.GetList_Active_WithModel(searchModel);

            return(objReturn);
        }
Example #11
0
        public async Task ExportLabDataWithHIS(IJSRuntime iJSRuntime, LabDataWithHISSearchDTO model, MasterTemplateDTO ActiveMasterTemplate)
        {
            byte[]    fileContents;
            const int idxColLabNo   = 3;
            const int idxColSpcDate = 4;
            const int idxColHN      = 2;
            const int idxColRef     = 1;

            int idcColWhonetConfig = 5;
            var lstDynamicColumn   = new List <int>();

            //const int idxColAdmisDate = 6;
            //const int idxColCINI = 7;
            int idxRowCurrent = 1;

            List <LabDataWithHISDTO> objLabHIS       = new List <LabDataWithHISDTO>();
            List <WHONETColumnDTO>   objWhonetActive = new List <WHONETColumnDTO>();
            WHONETColumnDTO          objSearchWhonet = new WHONETColumnDTO();

            ExcelPackage.LicenseContext = LicenseContext.NonCommercial;

            using (var package = new ExcelPackage())
            {
                var workSheet = package.Workbook.Worksheets.Add("REF_HIS");

                // Header Column
                workSheet.Cells[idxRowCurrent, idxColRef].Value     = "Ref";
                workSheet.Cells[idxRowCurrent, idxColHN].Value      = "HN";
                workSheet.Cells[idxRowCurrent, idxColLabNo].Value   = "Lab No.";
                workSheet.Cells[idxRowCurrent, idxColSpcDate].Value = "Date";
                // Dynamic Column From Whonet Setting

                objSearchWhonet.wnc_mst_code = ActiveMasterTemplate.mst_code;

                objWhonetActive = await _apiHelper.GetDataListByModelAsync <WHONETColumnDTO, WHONETColumnDTO>("whonetcolumn_api/Get_List_Active_ByModel", objSearchWhonet);

                if (objWhonetActive != null)
                {
                    // ToDo : change wnc_mendatory to wnc_his_export_flag
                    var objWhonetHIS = objWhonetActive.Where(w => w.wnc_mendatory == true).ToList();
                    foreach (var obj in objWhonetHIS)
                    {
                        workSheet.Cells[idxRowCurrent, idcColWhonetConfig].Value = obj.wnc_name;
                        lstDynamicColumn.Add(idcColWhonetConfig);
                        idcColWhonetConfig++;
                    }
                }

                //workSheet.Cells[idxRowCurrent, idxColAdmisDate].Value = "Admission Date";
                //workSheet.Cells[idxRowCurrent, idxColCINI].Value = "CI/NI";

                objLabHIS = await _apiHelper.GetDataListByModelAsync <LabDataWithHISDTO, LabDataWithHISSearchDTO>("his_api/GetLabDataWithHIS", model);

                foreach (LabDataWithHISDTO obj in objLabHIS)
                {
                    idxRowCurrent += 1;
                    workSheet.Cells[idxRowCurrent, idxColRef].Value     = obj.ref_no;
                    workSheet.Cells[idxRowCurrent, idxColHN].Value      = obj.hn_no;
                    workSheet.Cells[idxRowCurrent, idxColLabNo].Value   = obj.lab_no;
                    workSheet.Cells[idxRowCurrent, idxColSpcDate].Value = obj.spec_date;

                    //if ((obj.admission_date.HasValue)) { workSheet.Cells[idxRowCurrent, idxColAdmisDate].Value = obj.admission_date; }
                    //if (!string.IsNullOrEmpty(obj.cini)) { workSheet.Cells[idxRowCurrent, idxColCINI].Value = obj.cini; }
                }

                workSheet.Protection.IsProtected = true; // Protect whole sheet
                foreach (var colHIS in lstDynamicColumn)
                {
                    workSheet.Column(colHIS).Style.Locked = false;//unlock column
                }

                fileContents = package.GetAsByteArray();
            }

            try
            {
                await iJSRuntime.InvokeAsync <HISFileUploadService>(
                    "saveAsFile",
                    "HIS_WITH_SP.xlsx",
                    Convert.ToBase64String(fileContents)
                    );
            }
            catch (Exception ex)
            {
            }
        }
Example #12
0
        public WHONETColumnDTO SaveData(WHONETColumnDTO model)
        {
            log.MethodStart();

            var             currentDateTime = DateTime.Now;
            var             currentUser     = "";
            WHONETColumnDTO objReturn       = new WHONETColumnDTO();

            using (var trans = _db.Database.BeginTransaction())
            {
                try
                {
                    var objModel = new TCWHONETColumn();

                    if (model.wnc_status == "E")
                    {
                        objModel = _db.TCWHONETColumns.FirstOrDefault(x => x.wnc_id == model.wnc_id);
                    }

                    if (model.wnc_status == "N")
                    {
                        objModel = _mapper.Map <TCWHONETColumn>(model);

                        objModel.wnc_status     = objModel.wnc_active == true ? "A" : "I";
                        objModel.wnc_createdate = currentDateTime;

                        currentUser = objModel.wnc_createuser;

                        _db.TCWHONETColumns.Add(objModel);
                    }
                    else if (model.wnc_status == "E")
                    {
                        objModel.wnc_name       = model.wnc_name;
                        objModel.wnc_data_type  = model.wnc_data_type;
                        objModel.wnc_encrypt    = model.wnc_encrypt;
                        objModel.wnc_active     = model.wnc_active;
                        objModel.wnc_status     = objModel.wnc_active == true ? "A" : "I";
                        objModel.wnc_updateuser = model.wnc_updateuser;
                        objModel.wnc_updatedate = currentDateTime;

                        currentUser = objModel.wnc_updateuser;

                        //_db.TCHospitals.Update(objModel);
                    }

                    #region Save Log Process ...
                    _db.LogProcesss.Add(new LogProcess()
                    {
                        log_usr_id     = currentUser,
                        log_mnu_id     = "",
                        log_mnu_name   = "WHONETColumn",
                        log_tran_id    = $"{objModel.wnc_mst_code}:{objModel.wnc_code}",
                        log_action     = (model.wnc_status == "N" ? "New" : "Update"),
                        log_desc       = (model.wnc_status == "N" ? "New" : "Update") + " WHONETColumn " + objModel.wnc_name,
                        log_createuser = currentUser,
                        log_createdate = currentDateTime
                    });
                    #endregion

                    _db.SaveChanges();

                    trans.Commit();
                }
                catch (Exception ex)
                {
                    // TODO: Handle failure
                    trans.Rollback();
                }
                finally
                {
                    trans.Dispose();
                }
            }

            log.MethodFinish();

            return(objReturn);
        }