private void FindMismatch(TestAmbCase ac) { if (this.caseAmb.IsActive != ac.caseAmb.IsActive) { Global.errors2.Add("несовпадение IsActive caseAmb"); } if (this.caseAmb.IdAmbResult != ac.caseAmb.IdAmbResult) { Global.errors2.Add("несовпадение IdAmbResult caseAmb"); } if (this.caseAmb.IdCasePurpose != ac.caseAmb.IdCasePurpose) { Global.errors2.Add("несовпадение IdCasePurpose caseAmb"); } if (Global.GetLength(this.steps) != Global.GetLength(ac.steps)) { Global.errors2.Add("несовпадение длины Steps caseAmb"); } if (Global.GetLength(this.medRecords) != Global.GetLength(ac.medRecords)) { Global.errors2.Add("Несовпадение длины MedRecords CaseAmb"); } if (Global.GetLength(this.caseBase) != Global.GetLength(ac.caseBase)) { Global.errors2.Add("Несовпадение длины caseBase CaseAmb"); } }
public bool CheckCaseInDataBase() { string patientId = TestPerson.GetPersonId(GUID, caseBase.caseBase.IdLpu, caseBase.patient.patient.IdPatientMIS); TestAmbCase ac = TestAmbCase.BuildAmbCaseFromDataBaseData(GUID, caseBase.caseBase.IdLpu, caseBase.caseBase.IdCaseMis, patientId); //this.Equals(ac); return(this == ac); }
public override bool Equals(Object obj) { TestAmbCase p = obj as TestAmbCase; if ((object)p == null) { return(false); } if (Global.IsEqual(this.caseBase, p.caseBase) && Global.IsEqual(this.medRecords, p.medRecords) && Global.IsEqual(this.steps, p.steps) && (this.caseAmb.IsActive == p.caseAmb.IsActive) && (this.caseAmb.IdAmbResult == p.caseAmb.IdAmbResult) && (this.caseAmb.IdCasePurpose == p.caseAmb.IdCasePurpose)) { return(true); } else { this.FindMismatch(p); Global.errors2.Add("несовпадение TestAmbCase"); return(false); } }
public void GetCasesByPeriod(string GUID, DateTime datestart, DateTime dateend) { List<TestCaseBase> MyFindedCase = new List<TestCaseBase>(); using (SqlConnection connection = Global.GetSqlConnection()) { string findCaseString = "SELECT * FROM \"Case\" WHERE OpenDate >= '" + datestart + "' AND OpenDate <= '" + dateend + "' AND CloseDate IS NOT NULL AND IsCancelled = 'False'"; SqlCommand command = new SqlCommand(findCaseString, connection); using (SqlDataReader IdCaseReader = command.ExecuteReader()) { while (IdCaseReader.Read()) { string guid = IdCaseReader["SystemGuid"].ToString(); string idCaseMis = IdCaseReader["IdCaseMIS"].ToString(); string idLpu = Global.GetIdIdLpu(IdCaseReader["IdLpu"].ToString()); string patientId = IdCaseReader["IdPerson"].ToString(); TestAmbCase ambCase = TestAmbCase.BuildAmbCaseFromDataBaseData(guid, idLpu, idCaseMis, patientId); if ((object)ambCase != null) MyFindedCase.Add(ambCase); TestStatCase statCase = TestStatCase.BuildAmbCaseFromDataBaseData(guid, idLpu, idCaseMis, patientId); if ((object)statCase != null) MyFindedCase.Add(statCase); string idCase = IdCaseReader["IdCase"].ToString(); } } } CaseBase[] cb = client.GetCasesByPeriod(GUID, datestart, dateend); List<TestCaseBase> FunctionFindedCase = new List<TestCaseBase>(); foreach (CaseBase i in cb) { CaseAmb ca = i as CaseAmb; if ((object)ca != null) { using (SqlConnection connection = Global.GetSqlConnection()) { string findCaseString = "SELECT TOP(1) [SystemGuid] FROM \"ExternalId\" WHERE IdLpu = '" + Global.GetIdInstitution(ca.IdLpu) + "' AND IdPersonMIS = '" + ca.IdPatientMis + "'"; SqlCommand command = new SqlCommand(findCaseString, connection); using (SqlDataReader IdCaseReader = command.ExecuteReader()) { while (IdCaseReader.Read()) { GUID = IdCaseReader["SystemGuid"].ToString(); } } } TestAmbCase tac = new TestAmbCase(GUID, (EMKServise.CaseAmb)ConvertCase(ca)); //if (!tac.CheckCaseInDataBase()) // Global.errors1.Add("Что-то пошло не так"); FunctionFindedCase.Add(tac); } CaseStat cs = i as CaseStat; if ((object)cs != null) { using (SqlConnection connection = Global.GetSqlConnection()) { string findCaseString = "SELECT TOP(1) [SystemGuid] FROM \"ExternalId\" WHERE IdLpu = '" + Global.GetIdInstitution(cs.IdLpu) + "' AND IdPersonMIS = '" + cs.IdPatientMis + "'"; SqlCommand command = new SqlCommand(findCaseString, connection); using (SqlDataReader IdCaseReader = command.ExecuteReader()) { while (IdCaseReader.Read()) { GUID = IdCaseReader["SystemGuid"].ToString(); } } } TestStatCase tsc = new TestStatCase(GUID, (EMKServise.CaseStat)ConvertCase(cs)); //if (!tsc.CheckCaseInDataBase()) // Global.errors1.Add("Что-то пошло не так"); FunctionFindedCase.Add(tsc); } } if (Global.GetLength(MyFindedCase) > Global.GetLength(FunctionFindedCase)) Global.errors1.Add("Возвращено меньше, чем в базе"); if (Global.GetLength(MyFindedCase) < Global.GetLength(FunctionFindedCase)) Global.errors1.Add("Возвращено больше, чем в базе"); if (Global.GetLength(MyFindedCase) == Global.GetLength(FunctionFindedCase)) { if (!Global.IsEqual(MyFindedCase.ToArray(), FunctionFindedCase.ToArray())) Global.errors1.AddRange(Global.errors2); } }
static public TestAmbCase BuildAmbCaseFromDataBaseData(string guid, string idlpu, string mis, string patientId) { if ((guid != string.Empty) && (idlpu != string.Empty) && (mis != string.Empty) && (patientId != string.Empty)) { string caseId = TestCaseBase.GetCaseId(guid, idlpu, mis, patientId); if (caseId != null) { CaseAmb ca = new CaseAmb(); using (SqlConnection connection = Global.GetSqlConnection()) { string findCase = "SELECT TOP(1) * FROM AmbCase WHERE IdCase = '" + caseId + "'"; SqlCommand caseCommand = new SqlCommand(findCase, connection); using (SqlDataReader caseReader = caseCommand.ExecuteReader()) { while (caseReader.Read()) { if (caseReader["IdCasePurpose"].ToString() != "") { ca.IdCasePurpose = Convert.ToByte(caseReader["IdCasePurpose"]); } if (caseReader["IdAmbResult"].ToString() != "") { ca.IdAmbResult = Convert.ToByte(caseReader["IdAmbResult"]); } if (caseReader["IsActive"].ToString() != "") { ca.IsActive = Convert.ToBoolean(caseReader["IsActive"]); } TestAmbCase ambcase = new TestAmbCase(guid, ca); ambcase.caseBase = TestCaseBase.BuildBaseCaseFromDataBaseData(guid, idlpu, mis, patientId); ambcase.ambSteps = TestAmbStep.BuildAmbTestStepsFromDataBase(caseId, ca.IdLpu); List <TestStepBase> st = TestStepBase.BuildTestStepsFromDataBase(caseId, ca.IdLpu); if (st != null) { foreach (TestStepBase i in st) { if (Global.IsEqual(i.step.IdStepMis, null)) { ambcase.defaultStep = i; } } if (!Global.IsEqual(ambcase.defaultStep, null)) { ambcase.records = new List <TestMedRecord>(); List <TestService> ser = TestService.BuildServiseFromDataBaseData(ambcase.defaultStep.idStep); if (!Global.IsEqual(ser, null)) { ambcase.records.AddRange(ser); } TestTfomsInfo forms = TestTfomsInfo.BuildTfomsInfoFromDataBaseDate(ambcase.defaultStep.idStep); if (!Global.IsEqual(forms, null)) { ambcase.records.Add(forms); } TestDeathInfo tdi = TestDeathInfo.BuildDeathInfoFromDataBaseDate(ambcase.defaultStep.idStep); if (!Global.IsEqual(tdi, null)) { ambcase.records.Add(tdi); } List <TestDiagnosis> td = TestDiagnosis.BuildDiagnosisFromDataBaseDate(ambcase.defaultStep.idStep); if (!Global.IsEqual(td, null)) { ambcase.records.AddRange(td); } TestClinicMainDiagnosis acdm = TestClinicMainDiagnosis.BuildTestClinicMainDiagnosisFromDataBaseDate(ambcase.defaultStep.idStep); if (!Global.IsEqual(acdm, null)) { ambcase.records.Add(acdm); } List <TestReferral> trl = TestReferral.BuildReferralFromDataBaseData(ambcase.defaultStep.idStep); if (!Global.IsEqual(trl, null)) { ambcase.records.AddRange(trl); } List <TestSickList> tsl = TestSickList.BuildSickListFromDataBaseData(ambcase.defaultStep.idStep, patientId); if (!Global.IsEqual(tsl, null)) { ambcase.records.AddRange(tsl); } TestDischargeSummary tds = TestDischargeSummary.BuildSickListFromDataBaseData(ambcase.defaultStep.idStep); if (!Global.IsEqual(tds, null)) { ambcase.records.Add(tds); } List <TestLaboratoryReport> tlr = TestLaboratoryReport.BuildLaboratoryReportFromDataBaseData(ambcase.defaultStep.idStep); if (!Global.IsEqual(tlr, null)) { ambcase.records.AddRange(tlr); } TestConsultNote tcn = TestConsultNote.BuildSickListFromDataBaseData(ambcase.defaultStep.idStep); if (!Global.IsEqual(tcn, null)) { ambcase.records.Add(tcn); } TestDispensaryOne d1 = TestDispensaryOne.BuildSickListFromDataBaseData(ambcase.defaultStep.idStep); if (!Global.IsEqual(d1, null)) { ambcase.records.Add(d1); } List <TestAppointedMedication> ap = TestAppointedMedication.BuildAppointedMedicationFromDataBaseDate(ambcase.defaultStep.idStep); if (!Global.IsEqual(ap, null)) { ambcase.records.AddRange(ap); } if (ambcase.records.Count == 0) { ambcase.records = null; } } } return(ambcase); } } } } } return(null); }
private void CaseWork(string guid, CaseBase c, string method) { try { CaseAmb ca = c as CaseAmb; if ((object)ca != null) { TestAmbCase example = null; switch (method) { case "AddCase": client.AddCase(guid, ca); example = new TestAmbCase(guid, ca); break; case "CreateCase": client.CreateCase(guid, ca); example = new TestAmbCase(guid, ca); break; case "CloseCase": string patientId = TestPerson.GetPersonId(guid, ca.IdLpu, ca.IdPatientMis); example = TestAmbCase.BuildAmbCaseFromDataBaseData(guid, ca.IdLpu, ca.IdCaseMis, patientId); client.CloseCase(guid, ca); example.ChangeUpdateAmbCase(guid, ca); break; case "UpdateCase": client.UpdateCase(guid, ca); example = new TestAmbCase(guid, ca); break; } if (!example.CheckCaseInDataBase()) { Global.errors1.AddRange(Global.errors2); Global.errors1.Add("Несовпадение"); } } CaseStat cs = c as CaseStat; if ((object)cs != null) { TestStatCase example = null; switch (method) { case "AddCase": client.AddCase(guid, cs); example = new TestStatCase(guid, cs); break; case "CreateCase": client.CreateCase(guid, cs); example = new TestStatCase(guid, cs); break; case "CloseCase": string patientId = TestPerson.GetPersonId(guid, cs.IdLpu, cs.IdPatientMis); example = TestStatCase.BuildAmbCaseFromDataBaseData(guid, cs.IdLpu, cs.IdCaseMis, patientId); client.CloseCase(guid, cs); example.ChangeUpdateStatCase(guid, cs); break; case "UpdateCase": client.UpdateCase(guid, cs); example = new TestStatCase(guid, cs); break; } if (!example.CheckCaseInDataBase()) { Global.errors1.AddRange(Global.errors2); Global.errors1.Add("Несовпадение"); } } } catch (System.ServiceModel.FaultException <List <PixServiseTests.EMKServise.RequestFault> > e) { getErrors(e.Detail); } catch (System.ServiceModel.FaultException <PixServiseTests.EMKServise.RequestFault[]> e) { getErrors(e.Detail); } catch (System.ServiceModel.FaultException <PixServiseTests.EMKServise.RequestFault> e) { Global.errors1.Add(e.Detail.PropertyName + " - " + e.Detail.Message); getErrors(e.Detail.Errors); } //catch (Exception e) //{ //} }
public void GetCasesByPeriod(string GUID, DateTime datestart, DateTime dateend) { List <TestCaseBase> MyFindedCase = new List <TestCaseBase>(); using (SqlConnection connection = Global.GetSqlConnection()) { string findCaseString = "SELECT * FROM \"Case\" WHERE OpenDate >= '" + datestart + "' AND OpenDate <= '" + dateend + "' AND CloseDate IS NOT NULL AND IsCancelled = 'False'"; SqlCommand command = new SqlCommand(findCaseString, connection); using (SqlDataReader IdCaseReader = command.ExecuteReader()) { while (IdCaseReader.Read()) { string guid = IdCaseReader["SystemGuid"].ToString(); string idCaseMis = IdCaseReader["IdCaseMIS"].ToString(); string idLpu = Global.GetIdIdLpu(IdCaseReader["IdLpu"].ToString()); string patientId = IdCaseReader["IdPerson"].ToString(); TestAmbCase ambCase = TestAmbCase.BuildAmbCaseFromDataBaseData(guid, idLpu, idCaseMis, patientId); if ((object)ambCase != null) { MyFindedCase.Add(ambCase); } TestStatCase statCase = TestStatCase.BuildAmbCaseFromDataBaseData(guid, idLpu, idCaseMis, patientId); if ((object)statCase != null) { MyFindedCase.Add(statCase); } string idCase = IdCaseReader["IdCase"].ToString(); } } } CaseBase[] cb = client.GetCasesByPeriod(GUID, datestart, dateend); List <TestCaseBase> FunctionFindedCase = new List <TestCaseBase>(); foreach (CaseBase i in cb) { CaseAmb ca = i as CaseAmb; if ((object)ca != null) { using (SqlConnection connection = Global.GetSqlConnection()) { string findCaseString = "SELECT TOP(1) [SystemGuid] FROM \"ExternalId\" WHERE IdLpu = '" + Global.GetIdInstitution(ca.IdLpu) + "' AND IdPersonMIS = '" + ca.IdPatientMis + "'"; SqlCommand command = new SqlCommand(findCaseString, connection); using (SqlDataReader IdCaseReader = command.ExecuteReader()) { while (IdCaseReader.Read()) { GUID = IdCaseReader["SystemGuid"].ToString(); } } } TestAmbCase tac = new TestAmbCase(GUID, (EMKServise.CaseAmb)ConvertCase(ca)); //if (!tac.CheckCaseInDataBase()) // Global.errors1.Add("Что-то пошло не так"); FunctionFindedCase.Add(tac); } CaseStat cs = i as CaseStat; if ((object)cs != null) { using (SqlConnection connection = Global.GetSqlConnection()) { string findCaseString = "SELECT TOP(1) [SystemGuid] FROM \"ExternalId\" WHERE IdLpu = '" + Global.GetIdInstitution(cs.IdLpu) + "' AND IdPersonMIS = '" + cs.IdPatientMis + "'"; SqlCommand command = new SqlCommand(findCaseString, connection); using (SqlDataReader IdCaseReader = command.ExecuteReader()) { while (IdCaseReader.Read()) { GUID = IdCaseReader["SystemGuid"].ToString(); } } } TestStatCase tsc = new TestStatCase(GUID, (EMKServise.CaseStat)ConvertCase(cs)); //if (!tsc.CheckCaseInDataBase()) // Global.errors1.Add("Что-то пошло не так"); FunctionFindedCase.Add(tsc); } } if (Global.GetLength(MyFindedCase) > Global.GetLength(FunctionFindedCase)) { Global.errors1.Add("Возвращено меньше, чем в базе"); } if (Global.GetLength(MyFindedCase) < Global.GetLength(FunctionFindedCase)) { Global.errors1.Add("Возвращено больше, чем в базе"); } if (Global.GetLength(MyFindedCase) == Global.GetLength(FunctionFindedCase)) { if (!Global.IsEqual(MyFindedCase.ToArray(), FunctionFindedCase.ToArray())) { Global.errors1.AddRange(Global.errors2); } } }
private void FindMismatch(TestAmbCase ac) { if (this.caseAmb.IsActive != ac.caseAmb.IsActive) Global.errors2.Add("несовпадение IsActive caseAmb"); if (this.caseAmb.IdAmbResult != ac.caseAmb.IdAmbResult) Global.errors2.Add("несовпадение IdAmbResult caseAmb"); if (this.caseAmb.IdCasePurpose != ac.caseAmb.IdCasePurpose) Global.errors2.Add("несовпадение IdCasePurpose caseAmb"); if (Global.GetLength(this.steps) != Global.GetLength(ac.steps)) Global.errors2.Add("несовпадение длины Steps caseAmb"); if (Global.GetLength(this.medRecords) != Global.GetLength(ac.medRecords)) Global.errors2.Add("Несовпадение длины MedRecords CaseAmb"); if (Global.GetLength(this.caseBase) != Global.GetLength(ac.caseBase)) Global.errors2.Add("Несовпадение длины caseBase CaseAmb"); }
public static TestAmbCase BuildAmbCaseFromDataBaseData(string guid, string idlpu, string mis, string patientId) { if ((guid != string.Empty) && (idlpu != string.Empty) && (mis != string.Empty) && (patientId != string.Empty)) { string caseId = TestCaseBase.GetCaseId(guid, idlpu, mis, patientId); if (caseId != null) { CaseAmb ca = new CaseAmb(); using (SqlConnection connection = Global.GetSqlConnection()) { string findCase = "SELECT TOP(1) * FROM AmbCase WHERE IdCase = '" + caseId + "'"; SqlCommand caseCommand = new SqlCommand(findCase, connection); using (SqlDataReader caseReader = caseCommand.ExecuteReader()) { while (caseReader.Read()) { if (caseReader["IdCasePurpose"].ToString() != "") ca.IdCasePurpose = Convert.ToByte(caseReader["IdCasePurpose"]); if (caseReader["IdAmbResult"].ToString() != "") ca.IdAmbResult = Convert.ToByte(caseReader["IdAmbResult"]); if (caseReader["IsActive"].ToString() != "") ca.IsActive = Convert.ToBoolean(caseReader["IsActive"]); TestAmbCase ambcase = new TestAmbCase(guid, ca); ambcase.caseBase = TestCaseBase.BuildBaseCaseFromDataBaseData(guid, idlpu, mis, patientId); ambcase.ambSteps = TestAmbStep.BuildAmbTestStepsFromDataBase(caseId, ca.IdLpu); List<TestStepBase> st = TestStepBase.BuildTestStepsFromDataBase(caseId, ca.IdLpu); if (st != null) { foreach (TestStepBase i in st) { if (Global.IsEqual(i.step.IdStepMis, null)) ambcase.defaultStep = i; } if (!Global.IsEqual(ambcase.defaultStep, null)) { ambcase.records = new List<TestMedRecord>(); List<TestService> ser = TestService.BuildServiseFromDataBaseData(ambcase.defaultStep.idStep); if (!Global.IsEqual(ser, null)) ambcase.records.AddRange(ser); TestTfomsInfo forms = TestTfomsInfo.BuildTfomsInfoFromDataBaseDate(ambcase.defaultStep.idStep); if (!Global.IsEqual(forms, null)) ambcase.records.Add(forms); TestDeathInfo tdi = TestDeathInfo.BuildDeathInfoFromDataBaseDate(ambcase.defaultStep.idStep); if (!Global.IsEqual(tdi, null)) ambcase.records.Add(tdi); List<TestDiagnosis> td = TestDiagnosis.BuildDiagnosisFromDataBaseDate(ambcase.defaultStep.idStep); if (!Global.IsEqual(td, null)) ambcase.records.AddRange(td); TestClinicMainDiagnosis acdm = TestClinicMainDiagnosis.BuildTestClinicMainDiagnosisFromDataBaseDate(ambcase.defaultStep.idStep); if (!Global.IsEqual(acdm, null)) ambcase.records.Add(acdm); List<TestReferral> trl = TestReferral.BuildReferralFromDataBaseData(ambcase.defaultStep.idStep); if (!Global.IsEqual(trl, null)) ambcase.records.AddRange(trl); List<TestSickList> tsl = TestSickList.BuildSickListFromDataBaseData(ambcase.defaultStep.idStep, patientId); if (!Global.IsEqual(tsl, null)) ambcase.records.AddRange(tsl); TestDischargeSummary tds = TestDischargeSummary.BuildSickListFromDataBaseData(ambcase.defaultStep.idStep); if (!Global.IsEqual(tds, null)) ambcase.records.Add(tds); List<TestLaboratoryReport> tlr = TestLaboratoryReport.BuildLaboratoryReportFromDataBaseData(ambcase.defaultStep.idStep); if (!Global.IsEqual(tlr, null)) ambcase.records.AddRange(tlr); TestConsultNote tcn = TestConsultNote.BuildSickListFromDataBaseData(ambcase.defaultStep.idStep); if (!Global.IsEqual(tcn, null)) ambcase.records.Add(tcn); TestDispensaryOne d1 = TestDispensaryOne.BuildSickListFromDataBaseData(ambcase.defaultStep.idStep); if (!Global.IsEqual(d1, null)) ambcase.records.Add(d1); List<TestAppointedMedication> ap = TestAppointedMedication.BuildAppointedMedicationFromDataBaseDate(ambcase.defaultStep.idStep); if (!Global.IsEqual(ap, null)) ambcase.records.AddRange(ap); if (ambcase.records.Count == 0) ambcase.records = null; } } return ambcase; } } } } } return null; }
private void CaseWork(string guid, CaseBase c, string method) { try { CaseAmb ca = c as CaseAmb; if ((object)ca != null) { TestAmbCase example = null; switch (method) { case "AddCase": client.AddCase(guid, ca); example = new TestAmbCase(guid, ca); break; case "CreateCase": client.CreateCase(guid, ca); example = new TestAmbCase(guid, ca); break; case "CloseCase": string patientId = TestPerson.GetPersonId(guid, ca.IdLpu, ca.IdPatientMis); example = TestAmbCase.BuildAmbCaseFromDataBaseData(guid, ca.IdLpu, ca.IdCaseMis, patientId); client.CloseCase(guid, ca); example.ChangeUpdateAmbCase(guid, ca); break; case "UpdateCase": client.UpdateCase(guid, ca); example = new TestAmbCase(guid, ca); break; } if (!example.CheckCaseInDataBase()) { Global.errors1.AddRange(Global.errors2); Global.errors1.Add("Несовпадение"); } } CaseStat cs = c as CaseStat; if ((object)cs != null) { TestStatCase example = null; switch (method) { case "AddCase": client.AddCase(guid, cs); example = new TestStatCase(guid, cs); break; case "CreateCase": client.CreateCase(guid, cs); example = new TestStatCase(guid, cs); break; case "CloseCase": string patientId = TestPerson.GetPersonId(guid, cs.IdLpu, cs.IdPatientMis); example = TestStatCase.BuildAmbCaseFromDataBaseData(guid, cs.IdLpu, cs.IdCaseMis, patientId); client.CloseCase(guid, cs); example.ChangeUpdateStatCase(guid, cs); break; case "UpdateCase": client.UpdateCase(guid, cs); example = new TestStatCase(guid, cs); break; } if (!example.CheckCaseInDataBase()) { Global.errors1.AddRange(Global.errors2); Global.errors1.Add("Несовпадение"); } } } catch (System.ServiceModel.FaultException<List<PixServiseTests.EMKServise.RequestFault>> e) { getErrors(e.Detail); } catch (System.ServiceModel.FaultException<PixServiseTests.EMKServise.RequestFault[]> e) { getErrors(e.Detail); } catch (System.ServiceModel.FaultException<PixServiseTests.EMKServise.RequestFault> e) { Global.errors1.Add(e.Detail.PropertyName + " - " + e.Detail.Message); getErrors(e.Detail.Errors); } //catch (Exception e) //{ //} }