Exemple #1
0
 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");
     }
 }
Exemple #2
0
        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);
        }
Exemple #3
0
        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);
            }
        }
Exemple #4
0
 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);
     }
 }
Exemple #5
0
 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);
 }
Exemple #6
0
        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)
            //{

            //}
        }
Exemple #7
0
        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);
                }
            }
        }
Exemple #8
0
 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");
 }
Exemple #9
0
 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;
 }
Exemple #10
0
        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)
            //{

            //}
        }