public tblInvoiceReceipt AddIRPartial(int Grno, decimal total, decimal paid, decimal balance) { var user = System.Web.HttpContext.Current.Session["UserName"].ToString(); var add = new tblInvoiceReceipt() { GRReferenceNo = Grno, TotalAmount = total, PaidAmount = paid, Balance = balance, Createdon = DateTime.Now.Date, Createdby = user, Status = "Partial" }; return(add); }
public override void okBtn_Click(object sender, EventArgs e) { Cursor.Current = Cursors.WaitCursor; base.okBtn_Click(sender, e); if (this.myUnPaidInvoices.Any() != true) { MessageBox.Show("Can not process receipt. This claimant have no unpaid invoices."); this.DialogResult = DialogResult.Retry; return; } if (this.DialogResult == DialogResult.OK) { applyReceipt(); var paidlist = new List<int> { }; var newConnection = new dbContextDataContext(); foreach (var i in myUnPaidInvoices) { if(!object.Equals(i.ReceiptAmount, default(decimal))) { var ir = new tblInvoiceReceipt(); ir.InvRecAmnt = i.ReceiptAmount; ir.InvoiceNo = i.InvoiceNo; ir.ReceiptNo = myReceipt.ReceiptNo; newConnection.tblInvoiceReceipts.InsertOnSubmit(ir); } if ((i.ReceiptAmount + i.ReceiptTotal) == i.InvoiceTotal) { paidlist.Add(i.InvoiceNo); } } foreach (var p in paidlist) { var inv = newConnection.tblInvoices.Where(i => i.InvoiceNo == p).SingleOrDefault(); if(inv !=null) inv.InvoicePaid = true; } if (myPayments.Sum(p => p.PayinAmnt).Value > myUnPaidInvoices.Sum(u => u.ReceiptAmount)) { var result = MessageBox.Show("Fund remaining, do you want to save this as a credit?", "OVERPAYMENT", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question); if (result == DialogResult.Yes) { var newCredit = new Db.Credit(); newCredit.CreditComment = "Overpayment on Receipt #: " + myReceipt.ReceiptNo.ToString(); newCredit.CreditDate = System.DateTime.Today; newCredit.CreditType = 3; newCredit.ClaimantID = myClaimant.ClaimantID; newCredit.CreditCancelled = false; newCredit.CreditAmount = decimal.Subtract(myPayments.Sum(p => p.PayinAmnt).Value, myUnPaidInvoices.Sum(u => u.ReceiptAmount)); newConnection.Credits.InsertOnSubmit(newCredit); } if (result == DialogResult.No) { //proceed as normal. } if (result == DialogResult.Cancel) { this.DialogResult = DialogResult.Retry; return; } } newConnection.SubmitChanges(); } Cursor.Current = Cursors.Default; }
public void addInvoiceR(tblInvoiceReceipt obj) { context.tblInvoiceReceipts.Add(obj); }
void retrieveInvoiceDetails(tblInvoice MyInvoice) { Cursor.Current = Cursors.WaitCursor; try { myInvoice = MyInvoice; var Lines = myConnection.getInvoiceLines(myInvoice.InvoiceNo).ToList(); foreach (var line in Lines) { AnonInvoiceLines newLine = new AnonInvoiceLines(); newLine.Fee = line.Fee; newLine.GST = line.GST; newLine.RateID = line.RateID; newLine.PatientName = line.Patient; newLine.SessionDate = line.Date; newLine.ItemNo = line.ItemNo; newLine.PatientID = line.PatientID; myLines.Add(newLine); } myTransaction = myConnection.tblTransactions. Where(transaction => (transaction.InvoiceNo == MyInvoice.InvoiceNo) && (transaction.TranType == "I")).FirstOrDefault(); myClaimant = myConnection.tblClaimants.Where(claimant => claimant.ClaimantID == myTransaction.ClaimantID).FirstOrDefault(); myPhysio = myConnection.tblPhysios.Where(physio => physio.PhysioID == myTransaction.PhysioID).FirstOrDefault(); var myReceiptLines = myConnection.getReceiptsOfSingleInvoice(myInvoice.InvoiceNo).ToList(); var myReceiptDetails = myConnection.getReceiptDetailsOfSingleInvoice(myInvoice.InvoiceNo).ToList(); foreach (var line in myReceiptLines) { tblInvoiceReceipt myLine = new tblInvoiceReceipt(); myLine.InvoiceNo = line.InvoiceNo; myLine.InvoiceReceiptID = line.InvoiceNo; myLine.InvRecAmnt = line.InvRecAmnt; myLine.ReceiptNo = line.ReceiptNo; myReceiptAmounts.Add(myLine); } foreach (var line in myReceiptDetails) { tblReceipt myLine = new tblReceipt(); myLine.ReceiptNo = line.ReceiptNo; myLine.ReceiptDate = line.ReceiptDate; myLine.ReceiptComments = line.ReceiptComments; myLine.ReceiptAmnt = line.ReceiptAmnt; myLine.IsMulti = line.IsMulti; myLine.ReceiptCancelled = line.ReceiptCancelled; myReceipts.Add(myLine); } this.claimantBillingAddressMemoEdit.Text = myClaimant.FirstNames + Environment.NewLine + myClaimant.LastName + Environment.NewLine + myClaimant.Address1 + Environment.NewLine + myClaimant.Address2 + Environment.NewLine + myClaimant.Address3 + Environment.NewLine; this.invoiceDateEdit.DateTime = myTransaction.TranDate.Value; this.commentsMemoExEdit.Text = myInvoice.InvoiceComments; if (myInvoice.InvoiceCancelled.GetValueOrDefault(false) != true) { makeInvoiceOfficial(); } else { cancelInvoice(); } this.physioLookUp.EditValue = myPhysio.PhysioID; Cursor.Current = Cursors.Default; } catch (Exception) { MessageBox.Show("Can not display invoice. Data is corrupt."); this.DialogResult = DialogResult.Cancel; this.Close(); return; } }
public void viewInvoice(tblInvoice thisInvoice) { myForm = new invoiceViewForm(); myInvoice = thisInvoice; var newConnection = new dbContextDataContext(); var Lines = newConnection.tblPatientStats.Where(lines => lines.InvoiceNo == thisInvoice.InvoiceNo); foreach (var line in Lines) { myInvoiceLines.Add(line); } myTransaction = newConnection.tblTransactions. Where(transaction => (transaction.InvoiceNo == thisInvoice.InvoiceNo) && (transaction.TranType == "I")).FirstOrDefault(); myClaimant = newConnection.tblClaimants.Where(claimant => claimant.ClaimantID == myTransaction.ClaimantID).FirstOrDefault(); if (myTransaction == null) { myTransaction = new tblTransaction(); } if (myInvoice == null) { myInvoice = new tblInvoice(); } if (myClaimant == null) { myClaimant = new tblClaimant(); } var receiptAmounts = newConnection.tblInvoiceReceipts.Where(rm => rm.InvoiceNo == myInvoice.InvoiceNo); var receipts = from rm in receiptAmounts from r in newConnection.tblReceipts.Where(r => r.ReceiptNo == rm.ReceiptNo) select r; // Second query to get receipts from another table. I might combine the two tables come deployment. var receiptAmounts2 = from rm in newConnection.tblReceiptInvoices where rm.InvoiceNo == myInvoice.InvoiceNo select new { InvoiceNo = rm.InvoiceNo, ReceiptNo = rm.ReceiptNo, InvRecAmnt = rm.Received }; foreach (var receipt in receiptAmounts2) { var receiptAmount = new tblInvoiceReceipt(); receiptAmount.InvoiceNo = receipt.InvoiceNo; receiptAmount.InvRecAmnt = receipt.InvRecAmnt; receiptAmount.ReceiptNo = receipt.ReceiptNo; myReceiptAmounts.Add(receiptAmount); } foreach (var receipt in receipts) { myReceipts.Add(receipt); } foreach (var receiptAmount in receiptAmounts) { myReceiptAmounts.Add(receiptAmount); } myForm.invoiceDateEdit.DateTime = myTransaction.TranDate.Value; registeFormEvents(); updateInvoiceForm(); makeInvoiceOfficial(); myForm.ShowDialog(); Cursor.Current = Cursors.Default; applyPaid(); }