Пример #1
0
        public static void LogEventSMS(string pXML, string pMessage, string pComputerName, string pComputerIP, serverside_report_requests _eftRequest)
        {
            string Source = "BrightSales";
            string _Connection = ConfigurationManager.ConnectionStrings["DefaultEntityConnection"].ToString();
            int? requested_by = _eftRequest.requested_by;
            string[] _ids = _eftRequest.sub_campaign_ids.Split(',');
            string _SubCampaignIds = _ids[0];

            using (BrightPlatformEntities _efDbContext = new BrightPlatformEntities(_Connection)) {
                _efDbContext.event_log.AddObject(new event_log() {
                    event_id = (int)EventLog.EventTypes.SEND_SMS,
                    user_id = requested_by,
                    subcampaign_id = int.Parse(_SubCampaignIds),
                    account_id = _eftRequest.account_id,
                    contact_id = null,
                    local_datetime = DateTime.Now,
                    computer_name = pComputerName,
                    param1 = pXML,
                    param2 = pMessage,
                    param3 = Source,
                    param4 = _eftRequest.account_id.ToString(),
                    param5 = pComputerIP,
                    param6 = null
                });

                _efDbContext.SaveChanges();
            }
        }
Пример #2
0
        public static long? SaveMail(string pXml, serverside_report_requests _eftRequest)
        {
            string _Connection = ConfigurationManager.ConnectionStrings["DefaultEntityConnection"].ToString();
            using (BrightPlatformEntities _efDbContext = new BrightPlatformEntities(_Connection)) {
                int? requested_by = _eftRequest.requested_by;

                string[] _ids = _eftRequest.sub_campaign_ids.Split(',');
                string _SubCampaignIds = _ids[0];

                message_log _eftMessageLog = new message_log() {
                    message_type = (int)SendMail.eMailType.Send_Mail_To_Prospect,
                    sub_campaign_id = int.Parse(_SubCampaignIds),
                    company_id = _eftRequest.account_id,
                    user_id = _eftRequest.requested_by,
                    XML = pXml,
                    created_date = DateTime.Now
                };
                _efDbContext.message_log.AddObject(_eftMessageLog);
                _efDbContext.SaveChanges();
                _efDbContext.Detach(_eftMessageLog);
                return _eftMessageLog.id;
            }
        }
Пример #3
0
        public static string SendEmail(string pFile = "", ReportsProperty.SendEmailInfoCollection _SendMailCollection = null, serverside_report_requests _eftRequest = null)
        {
            string return_message = string.Empty;
            BrightVision.Mandrill.MandrillServerSide mandrillEx = new BrightVision.Mandrill.MandrillServerSide();
            mandrillEx.Key = ConfigurationManager.AppSettings["MandrillKey"].ToString();
            mandrillEx.FromName = _SendMailCollection.SenderName;
            mandrillEx.From = _SendMailCollection.SenderEmail;

            string mailTo = string.Empty;
            string mailCC = string.Empty;
            string mailBCC = string.Empty;
            string mailAttachmentUrl = !string.IsNullOrEmpty(pFile) ? "1" : string.Empty;
            string SMS = string.Empty;
            bool bolProceed = false;

            string xml = @"<message>
                            <sender_email>@@sender_mail</sender_email>
                            <email_to>@@emailTo</email_to>
                            <email_cc>@@emailCC</email_cc>
                            <email_bcc>@@emailBCC</email_bcc>
                            <subject>@@subject</subject>
                            <body>@@body</body>
                            <attachment_url>@@attachment_url</attachment_url>
                        </message>";

            /**
             * mail to.
             */
            for (int i = 0; i < _SendMailCollection.SendToContacts.Count; i++) {
                mandrillEx.TO.Add(FacadeCommon.IsNull(_SendMailCollection.SendToContacts[i].EmailAddress, ""), FacadeCommon.IsNull(_SendMailCollection.SendToContacts[i].Name, ""));
                if (mailTo != "")
                    mailTo += "\n";

                mailTo += "<email>" + _SendMailCollection.SendToContacts[i].EmailAddress + "</email>";
                bolProceed = true;

            }

            /**
             * mail bcc.
             */
            for (int i = 0; i < _SendMailCollection.BlindCarbonCopyContacts.Count; i++) {
                mandrillEx.BCC.Add(FacadeCommon.IsNull(_SendMailCollection.BlindCarbonCopyContacts[i].EmailAddress, ""), FacadeCommon.IsNull(_SendMailCollection.BlindCarbonCopyContacts[i].Name, ""));
                if (mailBCC != "")
                    mailBCC += "\n";

                mailBCC += "<email>" + _SendMailCollection.BlindCarbonCopyContacts[i].EmailAddress + "</email>";
                bolProceed = true;
            }

            xml = xml.Replace("@@sender_mail", mandrillEx.From)
                     .Replace("@@emailTo", mailTo)
                     .Replace("@@emailCC", mailCC)
                     .Replace("@@emailBCC", mailBCC)
                     .Replace("@@subject", _SendMailCollection.MailSubject)
                     .Replace("@@body", _SendMailCollection.MailContent)
                     .Replace("@@attachment_url", mailAttachmentUrl);

            long? message_log_id = null;
            message_log_id = FacadeCommon.SaveMail(xml, _eftRequest);

            if (bolProceed) {
                mandrillEx.Subject = _SendMailCollection.MailSubject;
                if (pFile != "")
                    mandrillEx.Attachment.Add("application/pdf", pFile);

                bool bolSend = mandrillEx.Send(ref return_message);
                if (bolSend)
                    UpdateMail(message_log_id, Guid.NewGuid().ToString(), return_message);
            }

            mandrillEx = null;
            return return_message;
        }
