public void MyTestCleanup()
 {
     using (var objBal = new TPXMLParsedDataBal())
     {
         var isdeleted = objBal.DeleteXMLParsedData(this.corporateId, this.facilityId);
     }
 }
        public void UploadXML()
        {
            string xml = XmlParser.GetXML(this.xmlFilePath);

            if (!string.IsNullOrEmpty(xml))
            {
                using (var bal = new XMLBillingBal())
                {
                    string result = bal.XMLBillFileParser(
                        xml,
                        this.xmlFilePath,
                        true,
                        this.corporateId,
                        this.facilityId,
                        string.Empty); // ..... Parsing of the XMl Data

                    // get the parsed File for the CID and FID
                    var objBal       = new TPXMLParsedDataBal();
                    var fileInserted = objBal.TPXMLFilesListCIDFID(this.corporateId, this.facilityId);
                    Assert.IsTrue(fileInserted.Any());

                    // get the parsed Data for the CID and FID
                    var xmlparsedData = objBal.TPXMLParsedDataListCIDFID(this.corporateId, this.facilityId);
                    Assert.IsTrue(xmlparsedData.Any());

                    foreach (var item in xmlparsedData.GroupBy(x => x.OMBillID).Select(x => x.FirstOrDefault()).ToList())
                    {
                        Assert.IsNotNull(item.OMBillID);

                        // ...BillHeader Check
                        using (var billheaderBal = new BillHeaderBal())
                        {
                            var getclaimBill = billheaderBal.GetBillHeaderById(Convert.ToInt32(item.OMBillID));
                            Assert.IsNotNull(getclaimBill.BillHeaderID);
                            Assert.AreEqual(item.OMBillID, getclaimBill.BillHeaderID);
                        }

                        // ... BillActivity Checks
                        using (var billActivitybal = new BillActivityBal())
                        {
                            var getBillAct = billActivitybal.GetBillActivitiesByBillHeaderId(Convert.ToInt32(item.OMBillID));
                            Assert.IsTrue(getBillAct.Any());
                            Assert.AreEqual(getBillAct.PickRandom().BillHeaderID, Convert.ToInt32(item.OMBillID));
                        }

                        // ... OpenOrder Checks
                        Assert.IsNotNull(item.OMEncounterID);
                        using (var openOrderbal = new OpenOrderBal())
                        {
                            var getOpenOrders = openOrderbal.GetOrdersByEncounterid(Convert.ToInt32(item.OMEncounterID));
                            Assert.IsTrue(getOpenOrders.Any());
                            Assert.AreEqual(getOpenOrders.PickRandom().EncounterID, Convert.ToInt32(item.OMEncounterID));
                        }

                        // ... OpenOrderActivity Checks
                        using (var openOrderactbal = new OrderActivityBal())
                        {
                            var getOpenOrdersAct = openOrderactbal.GetOrderActivitiesByEncounterId(Convert.ToInt32(item.OMEncounterID));
                            Assert.IsTrue(getOpenOrdersAct.Any());
                            Assert.AreEqual(getOpenOrdersAct.PickRandom().EncounterID, Convert.ToInt32(item.OMEncounterID));
                        }

                        // ... Scrub Header Checks
                        // using (var scrubHeaderbal = new ScrubReportBal())
                        // {
                        // var getOpenOrdersAct = scrubHeaderbal.GetScrubHeaderByEncounter(Convert.ToInt32(item.OMEncounterID));
                        // Assert.IsTrue(getOpenOrdersAct.Any());
                        // Assert.AreEqual(getOpenOrdersAct.PickRandom().EncounterID, Convert.ToInt32(item.OMEncounterID));
                        // Assert.IsTrue(getOpenOrdersAct.PickRandom().Passed > 0);
                        // }
                    }

                    // Delete the Data from all tables involved
                    var isdeleted = objBal.DeleteXMLParsedData(this.corporateId, this.facilityId);
                    Assert.IsTrue(isdeleted);
                }
            }
        }