private void gridBill_CellDoubleClick(object sender,ODGridClickEventArgs e) { FormStatementOptions FormSO=new FormStatementOptions(); Statement stmt; stmt=Statements.CreateObject(PIn.Long(table.Rows[e.Row]["StatementNum"].ToString())); //FormSO.StmtList=stmtList; FormSO.StmtCur=stmt; FormSO.ShowDialog(); }
private void butEdit_Click(object sender,EventArgs e) { if(gridBill.SelectedIndices.Length==0){ MsgBox.Show(this,"Please select one or more bills first."); return; } FormStatementOptions FormSO=new FormStatementOptions(); List<Statement> stmtList=new List<Statement>(); Statement stmt; for(int i=0;i<gridBill.SelectedIndices.Length;i++){ stmt=Statements.CreateObject(PIn.Long(table.Rows[gridBill.SelectedIndices[i]]["StatementNum"].ToString())); stmtList.Add(stmt.Copy()); } FormSO.StmtList=stmtList; //Statement stmt=new Statement(); //stmt.DateRangeFrom=DateTime. //FormSO.StmtCur=stmt; FormSO.ShowDialog(); //FillGrid happens automatically through Activated event. }
private void menuItemInvoice_Click(object sender,EventArgs e) { DataTable table=DataSetMain.Tables["account"]; if(gridAccount.SelectedIndices.Length==0) { //autoselect procedures and adjustments for(int i=0;i<table.Rows.Count;i++) {//loop through every line showing on screen if(table.Rows[i]["ProcNum"].ToString()=="0" && table.Rows[i]["AdjNum"].ToString()=="0") { continue;//ignore items that aren't procs or adjustments } if(PIn.Date(table.Rows[i]["date"].ToString())!=DateTime.Today) { continue; } if(table.Rows[i]["ProcNum"].ToString()!="0") {//if selected item is a procedure Procedure proc=Procedures.GetOneProc(PIn.Long(table.Rows[i]["ProcNum"].ToString()),false); if(proc.StatementNum!=0) {//already attached so don't autoselect continue; } if(proc.PatNum!=PatCur.PatNum) { continue; } } else {//item guaranteed to be a proc or adjustment, so must be adjustment Adjustment adj=Adjustments.GetOne(PIn.Long(table.Rows[i]["AdjNum"].ToString())); if(adj.StatementNum!=0) {//already attached so don't autoselect continue; } if(adj.PatNum!=PatCur.PatNum) { continue; } } gridAccount.SetSelected(i,true); } if(gridAccount.SelectedIndices.Length==0) {//if still none selected MsgBox.Show(this,"Please select procedures or adjustments first."); return; } } for(int i=0;i<gridAccount.SelectedIndices.Length;i++) { if(table.Rows[gridAccount.SelectedIndices[i]]["ProcNum"].ToString()=="0" && table.Rows[gridAccount.SelectedIndices[i]]["AdjNum"].ToString()=="0") //the selected item is neither a procedure nor an adjustment { MsgBox.Show(this,"You can only select procedures or adjustments."); gridAccount.SetSelected(false); return; } if(table.Rows[gridAccount.SelectedIndices[i]]["ProcNum"].ToString()!="0") {//the selected item is a proc Procedure proc=Procedures.GetOneProc(PIn.Long(table.Rows[gridAccount.SelectedIndices[i]]["ProcNum"].ToString()),false); if(proc.PatNum!=PatCur.PatNum) { MsgBox.Show(this,"You can only select procedures or adjustments for a single patient on an invoice."); gridAccount.SetSelected(false); return; } if(proc.StatementNum!=0) { MsgBox.Show(this,"Selected procedure(s) are already attached to an invoice."); gridAccount.SetSelected(false); return; } } else {//the selected item must be an adjustment Adjustment adj=Adjustments.GetOne(PIn.Long(table.Rows[gridAccount.SelectedIndices[i]]["AdjNum"].ToString())); if(adj.PatNum!=PatCur.PatNum) { MsgBox.Show(this,"You can only select procedures or adjustments for a single patient on an invoice."); gridAccount.SetSelected(false); return; } if(adj.StatementNum!=0) { MsgBox.Show(this,"Selected adjustment(s) are already attached to an invoice."); gridAccount.SetSelected(false); return; } } } //At this point, all selected items are procedures or adjustments, and are not already attached, and are for a single patient. Statement stmt=new Statement(); stmt.PatNum=PatCur.PatNum; stmt.DateSent=DateTimeOD.Today; stmt.IsSent=false; stmt.Mode_=StatementMode.InPerson; stmt.HidePayment=true; stmt.SinglePatient=true; stmt.Intermingled=false; stmt.IsReceipt=false; stmt.IsInvoice=true; stmt.DateRangeFrom=DateTime.MinValue; stmt.DateRangeTo=DateTimeOD.Today; stmt.Note=PrefC.GetString(PrefName.BillingDefaultsInvoiceNote); stmt.NoteBold=""; Statements.Insert(stmt); stmt.IsNew=true; List<Procedure> procsForPat=Procedures.Refresh(PatCur.PatNum); for(int i=0;i<gridAccount.SelectedIndices.Length;i++) { if(table.Rows[gridAccount.SelectedIndices[i]]["ProcNum"].ToString()!="0") {//if selected item is a procedure Procedure proc=Procedures.GetProcFromList(procsForPat,PIn.Long(table.Rows[gridAccount.SelectedIndices[i]]["ProcNum"].ToString())); Procedure oldProc=proc.Copy(); proc.StatementNum=stmt.StatementNum; Procedures.Update(proc,oldProc); } else {//every selected item guaranteed to be a proc or adjustment, so must be adjustment Adjustment adj=Adjustments.GetOne(PIn.Long(table.Rows[gridAccount.SelectedIndices[i]]["AdjNum"].ToString())); adj.StatementNum=stmt.StatementNum; Adjustments.Update(adj); } } //All printing and emailing will be done from within the form: FormStatementOptions FormSO=new FormStatementOptions(); FormSO.StmtCur=stmt; FormSO.ShowDialog(); if(FormSO.DialogResult!=DialogResult.OK) { Procedures.DetachFromInvoice(stmt.StatementNum); Adjustments.DetachFromInvoice(stmt.StatementNum); Statements.Delete(stmt.StatementNum); } ModuleSelected(PatCur.PatNum); }
private void menuItemStatementMore_Click(object sender, System.EventArgs e) { Statement stmt=new Statement(); stmt.PatNum=PatCur.PatNum; stmt.DateSent=DateTime.Today; stmt.IsSent=false; stmt.Mode_=StatementMode.InPerson; stmt.HidePayment=false; stmt.SinglePatient=false; stmt.Intermingled=false; stmt.IsReceipt=false; if(PrefC.GetBool(PrefName.IntermingleFamilyDefault)) { stmt.Intermingled=true; } else { stmt.Intermingled=false; } stmt.DateRangeFrom=DateTime.MinValue; stmt.DateRangeFrom=DateTime.MinValue; if(textDateStart.errorProvider1.GetError(textDateStart)==""){ if(textDateStart.Text!=""){ stmt.DateRangeFrom=PIn.Date(textDateStart.Text); } } if(PrefC.GetBool(PrefName.FuchsOptionsOn)) { stmt.DateRangeFrom=DateTime.Today.AddDays(-90); } stmt.DateRangeTo=DateTime.Today;//Needed for payplan accuracy.//new DateTime(2200,1,1); if(textDateEnd.errorProvider1.GetError(textDateEnd)==""){ if(textDateEnd.Text!=""){ stmt.DateRangeTo=PIn.Date(textDateEnd.Text); } } stmt.Note=""; stmt.NoteBold=""; //All printing and emailing will be done from within the form: FormStatementOptions FormSO=new FormStatementOptions(); stmt.IsNew=true; FormSO.StmtCur=stmt; FormSO.ShowDialog(); ModuleSelected(PatCur.PatNum); }
private void gridAccount_CellDoubleClick(object sender, OpenDental.UI.ODGridClickEventArgs e) { if(ViewingInRecall) return; Actscrollval=gridAccount.ScrollValue; DataTable table=DataSetMain.Tables["account"]; if(table.Rows[e.Row]["ProcNum"].ToString()!="0"){ Procedure proc=Procedures.GetOneProc(PIn.Long(table.Rows[e.Row]["ProcNum"].ToString()),true); Patient pat=FamCur.GetPatient(proc.PatNum); FormProcEdit FormPE=new FormProcEdit(proc,pat,FamCur); FormPE.ShowDialog(); } else if(table.Rows[e.Row]["AdjNum"].ToString()!="0"){ Adjustment adj=Adjustments.GetOne(PIn.Long(table.Rows[e.Row]["AdjNum"].ToString())); FormAdjust FormAdj=new FormAdjust(PatCur,adj); FormAdj.ShowDialog(); } else if(table.Rows[e.Row]["PayNum"].ToString()!="0"){ Payment PaymentCur=Payments.GetPayment(PIn.Long(table.Rows[e.Row]["PayNum"].ToString())); /* if(PaymentCur.PayType==0){//provider income transfer FormProviderIncTrans FormPIT=new FormProviderIncTrans(); FormPIT.PatNum=PatCur.PatNum; FormPIT.PaymentCur=PaymentCur; FormPIT.IsNew=false; FormPIT.ShowDialog(); } else{*/ FormPayment FormPayment2=new FormPayment(PatCur,FamCur,PaymentCur); FormPayment2.IsNew=false; FormPayment2.ShowDialog(); //} } else if(table.Rows[e.Row]["ClaimNum"].ToString()!="0"){//claims and claimpayments Claim claim=Claims.GetClaim(PIn.Long(table.Rows[e.Row]["ClaimNum"].ToString())); Patient pat=FamCur.GetPatient(claim.PatNum); FormClaimEdit FormClaimEdit2=new FormClaimEdit(claim,pat,FamCur); FormClaimEdit2.IsNew=false; FormClaimEdit2.ShowDialog(); } else if(table.Rows[e.Row]["StatementNum"].ToString()!="0"){ Statement stmt=Statements.CreateObject(PIn.Long(table.Rows[e.Row]["StatementNum"].ToString())); FormStatementOptions FormS=new FormStatementOptions(); FormS.StmtCur=stmt; FormS.ShowDialog(); } else if(table.Rows[e.Row]["PayPlanNum"].ToString()!="0"){ PayPlan payplan=PayPlans.GetOne(PIn.Long(table.Rows[e.Row]["PayPlanNum"].ToString())); FormPayPlan2=new FormPayPlan(PatCur,payplan); FormPayPlan2.ShowDialog(); if(FormPayPlan2.GotoPatNum!=0){ ModuleSelected(FormPayPlan2.GotoPatNum,false); return; } } bool isSelectingFamily=gridAcctPat.GetSelectedIndex()==this.DataSetMain.Tables["patient"].Rows.Count-1; ModuleSelected(PatCur.PatNum,isSelectingFamily); }