Пример #4
0
        public static string SendSMS(ReportsProperty.SendSmsInfoCollection _SendSmsCollection = null, serverside_report_requests _eftRequest = null)
        {
            /*Sample XML
             * <SMS>
                    <contact>
                        <name>Dan</name>
                        <number>+6394992380</number>
                    </contact>
                    <contact>
                        <name>Venus</name>
                        <number>+639069163504</number>
                    </contact>
                </SMS>;
             */

            bool bolProceed = false;
            string smsRecipients = "";
            string xml = "";
            for (int i = 0; i < _SendSmsCollection.SmsContacts.Count; i++) {
                if (xml != "") xml += "\n";
                xml += "<contact><name>" + _SendSmsCollection.SmsContacts[i].Name + "</name><number>" + _SendSmsCollection.SmsContacts[i].MobileNo + "</number></contact>";
                if (smsRecipients != "") smsRecipients += "\n";
                smsRecipients += _SendSmsCollection.SmsContacts[i].Name;
                bolProceed = true;
            }

            if (bolProceed) {
                xml = "<SMS>" + xml + "</SMS>";
                LogEventSMS(xml, _SendSmsCollection.SmsMessage, _SendSmsCollection.ComputerName, _SendSmsCollection.ComputerIP, _eftRequest);
            }

            return xml;
        }
Пример #5
0
        private void btnPreview_Click(object sender, EventArgs e)
        {
            btnPreview.Enabled = false;
            if (Convert.ToInt32(cboReports.EditValue) < 1) {
                NotificationDialog.Information("Bright Sales", "Please select a report to preview.");
                return;
            }

            WaitDialog.Show("Sending web service request ...");
            List<int> _SubCampaignIds = new List<int>();
            _SubCampaignIds.Add(m_BrightSalesProperty.CommonProperty.SubCampaignId);

            using (BrightPlatformEntities _efDbContext = new BrightPlatformEntities(UserSession.EntityConnection)) {
                _efDbContext.FIClearUserReuests(UserSession.CurrentUser.UserId);
                Guid _RequestId = Guid.NewGuid();
                serverside_report_requests _eftRequest = new serverside_report_requests() {
                    id = _RequestId,
                    calling_environment = (short)ReportsUtility.eCallingEnvironment.BrightSales_SendEmail,
                    display_mode = (short)ReportsUtility.eDisplayMode.AccountsContacts_WithDialogData,
                    campaign_info = string.Format("{0}>{1}>{2}",
                        m_BrightSalesProperty.CommonProperty.CustomerName,
                        m_BrightSalesProperty.CommonProperty.CampaignName,
                        m_BrightSalesProperty.CommonProperty.SubCampaignName
                    ),
                    sub_campaign_ids = string.Join(",", _SubCampaignIds),
                    view_config_id = Convert.ToInt32(cboReports.EditValue),
                    account_id = m_BrightSalesProperty.CommonProperty.CurrentWorkedAccountId,
                    requested_by = UserSession.CurrentUser.UserId,
                    requested_on = DateTime.Now
                };
                _efDbContext.serverside_report_requests.AddObject(_eftRequest);
                _efDbContext.SaveChanges();
                _efDbContext.Detach(_eftRequest);
                ReportsUtility.SendReportRequest(_RequestId.ToString());
            }
            WaitDialog.Close();
            System.Threading.Thread.Sleep(2000);
            btnPreview.Enabled = true;

            //if (Convert.ToInt32(cboReports.EditValue) < 1) {
            //    NotificationDialog.Information("Bright Sales", "Please select a report to preview.");
            //    return;
            //}

            //m_SendEmailButtonPressed = false;
            //this.Cursor = Cursors.WaitCursor;
            //WaitDialog.Show("Loading report preview ...");
            //m_Reports = new ReportsUtility() {
            //    CampaignInfo = string.Format("{0}>{1}>{2}",
            //        m_BrightSalesProperty.CommonProperty.CustomerName,
            //        m_BrightSalesProperty.CommonProperty.CampaignName,
            //        m_BrightSalesProperty.CommonProperty.SubCampaignName
            //    ),
            //    LSubCampaignData = new List<ReportsUtility.SubcampaignData>(),
            //    CallingEnvironment = ReportsUtility.eCallingEnvironment.BrightSales_SendEmail,
            //    DisplayMode = ReportsUtility.eDisplayMode.AccountsContacts_WithDialogData,
            //    AccountId = m_BrightSalesProperty.CommonProperty.CurrentWorkedAccountId
            //};
            //List<int> _SubCampaignIds = new List<int>();
            //_SubCampaignIds.Add(m_BrightSalesProperty.CommonProperty.SubCampaignId);
            //m_Reports.OnReportPageCompleted += m_Reports_OnReportPageCompleted;
            //DevExpress.XtraTab.XtraTabControl _DummyTab = new DevExpress.XtraTab.XtraTabControl();
            //m_Reports.GenerateReportPages(ref _DummyTab, _SubCampaignIds.ToArray(), Convert.ToInt32(cboReports.EditValue));
        }
