Ejemplo n.º 1
0
        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;
        }