///<summary> /// Method Invocation of wrapper classes ///<summary> protected static FR_L6BH_GBHaTNfTID_1039 Invoke(DbConnection Connection, DbTransaction Transaction, string ConnectionString, P_L6BH_GBHaTNfTID_1039 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { bool cleanupConnection = Connection == null; bool cleanupTransaction = Transaction == null; FR_L6BH_GBHaTNfTID_1039 functionReturn = new FR_L6BH_GBHaTNfTID_1039(); try { if (cleanupConnection == true) { Connection = CSV2Core_MySQL.Support.DBSQLSupport.CreateConnection(ConnectionString); Connection.Open(); } if (cleanupTransaction == true) { Transaction = Connection.BeginTransaction(); } functionReturn = Execute(Connection, Transaction, Parameter, securityTicket); #region Cleanup Connection/Transaction //Commit the transaction if (cleanupTransaction == true) { Transaction.Commit(); } //Close the connection if (cleanupConnection == true) { Connection.Close(); } #endregion } catch (Exception ex) { try { if (cleanupTransaction == true && Transaction != null) { Transaction.Rollback(); } } catch { } try { if (cleanupConnection == true && Connection != null) { Connection.Close(); } } catch { } throw new Exception("Exception occured in method cls_Get_Billing_History_and_TreatmentNumber", ex); } return(functionReturn); }
protected static FR_L6BH_GBHaTNfTID_1039 Execute(DbConnection Connection, DbTransaction Transaction, P_L6BH_GBHaTNfTID_1039 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { #region UserCode var returnValue = new FR_L6BH_GBHaTNfTID_1039(); returnValue.Result = new L6BH_GBHaTNfTID_1039(); List <L5BH_GBHfTID_1415> billHistory = new List <L5BH_GBHfTID_1415>(); List <L6BH_GBHaTNfTID_1039_TreatmentNumberandTreatmentID> TreatmentNumberandTreatmentID = new List <L6BH_GBHaTNfTID_1039_TreatmentNumberandTreatmentID>(); List <L5BH_GBSfSHID_1402> BillHistoryStatusAndHeaderID = new List <L5BH_GBSfSHID_1402>(); returnValue.Result.billHistory = billHistory.ToArray(); returnValue.Result.TreatmentNumberandTreatmentID = TreatmentNumberandTreatmentID.ToArray(); returnValue.Result.BillHistoryStatusAndHeaderID = BillHistoryStatusAndHeaderID.ToArray(); returnValue.Result.CurrentPage = 1; returnValue.Result.NumberOfPages = 1; returnValue.Result.NumberOfElements = 0; List <String> StatusesThatAreNotChecked = new List <String>(); /* * @get billHistory * */ P_L5BH_GBHfTID_1415 par = new P_L5BH_GBHfTID_1415(); if (Parameter.IsASC_Order == false) { par.OrderBy = "DESC"; } else { par.OrderBy = "ASC"; } par.OrderValue = Parameter.OrderValue; par.StartIndex = (Parameter.PageClicked - 1) * Parameter.NumberOfElementsPerPage; par.NumberOfElements = Parameter.NumberOfElementsPerPage; if (Parameter.BillStatusID.Length == 0) { List <String> listWithGuidEmpty = new List <String>();// we use this when no status is checked String empty = String.Empty; listWithGuidEmpty.Add(empty); Parameter.BillStatusID = listWithGuidEmpty.ToArray(); } // set statuses that are IN and NOT IN for (int i = 0; i < 8; i++) { StatusesThatAreNotChecked.Add(i.ToString()); } foreach (var item in Parameter.BillStatusID.ToList())//remove statuses from StatusesThatAreNotChecked that are checked { StatusesThatAreNotChecked.Remove(item); } string InParameters = ""; for (int i = 0; i < Parameter.BillStatusID.Length; i++) { if (i != Parameter.BillStatusID.Length - 1) { InParameters += Parameter.BillStatusID[i] + ","; } else { InParameters += Parameter.BillStatusID[i]; } } par.InParameters = InParameters; string NOTInParameters = ""; for (int i = 0; i < StatusesThatAreNotChecked.Count; i++) { if (i != StatusesThatAreNotChecked.Count - 1) { NOTInParameters += StatusesThatAreNotChecked[i] + ","; } else { NOTInParameters += StatusesThatAreNotChecked[i]; } } par.NotInParameters = NOTInParameters; String searchCriterium = ""; if (Parameter.PatientFirstName != null && Parameter.PatientFirstName != "") { searchCriterium = " AND LOWER( cmn_per_personinfo.FirstName ) LIKE '%" + Parameter.PatientFirstName.ToLower() + "%'"; } if (Parameter.PatientLastName != null && Parameter.PatientLastName != "") { searchCriterium = searchCriterium + " AND LOWER( cmn_per_personinfo.LastName ) LIKE '%" + Parameter.PatientLastName.ToLower() + "%'"; } if (Parameter.BillID_From != 0) { searchCriterium = searchCriterium + " AND bil_billheaders.BillNumber >= " + Parameter.BillID_From; } if (Parameter.BillID_To != 0) { searchCriterium = searchCriterium + " AND bil_billheaders.BillNumber <= " + Parameter.BillID_To; } if (Parameter.ProcessNumber_From != 0) { searchCriterium = searchCriterium + " AND bil_billpositions.External_PositionReferenceField >= " + Parameter.ProcessNumber_From; } if (Parameter.ProcessNumber_To != 0) { searchCriterium = searchCriterium + " AND bil_billpositions.External_PositionReferenceField <= " + Parameter.ProcessNumber_To; } if (Parameter.DateFrom != null && Parameter.DateFrom != "") { searchCriterium = searchCriterium + " AND hec_patient_treatment.IfTreatmentPerformed_Date >= '" + Parameter.DateFrom + "'"; } if (Parameter.DateTo != null && Parameter.DateTo != "") { searchCriterium = searchCriterium + " AND hec_patient_treatment.IfTreatmentPerformed_Date <= '" + Parameter.DateTo + "'"; } par.SearchCriterium = searchCriterium; //get number of pages to display in pager P_L5BH_GBHCfT_1334 para = new P_L5BH_GBHCfT_1334(); para.BillStatusID = Parameter.BillStatusID; para.SearchCriterium = searchCriterium; var value = cls_Get_Billing_History_Count_for_TenantID.Invoke(Connection, Transaction, para, securityTicket).Result; int numberOfElements = value.NumberOfElements; returnValue.Result.NumberOfElements = value.NumberOfElements; int pageCount = (numberOfElements + Parameter.NumberOfElementsPerPage - 1) / Parameter.NumberOfElementsPerPage; returnValue.Result.CurrentPage = Parameter.PageClicked; returnValue.Result.NumberOfPages = pageCount; List <L5BH_GBHfTID_1415> billHistoryList = cls_Get_BillingHistory_for_TenantID.Invoke(Connection, Transaction, par, securityTicket).Result.ToList(); List <L5BH_GBHfTID_1415> temp = billHistoryList.GroupBy(t => t.TreatmentID).Select(g => g.First()).ToList(); List <L5BH_GBHfTID_1415> tempHeaderID = billHistoryList.GroupBy(t => t.BIL_BillHeaderID).Select(g => g.First()).ToList(); List <Guid> treatmentIDList = new List <Guid>(); Dictionary <Guid, Guid> patientIDandTreatmentID = new Dictionary <Guid, Guid>(); List <Guid> headerIDList = new List <Guid>(); foreach (var item in temp) { patientIDandTreatmentID.Add(item.TreatmentID, item.PatientID); } foreach (var item in tempHeaderID) { headerIDList.Add(item.BIL_BillHeaderID); } returnValue.Result.billHistory = billHistoryList.ToArray(); //get bill status P_L5BH_GBSfSHID_1402 billStatusParam = new P_L5BH_GBSfSHID_1402(); billStatusParam.BillHeaderID = headerIDList.ToArray(); try { BillHistoryStatusAndHeaderID = cls_Get_BillStatus_for_BillHeaderID.Invoke(Connection, Transaction, billStatusParam, securityTicket).Result.ToList(); } catch { } returnValue.Result.BillHistoryStatusAndHeaderID = BillHistoryStatusAndHeaderID.ToArray(); /* * @get Treatment number and join it with Treatment ID * */ List <L6BH_GBHaTNfTID_1039_TreatmentNumberandTreatmentID> TreatmentNumberAndIDList = new List <L6BH_GBHaTNfTID_1039_TreatmentNumberandTreatmentID>(); foreach (var key in patientIDandTreatmentID.Keys) { L6BH_GBHaTNfTID_1039_TreatmentNumberandTreatmentID treatmentNumberAndTreatmentID = new L6BH_GBHaTNfTID_1039_TreatmentNumberandTreatmentID(); treatmentNumberAndTreatmentID.TreatmentID = key; P_L5TR_GTIDaTDfPID_1130 par1 = new P_L5TR_GTIDaTDfPID_1130(); par1.PatientID = patientIDandTreatmentID[key]; var patientTreatments = cls_Get_TreatmentId_and_TreatmentDate_for_PatientID.Invoke(Connection, Transaction, par1, securityTicket).Result.ToList(); patientTreatments = patientTreatments.OrderBy(i => i.TreatmentDate).ToList(); if (patientTreatments.Count != 0) { var patientTreatment = patientTreatments.Where(i => i.TreatmentID == key).First(); treatmentNumberAndTreatmentID.TreatmentNumber = patientTreatments.IndexOf(patientTreatment) + 1; } TreatmentNumberAndIDList.Add(treatmentNumberAndTreatmentID); } returnValue.Result.TreatmentNumberandTreatmentID = TreatmentNumberAndIDList.ToArray(); return(returnValue); #endregion UserCode }