Пример #6
0
        private void btnSendEmail_Click(object sender, EventArgs e)
        {
            this.Cursor = Cursors.WaitCursor;
            btnSendEmail.Enabled = false;

            int iRecipients = this.CountRecipients();
            int iSMSRecipients = this.CountSMSRecipients();

            if (string.IsNullOrEmpty(tbxMailSubject.Text)) {
                NotificationDialog.Error("Bright Sales", "Please specify your mail subject.");
                tbxMailSubject.Focus();
                return;
            }
            else if (string.IsNullOrEmpty(tbxMailContent.Text)) {
                NotificationDialog.Error("Bright Sales", "Please specify your mail message.");
                tbxMailContent.Focus();
                return;
            }
            else if (iRecipients < 1 && iSMSRecipients < 1) {
                NotificationDialog.Error("Bright Sales", string.Format("No emails/sms selected.{0}No emails/sms will be sent.", Environment.NewLine));
                gvRecipients.Focus();
                return;
            }

            if (iRecipients > 0 || iSMSRecipients > 0) {
                WaitDialog.Show("Sending web service request.");
                Guid _RequestId = Guid.NewGuid();
                string _SendEmailInfo = this.GetSerializedSendEmailInfo();
                string _SendSmsInfo = this.GetSerializedSendSmsInfo();

                List<int> _SubCampaignIds = new List<int>();
                _SubCampaignIds.Add(m_BrightSalesProperty.CommonProperty.SubCampaignId);

                using (BrightPlatformEntities _efDbContext = new BrightPlatformEntities(UserSession.EntityConnection)) {
                    serverside_report_requests _eftRequest = new serverside_report_requests() {
                        id = _RequestId,
                        calling_environment = (short)ReportsUtility.eCallingEnvironment.BrightSales_SendEmail,
                        display_mode = (short)ReportsUtility.eDisplayMode.AccountsContacts_WithDialogData,
                        campaign_info = string.Format("{0}>{1}>{2}",
                            m_BrightSalesProperty.CommonProperty.CustomerName,
                            m_BrightSalesProperty.CommonProperty.CampaignName,
                            m_BrightSalesProperty.CommonProperty.SubCampaignName
                        ),
                        sub_campaign_ids = string.Join(",", _SubCampaignIds),
                        view_config_id = Convert.ToInt32(cboReports.EditValue) > 0? Convert.ToInt32(cboReports.EditValue): 0,
                        account_id = m_BrightSalesProperty.CommonProperty.CurrentWorkedAccountId,
                        send_email_info = _SendEmailInfo,
                        send_sms_info = _SendSmsInfo,
                        requested_by = UserSession.CurrentUser.UserId,
                        requested_on = DateTime.Now
                    };
                    _efDbContext.serverside_report_requests.AddObject(_eftRequest);
                    _efDbContext.SaveChanges();
                    _efDbContext.Detach(_eftRequest);
                }

                if (iRecipients > 0)
                    ReportsUtility.SendMailRequest(_RequestId.ToString());

                WaitDialog.Close();
                this.Close();
            }

            /**
             * when we need to send pdf attachments, we go here.
             * else, send email without attachments by calling the SendEmail() method directly.
             */
            //if (iRecipients > 0 && Convert.ToInt32(cboReports.EditValue) > 0) {
            //m_SendEmailButtonPressed = true;
            //this.Cursor = Cursors.WaitCursor;
            //WaitDialog.Show("Sending mails to recipients ...");
            //m_Reports = new ReportsUtility() {
            //    CampaignInfo = string.Format("{0}>{1}>{2}",
            //        m_BrightSalesProperty.CommonProperty.CustomerName,
            //        m_BrightSalesProperty.CommonProperty.CampaignName,
            //        m_BrightSalesProperty.CommonProperty.SubCampaignName
            //    ),
            //    LSubCampaignData = new List<ReportsUtility.SubcampaignData>(),
            //    CallingEnvironment = ReportsUtility.eCallingEnvironment.BrightSales_SendEmail,
            //    DisplayMode = ReportsUtility.eDisplayMode.AccountsContacts_WithDialogData,
            //    AccountId = m_BrightSalesProperty.CommonProperty.CurrentWorkedAccountId,
            //    CallingApplication = ReportsUtility.eCallingApplication.BrightSales
            //};
            //List<int> _SubCampaignIds = new List<int>();
            //_SubCampaignIds.Add(m_BrightSalesProperty.CommonProperty.SubCampaignId);
            //m_Reports.OnReportPageCompleted += m_Reports_OnReportPageCompleted;
            //DevExpress.XtraTab.XtraTabControl _DummyTab = new DevExpress.XtraTab.XtraTabControl();
            //m_Reports.GenerateReportPages(ref _DummyTab, _SubCampaignIds.ToArray(), Convert.ToInt32(cboReports.EditValue));
            //}

            //else
            //{
            //    m_SendEmailButtonPressed = true;

            //    if (iRecipients > 0)
            //        this.SendEmail();

            //    if (iSMSRecipients > 0)
            //        this.SendSMS();

            //    if (m_SendEmailButtonPressed)
            //        this.Close();
            //}

            this.Cursor = Cursors.Default;
            btnSendEmail.Enabled = true;
        }
