//Get primary and secondary contacts public static List <BillingStatement> GetBillingStatementList(DateTime _StartDate, DateTime _EndDate, int _BillingGroup) { List <BillingStatement> listOfBillingStatements = new List <BillingStatement>(); BillingStatementDataContext dc = new BillingStatementDataContext(); var result = dc.S1_BillingStatement_GetBillingStatementList(_StartDate, _EndDate, _BillingGroup); foreach (var item in result) { BillingStatement tempBillingStatement = new BillingStatement(); tempBillingStatement.billingContact.ClientContactID = item.ClientContactID; tempBillingStatement.billingContact.ClientContactName = item.ContactName; tempBillingStatement.billingContact.BillingContactID = item.BillingContactID; tempBillingStatement.BillingContactName = item.ContactName; tempBillingStatement.ContactEmail = item.ContactEmail; tempBillingStatement.DeliveryMethod = item.DeliveryMethod; tempBillingStatement.ClientName = item.BillAsClientName; tempBillingStatement.LastPrinted = item.LastPrintedOn; tempBillingStatement.Amount = (item.Amount.HasValue ? item.Amount.Value : 0); tempBillingStatement.billingContact.ClientContactAddress1 = item.Amount.Value.ToString("F"); tempBillingStatement.CurrentActivity = (item.CurrentActivity == 1 ? "Yes" : (item.CurrentActivity == 2 ? "Audit" : (item.CurrentActivity == 3 ? "Secondary" : "No"))); //Only get primary contacts //if (item.PrimaryBillingContact.HasValue && item.PrimaryBillingContact.Value) listOfBillingStatements.Add(tempBillingStatement); } return(listOfBillingStatements); }
//Check to see if the billing contact provided is in the special split group of billing contacts as a primary. public static int GetSpecialPrimaryBillingContact(int _BillingContactID) { BillingStatementDataContext dc = new BillingStatementDataContext(); var result = dc.S1_BillingStatement_GetSpecialPrimaryBillingContact(_BillingContactID).SingleOrDefault(); if (result != null) { return(1); } else { return(0); } }
//Lookup one BillingPackagePrinted record by GUID public static BillingPackagePrinted GetBilingPackagePrintedFromGUID(Guid _EmailGuid) { BillingStatementDataContext dc = new BillingStatementDataContext(); var result = dc.S1_BillingStatement_GetBillingPackagePrintedFromGUID(_EmailGuid).SingleOrDefault(); if (result != null) { return(new BillingPackagePrinted(result.BillingPackagePrintedID, result.BillingContactID, result.PackageEndDate, result.PrintedOn, result.PrintedByUser, result.EmailGuid.Value)); } else { return(new BillingPackagePrinted()); } }
//Gets a list of InvoiceID's for the current invoices in the Billing Statement public static List <CurrentInvoice> GetBillingStatementListCurrentInvoices(int _BillingContactID, DateTime _StartDate, DateTime _EndDate) { List <CurrentInvoice> invoicesList = new List <CurrentInvoice>(); BillingStatementDataContext dc = new BillingStatementDataContext(); var result = dc.S1_BillingStatement_GetBillingStatementListCurrentInvoices(_BillingContactID, _StartDate, _EndDate); foreach (var item in result) { CurrentInvoice tempInvoice = new CurrentInvoice(); tempInvoice.InvoiceID = item.InvoiceID; tempInvoice.IsPrimaryBillingContact = (item.PrimaryBillingContact.HasValue ? item.PrimaryBillingContact.Value : true); invoicesList.Add(tempInvoice); } return(invoicesList); }
public BillingStatement(int _BillingContactID, DateTime _StartDate, DateTime _EndDate) { billingStatementRows = new List <BillingStatementRow>(); BillingStatementDataContext dc = new BillingStatementDataContext(); var result = dc.S1_BillingStatement_GetCurrentStatement(_BillingContactID, _StartDate, _EndDate); foreach (var item in result) { BillingStatementRow billingStatementRow = new BillingStatementRow(item.Date, item.InvoiceNumber, item.Type, item.Amount.Value, item.LinkID); billingStatementRows.Add(billingStatementRow); } ClientContactsDataContext ccdc = new ClientContactsDataContext(); billingContact = ClientContacts.GetClientContactFromBillingContactID(_BillingContactID); }
public AccountActivity(int _BillingContactID, int _UserID, int _InvoiceID, int _PaymentID) { accountActivityRows = new List <BillingStatementRow>(); BillingStatementDataContext dc = new BillingStatementDataContext(); var result = dc.S1_BillingStatement_GetBillingActivityForAnInvoiceIDAndPaymentID(_BillingContactID, _UserID, _InvoiceID, _PaymentID); foreach (var item in result) { decimal Balance = (Math.Abs(item.Amount.GetValueOrDefault()) - item.TotalAmountSpent.GetValueOrDefault() - item.TotalAmountReceived.GetValueOrDefault()) - (item.CreditSpent.GetValueOrDefault() + item.CreditReceived.GetValueOrDefault()); BillingStatementRow accountActivityRow = new BillingStatementRow(item.Date, item.InvoiceNumber, item.Type, item.Amount.Value, item.LinkID, item.InvoiceList, item.InvoiceDateList, item.PaymentSpentAmountList, item.IQBTransactionIDList, item.PtiQBTransactionIDList, item.PaymentList, item.PaymentDateList, item.AmountReceivedList, item.PQBTransactionIDList, item.ItpQBTransactionIDList, (item.InvoiceID.HasValue ? item.InvoiceID.Value.ToString() : ""), (item.PaymentID.HasValue ? item.PaymentID.Value.ToString() : ""), item.InvoiceNumberList, (item.TotalAmountSpent.HasValue ? item.TotalAmountSpent.Value.ToString("f2") : ""), (item.TotalAmountReceived.HasValue ? item.TotalAmountReceived.Value.ToString("f2") : ""), Balance, item.CreditReceived.GetValueOrDefault(), item.CreditSpent.GetValueOrDefault()); accountActivityRows.Add(accountActivityRow); } }
//Same as GetBillingStatementList, except that it is filtered by UserID public static List <BillingStatement> GetBillingStatementListFromUser(int _UserID, DateTime _StartDate, DateTime _EndDate) { List <BillingStatement> listOfBillingStatements = new List <BillingStatement>(); BillingStatementDataContext dc = new BillingStatementDataContext(); var result = dc.S1_BillingStatement_GetBillingStatementListFromUser(_UserID, _StartDate, _EndDate); foreach (var item in result) { BillingStatement tempBillingStatement = new BillingStatement(); tempBillingStatement.billingContact.ClientContactID = item.ClientContactID; tempBillingStatement.billingContact.BillingContactID = item.BillingContactID; tempBillingStatement.billingContact.DueText = item.StatementDate.Value.ToString("MM/dd/yyyy"); tempBillingStatement.billingContact.ClientContactName = item.ContactName; tempBillingStatement.billingContact.BillingContactName = item.ClientName; tempBillingStatement.billingContact.ClientContactAddress1 = item.Amount.Value.ToString("F"); listOfBillingStatements.Add(tempBillingStatement); } return(listOfBillingStatements); }
public static List <StatementEmail> GetStatementEmail(int _BillingContactID) { string ReturnURL = System.Configuration.ConfigurationManager.AppSettings["DefaultPath"] + "/BillingStatement/PrintPackageToPDF_Public/"; List <StatementEmail> emailStatements = new List <StatementEmail>(); BillingStatementDataContext dc = new BillingStatementDataContext(); var result = dc.S1_BillingStatement_GetStatementEmail(_BillingContactID); foreach (var item in result) { var db1 = new UsersDataContext(); var results1 = db1.S1_Users_CreateMessageWithAction(5, "Statement AutoEmail", item.UserID, 1, 0, 3, HttpUtility.UrlDecode(ReturnURL), System.DateTime.Now, null).SingleOrDefault(); if (results1.ActionGUID != null) { StatementEmail emailStatement = new StatementEmail(item.ClientName, item.LoweredEmail, item.UserID, results1.ActionGUID.ToString()); emailStatements.Add(emailStatement); } } return(emailStatements); }
//Add a row to the BillingPackagePrinted table with GUID public static void AddBillingPackagePrintedGUID(int _BillingContactID, DateTime _PacakgeEndDate, int _PrintedByUser, string _ActionGUID) { BillingStatementDataContext dc = new BillingStatementDataContext(); dc.S1_BillingStatement_AddBillingPackagePrintedGUID(_BillingContactID, _PacakgeEndDate, _PrintedByUser, _ActionGUID); }
//Add a row to the BillingPackagePrinted table public static void AddBillingPackagePrinted(int _BillingContactID, DateTime _PacakgeEndDate, int _PrintedByUser) { BillingStatementDataContext dc = new BillingStatementDataContext(); dc.S1_BillingStatement_AddBillingPackagePrinted(_BillingContactID, _PacakgeEndDate, _PrintedByUser); }