private void FindMismatch(TestReferral r) { if (Global.GetLength(this.evInfo) != Global.GetLength(r.evInfo)) { Global.errors2.Add("Несовпадение длинны EventsInfo TestReferral"); } if (Global.GetLength(this.patient) != Global.GetLength(r.patient)) { Global.errors2.Add("Несовпадение длинны TestPatient TestReferral"); } if (Global.GetLength(this.refInfo) != Global.GetLength(r.refInfo)) { Global.errors2.Add("Несовпадение длинны TestReferralInfo TestReferral"); } if (Global.GetLength(this.refSourse) != Global.GetLength(r.refSourse)) { Global.errors2.Add("Несовпадение длинны TestReferralSourse TestReferral"); } if (Global.GetLength(this.refSurvey) != Global.GetLength(r.refSurvey)) { Global.errors2.Add("Несовпадение длинны TestReferralSurvey TestReferral"); } if (Global.GetLength(this.refTarget) != Global.GetLength(r.refTarget)) { Global.errors2.Add("Несовпадение длинны TestReferralTarget TestReferral"); } }
public static TestReferral BuildReferralFromDataBaseData(string idReferral) { using (NpgsqlConnection connection = Global.GetSqlConnection()) { string findR = "SELECT * FROM public.referral WHERE id_referral = '" + idReferral + "'"; // string findR = "select id_patient_person from public.referral"; NpgsqlCommand Rcommand = new NpgsqlCommand(findR, connection); using (NpgsqlDataReader RReader = Rcommand.ExecuteReader()) { while (RReader.Read()) { TestReferral r = new TestReferral(); r.evInfo = TestEventsInfo.BuildAdditionalFromDataBaseData(idReferral); if (RReader["id_patient_person"] != DBNull.Value) r.patient = TestPatient.BuildPatientFromDataBaseData(RReader["id_patient_person"].ToString(), RReader["id_patient_source_mo_mis"].ToString()); r.refInfo = TestReferralInfo.BuildPersonFromDataBaseData(idReferral); r.refSourse = TestReferralSource.BuildSourceFromDataBaseData(idReferral); r.refSurvey = TestReferralSurvey.BuildAdditionalFromDataBaseData(idReferral); r.refTarget = TestReferralTarget.BuildTargetFromDataBaseData(idReferral); return r; } } } return null; }
static public TestReferral BuildReferralFromDataBaseData(string idReferral) { using (NpgsqlConnection connection = Global.GetSqlConnection()) { string findR = "SELECT * FROM public.referral WHERE id_referral = '" + idReferral + "'"; // string findR = "select id_patient_person from public.referral"; NpgsqlCommand Rcommand = new NpgsqlCommand(findR, connection); using (NpgsqlDataReader RReader = Rcommand.ExecuteReader()) { while (RReader.Read()) { TestReferral r = new TestReferral(); r.evInfo = TestEventsInfo.BuildAdditionalFromDataBaseData(idReferral); if (RReader["id_patient_person"] != DBNull.Value) { r.patient = TestPatient.BuildPatientFromDataBaseData(RReader["id_patient_person"].ToString(), RReader["id_patient_source_mo_mis"].ToString()); } r.refInfo = TestReferralInfo.BuildPersonFromDataBaseData(idReferral); r.refSourse = TestReferralSource.BuildSourceFromDataBaseData(idReferral); r.refSurvey = TestReferralSurvey.BuildAdditionalFromDataBaseData(idReferral); r.refTarget = TestReferralTarget.BuildTargetFromDataBaseData(idReferral); return(r); } } } return(null); }
public SearchOneDirectionResult SearchOne(Credentials cr, Options o) { try { List <string> s = TestOptions.GetReferralId(o); var r = client.SearchOne(cr, o); if (s.Count != 1) { if (r.QLength != 0) { Global.errors1.Add("Найдено больше одного совпадения, но SearchOne нашел " + r.QLength.ToString()); } else { ; } } else if (!TestReferral.BuildReferralFromDataBaseData(s[0]).Equals(new TestReferral(r.Referral))) { Global.errors1.AddRange(Global.errors2); Global.errors1.Add("Несовпадение"); } return(r); } catch (System.ServiceModel.FaultException <MqTests.WebReference.MqFault> e) { getErrors(e.Detail); Global.errors1.Add("ЭКСЕПШН"); return(null); } }
public MqResult Cancellation(Credentials cr, Referral r) { try { TestReferral tr = TestReferral.BuildReferralFromDataBaseData(r.ReferralInfo.IdMq); tr.evInfo.cancellation = new TestCancellation(r.EventsInfo.Cancellation); MqResult x = client.Cancellation(cr, r); if (tr != TestReferral.BuildReferralFromDataBaseData(x.IdMq)) { Global.errors1.Add("Несовпадение"); Global.errors1.AddRange(Global.errors2); } return(x); } catch (System.ServiceModel.FaultException <MqTests.WebReference.MqFault[]> e) { getErrors(e.Detail); return(null); } catch (System.ServiceModel.FaultException <MqTests.WebReference.MqFault> e) { Global.errors1.Add(e.Detail.PropertyName + " - " + e.Detail.Message); return(null); } }
public override bool Equals(Object obj) { TestReferral p = obj as TestReferral; if ((Global.IsEqual(this.evInfo, p?.evInfo)) && (Global.IsEqual(this.patient, p?.patient)) && (Global.IsEqual(this.refInfo, p?.refInfo)) && (Global.IsEqual(this.refSourse, p?.refSourse)) && (Global.IsEqual(this.refSurvey, p?.refSurvey)) && (Global.IsEqual(this.refTarget, p?.refTarget))) { return(true); } else { this.FindMismatch(p); Global.errors2.Add("несовпадение TestReferral"); return(false); } }
public MqResult UpdateFromTargetMo(Credentials cr, Referral r) { try { TestReferral br = TestReferral.BuildReferralFromDataBaseData(r.ReferralInfo.IdMq); MqResult x = client.UpdateFromTargetMo(cr, r); br.UpdateTestReferral(r, cr.Organization); if (br != TestReferral.BuildReferralFromDataBaseData(x.IdMq)) { Global.errors1.Add("Несовпадение"); Global.errors1.AddRange(Global.errors2); } return(x); } catch (System.ServiceModel.FaultException <MqTests.WebReference.MqFault> e) { getErrors(e.Detail); Global.errors1.Add("ЭКСЕПШН"); return(null); } }
public MqResult Register(Credentials cr, Referral r) { try { MqResult x = client.Register(cr, r); r.ReferralInfo.MqReferralStatus = x.MqReferralStatus; r.ReferralInfo.IdMq = x.IdMq; if (!new TestReferral(r, cr.Organization).Equals(TestReferral.BuildReferralFromDataBaseData(x.IdMq))) { Global.errors1.Add("Несовпадение"); Global.errors1.AddRange(Global.errors2); } return(x); } catch (System.ServiceModel.FaultException <MqTests.WebReference.MqFault> e) { getErrors(e.Detail); Global.errors1.Add("ЭКСЕПШН"); return(null); } }
//QueueInfo как работает? //public QueueInfo SearchOne(Credentials cr, Options o) //{ // try // { // List<string> s = TestOptions.GetReferralId(o); // var r = client.GetQueueInfo(cr, o); // if (s.Count != 1) // if (r. != 0) // Global.errors1.Add("Найдено больше одного совпадения, но SearchOne нашел " + // r.QLength.ToString()); // else; // else if (!TestReferral.BuildReferralFromDataBaseData(s[0]).Equals(new TestReferral(r.Referral))) // { // Global.errors1.AddRange(Global.errors2); // Global.errors1.Add("Несовпадение"); // } // return r; // } // catch (System.ServiceModel.FaultException<MqTests.WebReference.MqFault> e) // { // getErrors(e.Detail); // Global.errors1.Add("ЭКСЕПШН"); // return null; // } //} public SearchManyDirectionResult SearchMany(Credentials cr, Options o) { try { List <string> s = TestOptions.GetReferralId(o); var r = client.SearchMany(cr, o); if ((s.Count != r.QLength) && (s.Count < 1000)) { Global.errors1.Add("Найдено " + s.Count.ToString() + " совпадений, но SearchMany нашел " + r.QLength.ToString()); } else { List <TestReferral> lr = new List <TestReferral>(); List <TestReferral> rlr = new List <TestReferral>(); foreach (var i in s) { lr.Add(TestReferral.BuildReferralFromDataBaseData(i)); } foreach (var i in r.Referrals) { rlr.Add(new TestReferral(i)); } if (!Global.IsEqual(lr.ToArray(), rlr.ToArray())) { Global.errors1.AddRange(Global.errors2); Global.errors1.Add("Несовпадение"); } } return(r); } catch (System.ServiceModel.FaultException <MqTests.WebReference.MqFault> e) { getErrors(e.Detail); Global.errors1.Add("ЭКСЕПШН"); return(null); } }
public MqResult UpdateFromTargetMo(Credentials cr, Referral r) { try { MqResult x = client.UpdateFromTargetMo(cr, r); if (new TestReferral(r, cr.Organization) != TestReferral.BuildReferralFromDataBaseData(x.IdMq)) { Global.errors1.Add("Несовпадение"); Global.errors1.AddRange(Global.errors2); } return(x); } catch (System.ServiceModel.FaultException <MqTests.WebReference.MqFault[]> e) { getErrors(e.Detail); return(null); } catch (System.ServiceModel.FaultException <MqTests.WebReference.MqFault> e) { Global.errors1.Add(e.Detail.PropertyName + " - " + e.Detail.Message); return(null); } }
private void FindMismatch(TestReferral r) { if (Global.GetLength(this.evInfo) != Global.GetLength(r.evInfo)) Global.errors2.Add("Несовпадение длинны EventsInfo TestReferral"); if (Global.GetLength(this.patient) != Global.GetLength(r.patient)) Global.errors2.Add("Несовпадение длинны TestPatient TestReferral"); if (Global.GetLength(this.refInfo) != Global.GetLength(r.refInfo)) Global.errors2.Add("Несовпадение длинны TestReferralInfo TestReferral"); if (Global.GetLength(this.refSourse) != Global.GetLength(r.refSourse)) Global.errors2.Add("Несовпадение длинны TestReferralSourse TestReferral"); if (Global.GetLength(this.refSurvey) != Global.GetLength(r.refSurvey)) Global.errors2.Add("Несовпадение длинны TestReferralSurvey TestReferral"); if (Global.GetLength(this.refTarget) != Global.GetLength(r.refTarget)) Global.errors2.Add("Несовпадение длинны TestReferralTarget TestReferral"); }