Пример #7
0
            private void btnSaveReportPerPdf_Click(object sender, EventArgs e)
            {
                WaitDialog.Show("Sending web service request ...");
                List<int> _SubCampaignIds = new List<int>();
                _SubCampaignIds.Add(m_SubCampaignId);

                using (BrightPlatformEntities _efDbContext = new BrightPlatformEntities(UserSession.EntityConnection)) {
                    m_eftConfigData = _efDbContext.view_configuration.FirstOrDefault(i => i.id == m_ViewConfigId);
                    m_eftSubCampaign = _efDbContext.subcampaigns.FirstOrDefault(i => i.id == m_eftConfigData.subcampaign_id);
                    m_eftCampaign = _efDbContext.campaigns.FirstOrDefault(i => i.id == m_eftSubCampaign.campaign_id);
                    m_eftCustomer = _efDbContext.customers.FirstOrDefault(i => i.id == m_eftCampaign.customer_id);

                    _efDbContext.Detach(m_eftConfigData);
                    _efDbContext.Detach(m_eftSubCampaign);
                    _efDbContext.Detach(m_eftCampaign);
                    _efDbContext.Detach(m_eftCustomer);

                    string _GridSortInfo = this.GetSerializedSortInfo(gridView1.SortInfo);
                    string _ColumnsInfo = this.GetSerializedColumnsInfo();
                    short _CallingEnvironment = (short)(m_CallingApplication == eCallingApplication.BrightManager ? eCallingEnvironment.BrightManager_SaveAccountPerPdf : eCallingEnvironment.BrightSales_SaveAccountPerPdf);

                    Guid _RequestId = Guid.NewGuid();
                    serverside_report_requests _eftRequest = new serverside_report_requests() {
                        id = _RequestId,
                        calling_environment = _CallingEnvironment,
                        display_mode = (short)m_ViewType,
                        campaign_info = string.Format("{0}>{1}>{2}",
                            m_eftCustomer.customer_name,
                            m_eftCampaign.campaign_name,
                            m_eftSubCampaign.title
                        ),
                        sub_campaign_ids = string.Join(",", _SubCampaignIds),
                        view_config_id = m_ViewConfigId,
                        account_id = 0,
                        active_filter_string = gridView1.ActiveFilterString,
                        sort_info = _GridSortInfo,
                        columns_info = _ColumnsInfo,
                        requested_by = UserSession.CurrentUser.UserId,
                        requested_on = DateTime.Now
                    };
                    _efDbContext.serverside_report_requests.AddObject(_eftRequest);
                    _efDbContext.SaveChanges();
                    _efDbContext.Detach(_eftRequest);
                    ReportsUtility.CreatePdfFilesPerAccount(_RequestId.ToString());
                }
                WaitDialog.Close();

                //WaitDialog.Show("Generating PDF reports ...");
                //this.GenerateReports();
                //WaitDialog.Close();
            }
