public MasterTemplateDTO GetData(string mst_code) { log.MethodStart(); MasterTemplateDTO objModel = new MasterTemplateDTO(); using (var trans = _db.Database.BeginTransaction()) { try { var objReturn1 = _db.TCMasterTemplates.FirstOrDefault(x => x.mst_code == mst_code); if (objReturn1 != null) { objModel = _mapper.Map <MasterTemplateDTO>(objReturn1); } trans.Commit(); } catch (Exception ex) { // TODO: Handle failure trans.Rollback(); } finally { trans.Dispose(); } } log.MethodFinish(); return(objModel); }
public string CheckDuplicate(MasterTemplateDTO model) { log.MethodStart(); string objReturn = ""; using (var trans = _db.Database.BeginTransaction()) { try { var objResult = _db.TCMasterTemplates.Any(x => x.mst_code == model.mst_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); }
public async Task <MasterTemplateDTO> GetDataAsync(string mst_code) { MasterTemplateDTO menu = new MasterTemplateDTO(); menu = await _apiHelper.GetDataByIdAsync <MasterTemplateDTO>("mastertemplate_api/Get_Data", mst_code); return(menu); }
public async Task <MasterTemplateDTO> GetListByModelActiveAsync(MasterTemplateSearchDTO searchData) { MasterTemplateDTO objList = new MasterTemplateDTO(); objList = await _apiHelper.GetDataByModelAsync <MasterTemplateDTO, MasterTemplateSearchDTO>("mastertemplate_api/Get_List_Active_ByModel", searchData); return(objList); }
public async Task <MasterTemplateDTO> SaveCopyDataAsync(MasterTemplateDTO 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 <MasterTemplateDTO>("mastertemplate_api/Post_SaveCopyData", model); return(menua); }
public MasterTemplateDTO GetList_Active_WithModel(MasterTemplateSearchDTO searchModel) { log.MethodStart(); MasterTemplateDTO objReturn = new MasterTemplateDTO(); //var searchModel = JsonSerializer.Deserialize<MenuSearchDTO>(param); using (var trans = _db.Database.BeginTransaction()) { try { var objDataList = _db.TCMasterTemplates.FromSqlRaw <TCMasterTemplate>("sp_GET_TCMasterTemplate_Active {0}, {1}, {2}", searchModel.mst_code, searchModel.mst_date_from, searchModel.mst_date_to).ToList(); var objListMapping = _mapper.Map <List <MasterTemplateDTO> >(objDataList); if (objListMapping.Count > 0) { objReturn = objListMapping.FirstOrDefault(); } trans.Commit(); } catch (Exception ex) { // TODO: Handle failure trans.Rollback(); } finally { trans.Dispose(); } } log.MethodFinish(); return(objReturn); }
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 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) { } }
public MasterTemplateDTO SaveCopyData(MasterTemplateDTO model) { log.MethodStart(); var currentDateTime = DateTime.Now; var currentUser = ""; var new_mst_code = ""; MasterTemplateDTO objReturn = new MasterTemplateDTO(); using (var trans = _db.Database.BeginTransaction()) { try { MasterTemplateSearchDTO searchModel = new MasterTemplateSearchDTO(); var currentYearCode = $"MST_{DateTime.Now.ToString("yyyy")}"; var objDataList = _db.TCMasterTemplates.FromSqlRaw <TCMasterTemplate>("sp_GET_TCMasterTemplate {0}, {1}, {2}", currentYearCode, searchModel.mst_date_from, searchModel.mst_date_to).ToList(); if (objDataList.Count > 0) { var lastData = objDataList.LastOrDefault(); var lastCode = lastData.mst_code.Substring(7); var newCodeInt = (Convert.ToInt32(lastCode) + 1); new_mst_code = currentYearCode + newCodeInt.ToString("0000"); } else { new_mst_code = currentYearCode + (1).ToString("0000"); } var objCopyDataList = _db.TCMasterTemplates.FromSqlRaw <TCMasterTemplate>("sp_Copy_TCMasterTemplate {0}, {1}, {2}", model.mst_code, new_mst_code, model.mst_createuser).ToList(); if (objCopyDataList.Count > 0) { var objCopyData = objCopyDataList.FirstOrDefault(); objReturn = _mapper.Map <MasterTemplateDTO>(objCopyData); } #region Save Log Process ... _db.LogProcesss.Add(new LogProcess() { log_usr_id = currentUser, log_mnu_id = "", log_mnu_name = "MasterTemplate", log_tran_id = model.mst_code, log_action = "New", log_desc = "Copy MasterTemplate " + model.mst_code + " From " + new_mst_code, 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); }
public MasterTemplateDTO SaveData(MasterTemplateDTO model) { log.MethodStart(); var currentDateTime = DateTime.Now; var currentUser = ""; MasterTemplateDTO objReturn = new MasterTemplateDTO(); using (var trans = _db.Database.BeginTransaction()) { try { var objModel = new TCMasterTemplate(); if (model.mst_status == "E") { objModel = _db.TCMasterTemplates.FirstOrDefault(x => x.mst_code == model.mst_code); } if (model.mst_status == "N") { var new_mst_code = ""; var currentYearCode = $"MST_{DateTime.Now.ToString("yyyy")}"; MasterTemplateSearchDTO searchModel = new MasterTemplateSearchDTO(); var objDataList = _db.TCMasterTemplates.FromSqlRaw <TCMasterTemplate>("sp_GET_TCMasterTemplate {0}, {1}, {2}", currentYearCode, searchModel.mst_date_from, searchModel.mst_date_to).ToList(); if (objDataList.Count > 0) { var lastData = objDataList.LastOrDefault(); var lastCode = lastData.mst_code.Substring(7); var newCodeInt = (Convert.ToInt32(lastCode) + 1); new_mst_code = currentYearCode + newCodeInt.ToString("0000"); } else { new_mst_code = currentYearCode + (1).ToString("0000"); } model.mst_code = new_mst_code; objReturn.mst_code = new_mst_code; objModel = _mapper.Map <TCMasterTemplate>(model); objModel.mst_status = objModel.mst_active == true ? "A" : "I"; objModel.mst_createdate = currentDateTime; currentUser = objModel.mst_createuser; _db.TCMasterTemplates.Add(objModel); } else if (model.mst_status == "E") { //objModel.mst_name = model.mst_name; objModel.mst_version = model.mst_version; objModel.mst_date_from = model.mst_date_from; objModel.mst_active = model.mst_active; objModel.mst_status = objModel.mst_active == true ? "A" : "I"; objModel.mst_updateuser = model.mst_updateuser; objModel.mst_updatedate = currentDateTime; currentUser = objModel.mst_updateuser; //_db.TCTemplates.Update(objModel); } #region Save Log Process ... _db.LogProcesss.Add(new LogProcess() { log_usr_id = currentUser, log_mnu_id = "", log_mnu_name = "MasterTemplate", log_tran_id = model.mst_code.ToString(), log_action = (model.mst_status == "N" ? "New" : "Update"), log_desc = (model.mst_status == "N" ? "New" : "Update") + " MasterTemplate " + objModel.mst_code, 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); }
public MasterTemplateDTO Post_SaveCopyData([FromBody] MasterTemplateDTO model) { var objReturn = _service.SaveCopyData(model); return(objReturn); }