private void barButtonItem1_ItemClick(object sender, ItemClickEventArgs e) { Cursor.Current = Cursors.WaitCursor; string sApprove = CommFun.IsNullCheck(grdPBRegView.GetFocusedRowCellValue("Approve"), CommFun.datatypes.vartypestring).ToString(); if (sApprove != "Y") { MessageBox.Show("Bill not Approved", "Progress Bill", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } #region Mail Alert string sProject = CommFun.IsNullCheck(repositoryItemLookUpEdit3.GetDisplayText(cboProj.EditValue), CommFun.datatypes.vartypestring).ToString(); string sFlatNo = CommFun.IsNullCheck(grdPBTransView.GetFocusedRowCellValue("FlatNo"), CommFun.datatypes.vartypestring).ToString(); decimal dCurrentAmount = Convert.ToDecimal(CommFun.IsNullCheck(grdPBTransView.GetFocusedRowCellValue("Amount"), CommFun.datatypes.vartypenumeric)); decimal dCurrentNetAmount = Convert.ToDecimal(CommFun.IsNullCheck(grdPBRegView.GetFocusedRowCellValue("NetAmount"), CommFun.datatypes.vartypenumeric)); decimal dGross = 0; decimal dNetAmount = 0; decimal dPaidAmount = 0; string sCompany = ""; string sBuyer = ""; string sEmail = ""; DataTable dtAlertStages = new DataTable(); dtAlertStages.Columns.Add("Stage", typeof(string)); dtAlertStages.Columns.Add("%", typeof(decimal)); dtAlertStages.Columns.Add("Amount", typeof(decimal)); dtAlertStages.Columns.Add("ServiceTax", typeof(decimal)); dtAlertStages.Columns.Add("LateInterest", typeof(decimal)); dtAlertStages.Columns.Add("NetAmount", typeof(decimal)); int iPBillId = Convert.ToInt32(CommFun.IsNullCheck(grdPBTransView.GetFocusedRowCellValue("PBillId"), CommFun.datatypes.vartypenumeric)); int iFlatId = Convert.ToInt32(CommFun.IsNullCheck(grdPBTransView.GetFocusedRowCellValue("FlatId"), CommFun.datatypes.vartypenumeric)); int iLeadId = Convert.ToInt32(CommFun.IsNullCheck(grdPBTransView.GetFocusedRowCellValue("LeadId"), CommFun.datatypes.vartypenumeric)); DataTable dtAlert = new DataTable(); dtAlert = ProgBillBL.GetProgressBillAlert(Convert.ToInt32(cboProj.EditValue), iPBillId, iFlatId, iLeadId); if (dtAlert != null) { if (dtAlert.Rows.Count > 0) { sCompany = CommFun.IsNullCheck(dtAlert.Rows[0]["CompanyName"], CommFun.datatypes.vartypestring).ToString(); sBuyer = CommFun.IsNullCheck(dtAlert.Rows[0]["LeadName"], CommFun.datatypes.vartypestring).ToString(); sEmail = CommFun.IsNullCheck(dtAlert.Rows[0]["Email"], CommFun.datatypes.vartypestring).ToString(); dGross = Convert.ToDecimal(CommFun.IsNullCheck(dtAlert.Compute("SUM(Gross)", ""), CommFun.datatypes.vartypenumeric)); dNetAmount = Convert.ToDecimal(CommFun.IsNullCheck(dtAlert.Compute("SUM(NetAmount)", ""), CommFun.datatypes.vartypenumeric)); dPaidAmount = Convert.ToDecimal(CommFun.IsNullCheck(dtAlert.Compute("SUM(PaidAmount)", ""), CommFun.datatypes.vartypenumeric)); } for (int j = 0; j <= dtAlert.Rows.Count - 1; j++) { string sStage = CommFun.IsNullCheck(dtAlert.Rows[j]["Description"], CommFun.datatypes.vartypestring).ToString(); decimal dPercentage = Convert.ToDecimal(CommFun.IsNullCheck(dtAlert.Rows[j]["Percentage"], CommFun.datatypes.vartypenumeric)); decimal dAmt = Convert.ToDecimal(CommFun.IsNullCheck(dtAlert.Rows[j]["Gross"], CommFun.datatypes.vartypenumeric)); decimal dServiceTax = Convert.ToDecimal(CommFun.IsNullCheck(dtAlert.Rows[j]["ServiceTax"], CommFun.datatypes.vartypenumeric)); decimal dLateInterst = Convert.ToDecimal(CommFun.IsNullCheck(dtAlert.Rows[j]["Interest"], CommFun.datatypes.vartypenumeric)); decimal dNetAmt = Convert.ToDecimal(CommFun.IsNullCheck(dtAlert.Rows[j]["NetAmount"], CommFun.datatypes.vartypenumeric)); DataRow drow = dtAlertStages.NewRow(); drow["Stage"] = sStage; drow["%"] = dPercentage; drow["Amount"] = dAmt; drow["ServiceTax"] = dServiceTax; drow["LateInterest"] = dLateInterst; drow["NetAmount"] = dNetAmt; dtAlertStages.Rows.Add(drow); } } List <Mandrill.EmailAddress> toAddress = new List <Mandrill.EmailAddress>(); toAddress.Add(new Mandrill.EmailAddress() { name = sBuyer, email = sEmail }); if (toAddress.Count > 0) { MandrillTemplate.SendProgressBill(toAddress, sCompany, sProject, sFlatNo, dCurrentAmount, dCurrentNetAmount, dGross, dNetAmount, dPaidAmount, dtAlertStages); } #endregion Cursor.Current = Cursors.Default; }