Пример #8
0
            private void btnShowReport_Click(object sender, EventArgs e)
            {
                WaitDialog.Show("Sending web service request ...");
                List<int> _SubCampaignIds = new List<int>();
                _SubCampaignIds.Add(m_SubCampaignId);

                using (BrightPlatformEntities _efDbContext = new BrightPlatformEntities(UserSession.EntityConnection)) {
                    _efDbContext.FIClearUserReuests(UserSession.CurrentUser.UserId);
                    m_eftConfigData = _efDbContext.view_configuration.FirstOrDefault(i => i.id == m_ViewConfigId);
                    m_eftSubCampaign = _efDbContext.subcampaigns.FirstOrDefault(i => i.id == m_eftConfigData.subcampaign_id);
                    m_eftCampaign = _efDbContext.campaigns.FirstOrDefault(i => i.id == m_eftSubCampaign.campaign_id);
                    m_eftCustomer = _efDbContext.customers.FirstOrDefault(i => i.id == m_eftCampaign.customer_id);

                    _efDbContext.Detach(m_eftConfigData);
                    _efDbContext.Detach(m_eftSubCampaign);
                    _efDbContext.Detach(m_eftCampaign);
                    _efDbContext.Detach(m_eftCustomer);

                    Guid _RequestId = Guid.NewGuid();
                    string _GridSortInfo = this.GetSerializedSortInfo(gridView1.SortInfo);
                    string _ColumnsInfo = this.GetSerializedColumnsInfo();

                    serverside_report_requests _eftRequest = new serverside_report_requests() {
                        id = _RequestId,
                        calling_environment = (short)m_CallingEnvironment,
                        display_mode = (short)m_ViewType,
                        //calling_environment = (short)ReportsUtility.eCallingEnvironment.BrightSales_ViewDisplay,
                        //display_mode = (short)ReportsUtility.eDisplayMode.AccountsContacts_WithDialogData,
                        campaign_info = string.Format("{0}>{1}>{2}",
                            m_eftCustomer.customer_name,
                            m_eftCampaign.campaign_name,
                            m_eftSubCampaign.title
                        ),
                        sub_campaign_ids = string.Join(",", _SubCampaignIds),
                        view_config_id = m_ViewConfigId,
                        account_id = 0,
                        active_filter_string = gridView1.ActiveFilterString,
                        sort_info = _GridSortInfo,
                        columns_info = _ColumnsInfo,
                        requested_by = UserSession.CurrentUser.UserId,
                        requested_on = DateTime.Now
                    };
                    _efDbContext.serverside_report_requests.AddObject(_eftRequest);
                    _efDbContext.SaveChanges();
                    _efDbContext.Detach(_eftRequest);
                    ReportsUtility.SendReportRequest(_RequestId.ToString());
                }
                WaitDialog.Close();

                //WaitDialog.Show("Sending web service request ...");
                //using (BrightPlatformEntities _efDbContext = new BrightPlatformEntities(UserSession.EntityConnection)) {
                //    serverside_report_requests _eftRequest = new serverside_report_requests() {
                //        calling_environment = (short)ReportsUtility.eCallingEnvironment.BrightSales_ViewDisplay,
                //        display_mode = (short)ReportsUtility.eDisplayMode.AccountsContacts_WithDialogData,
                //        campaign_info = m_CampaignInfo,
                //        //sub_campaign_ids = string.Join(",", pSubCampaignIds),
                //        view_config_id = m_ViewConfigId,
                //        account_id = 0,
                //        requested_by = UserSession.CurrentUser.UserId,
                //        requested_on = DateTime.Now
                //    };
                //    _efDbContext.serverside_report_requests.AddObject(_eftRequest);
                //    string _RequestId = _eftRequest.id.ToString();
                //    _efDbContext.Detach(_eftRequest);
                //    this.SendReportRequest(_RequestId);
                //}
                //WaitDialog.Close();

                //WaitDialog.Show("Loading report preview ...");
                //this.ReportPagePreview();
                //WaitDialog.Close();
            }