protected void MergeFile(bool isAgedCare, string originalFile, string outputFile) { Booking booking = BookingDB.GetByID(GetFormBooking()); DataTable dt = Session["invoicelistac_data"] as DataTable; string orgAddressText, orgAddressTabbedText, orgPhoneText, orgFaxText, orgWebText, orgEmailText; if (Utilities.GetAddressType().ToString() == "Contact") { Contact orgAddress = ContactDB.GetFirstByEntityID(1, booking.Organisation != null ? booking.Organisation.EntityID : -1); Contact orgPhone = ContactDB.GetFirstByEntityID(null, booking.Organisation != null ? booking.Organisation.EntityID : -1, "30,33,34"); Contact orgFax = ContactDB.GetFirstByEntityID(-1, booking.Organisation != null ? booking.Organisation.EntityID : -1, 29); Contact orgWeb = ContactDB.GetFirstByEntityID(-1, booking.Organisation != null ? booking.Organisation.EntityID : -1, 28); Contact orgEmail = ContactDB.GetFirstByEntityID(-1, booking.Organisation != null ? booking.Organisation.EntityID : -1, 27); orgAddressText = orgAddress == null ? "No address found" : orgAddress.GetFormattedAddress("No address found"); orgAddressTabbedText = orgAddress == null ? "No address found" : orgAddress.GetFormattedAddress("No address found", 1); orgPhoneText = orgPhone == null ? "No phone number found" : orgPhone.GetFormattedPhoneNumber("No phone number found"); orgFaxText = orgFax == null ? "No fax number found" : orgFax.GetFormattedPhoneNumber("No fax number found"); orgWebText = orgWeb == null ? "No website found" : orgWeb.AddrLine1; orgEmailText = orgEmail == null ? "No email found" : orgEmail.AddrLine1; } else if (Utilities.GetAddressType().ToString() == "ContactAus") { ContactAus orgAddressAus = ContactAusDB.GetFirstByEntityID(1, booking.Organisation != null ? booking.Organisation.EntityID : -1); ContactAus orgPhoneAus = ContactAusDB.GetFirstByEntityID(null, booking.Organisation != null ? booking.Organisation.EntityID : -1, "30,33,34"); ContactAus orgFaxAus = ContactAusDB.GetFirstByEntityID(-1, booking.Organisation != null ? booking.Organisation.EntityID : -1, 29); ContactAus orgWebAus = ContactAusDB.GetFirstByEntityID(-1, booking.Organisation != null ? booking.Organisation.EntityID : -1, 28); ContactAus orgEmailAus = ContactAusDB.GetFirstByEntityID(-1, booking.Organisation != null ? booking.Organisation.EntityID : -1, 27); orgAddressText = orgAddressAus == null ? "No address found" : orgAddressAus.GetFormattedAddress("No address found"); orgAddressTabbedText = orgAddressAus == null ? "No address found" : orgAddressAus.GetFormattedAddress("No address found", 1); orgPhoneText = orgPhoneAus == null ? "No phone number found" : orgPhoneAus.GetFormattedPhoneNumber("No phone number found"); orgFaxText = orgFaxAus == null ? "No fax number found" : orgFaxAus.GetFormattedPhoneNumber("No fax number found"); orgWebText = orgWebAus == null ? "No website found" : orgWebAus.AddrLine1; orgEmailText = orgEmailAus == null ? "No email found" : orgEmailAus.AddrLine1; } else { throw new Exception("Unknown AddressType in config: " + Utilities.GetAddressType().ToString().ToString()); } string providerNumber = booking.Provider.ProviderNumber; if (!isAgedCare) { RegisterStaff regStaff = RegisterStaffDB.GetByStaffIDAndOrganisationID(booking.Provider.StaffID, booking.Organisation.OrganisationID, true); if (regStaff != null) { providerNumber = regStaff.ProviderNumber; } } System.Data.DataSet sourceDataSet = new System.Data.DataSet(); sourceDataSet.Tables.Add("MergeIt"); sourceDataSet.Tables[0].Columns.Add("curr_date"); sourceDataSet.Tables[0].Columns.Add("bk_prov_fullname"); sourceDataSet.Tables[0].Columns.Add("bk_prov_number"); sourceDataSet.Tables[0].Columns.Add("bk_date"); sourceDataSet.Tables[0].Columns.Add("bk_org_name"); sourceDataSet.Tables[0].Columns.Add("bk_org_abn"); sourceDataSet.Tables[0].Columns.Add("bk_org_acn"); sourceDataSet.Tables[0].Columns.Add("bk_org_bpay_account"); sourceDataSet.Tables[0].Columns.Add("bk_org_addr"); sourceDataSet.Tables[0].Columns.Add("bk_org_addr_tabbedx1"); sourceDataSet.Tables[0].Columns.Add("bk_org_phone"); sourceDataSet.Tables[0].Columns.Add("bk_org_office_fax"); sourceDataSet.Tables[0].Columns.Add("bk_org_web"); sourceDataSet.Tables[0].Columns.Add("bk_org_email"); sourceDataSet.Tables[0].Rows.Add( DateTime.Now.ToString("d MMMM, yyyy"), booking.Provider.Person.FullnameWithoutMiddlename, providerNumber, booking.DateStart.ToString("d MMMM, yyyy"), booking.Organisation.Name, booking.Organisation.Abn, booking.Organisation.Acn, booking.Organisation.BpayAccount, orgAddressText, orgAddressTabbedText, orgPhoneText, orgFaxText, orgWebText, orgEmailText ); string[,] tblInfo = new string[dt.Rows.Count, isAgedCare ? 5 : 4]; for (int i = 0; i < dt.Rows.Count; i++) { if (isAgedCare) { /* * 0 = i (row nbr) * 1 = room (addr1 of patient) * 2 = resident * 3 = resident type * 4 = debtor */ tblInfo[i, 0] = (i + 1).ToString(); tblInfo[i, 1] = dt.Rows[i]["Room"].ToString(); tblInfo[i, 2] = dt.Rows[i]["PatientName"].ToString(); tblInfo[i, 3] = dt.Rows[i]["ItemDescr"].ToString(); tblInfo[i, 4] = dt.Rows[i]["Debtor"].ToString(); } else { /* * 0 = i (row nbr) * 1 = patient * 2 = service * 3 = debtor */ tblInfo[i, 0] = (i + 1).ToString(); tblInfo[i, 1] = dt.Rows[i]["PatientName"].ToString(); tblInfo[i, 2] = dt.Rows[i]["ItemDescr"].ToString(); tblInfo[i, 3] = dt.Rows[i]["Debtor"].ToString(); } } // merge string errorString = null; WordMailMerger.Merge( originalFile, outputFile, sourceDataSet, tblInfo, 1, true, true, null, true, null, out errorString); if (errorString != string.Empty) { throw new Exception(errorString); } }
protected void Page_Load(object sender, EventArgs e) { try { if (!IsPostBack) { Utilities.SetNoCache(Response); } HideErrorMessage(); if (!IsPostBack) { PagePermissions.EnforcePermissions_RequireAny(Session, Response, true, true, true, true, true, false); Session.Remove("invoicelistac_sortexpression"); Session.Remove("invoicelistac_data"); if (!IsValidFormBooking()) { throw new CustomMessageException("No booking in url"); } Booking booking = BookingDB.GetByID(GetFormBooking()); string orgAddressText; if (Utilities.GetAddressType().ToString() == "Contact") { Contact orgAddress = ContactDB.GetFirstByEntityID(1, booking.Organisation != null ? booking.Organisation.EntityID : -1); orgAddressText = orgAddress == null ? "No address found" : orgAddress.GetFormattedAddress("No address found"); } else if (Utilities.GetAddressType().ToString() == "ContactAus") { ContactAus orgAddressAus = ContactAusDB.GetFirstByEntityID(1, booking.Organisation != null ? booking.Organisation.EntityID : -1); orgAddressText = orgAddressAus == null ? "No address found" : orgAddressAus.GetFormattedAddress("No address found"); } else { throw new Exception("Unknown AddressType in config: " + Utilities.GetAddressType().ToString().ToString()); } lblTreatmentDate.Text = booking.DateStart.ToString("d MMM, yyyy") + " " + booking.DateStart.ToString("H:mm") + (booking.DateStart.Hour < 12 ? "am" : "pm"); lblOrgType.Text = booking.Organisation.OrganisationType.Descr; lblOrgName.Text = booking.Organisation.Name; lblOrgAddress.Text = orgAddressText.Replace(Environment.NewLine, "<br />"); lblProviderName.Text = booking.Provider.Person.FullnameWithoutMiddlename; lblProviderNbr.Text = booking.Provider.ProviderNumber; string link = @"http://localhost:2524/Invoice_ViewV2.aspx?booking_id=264225"; lblInvLink.Text = "<a href=\"" + link + "\" onclick=\"open_new_tab('" + link + "');return false;\">View All Invoices</a>"; if (!booking.Organisation.IsAgedCare) { tr_address.Visible = false; btnEmailToFac.Visible = false; br_before_email_to_fac.Visible = false; RegisterStaff regStaff = RegisterStaffDB.GetByStaffIDAndOrganisationID(booking.Provider.StaffID, booking.Organisation.OrganisationID, true); if (regStaff != null) { lblProviderNbr.Text = regStaff.ProviderNumber; } } FillGrid(); } this.GrdBooking.EnableViewState = true; } catch (CustomMessageException ex) { if (IsPostBack) { SetErrorMessage(ex.Message); } else { HideTableAndSetErrorMessage(ex.Message); } } catch (Exception ex) { if (IsPostBack) { SetErrorMessage("", ex.ToString()); } else { HideTableAndSetErrorMessage("", ex.ToString()); } } }