public static string getJsonSpam(string contentId) { // Lay noi dung cho xu ly spam. SendContentBUS scBUS = new SendContentBUS(); int id = int.Parse(contentId); string contentDetail = null; DataTable tblContent = scBUS.GetByID(id); if (tblContent.Rows.Count > 0) { contentDetail = tblContent.Rows[0]["Body"].ToString(); } // Tien hanh check spam SpamRuleBUS spamBUS = new SpamRuleBUS(); DataTable spam = spamBUS.GetAll(); List<SpamRuleDTO> listSpam = new List<SpamRuleDTO>(); for (int i = 0; i < spam.Rows.Count; i++) { SpamRuleDTO spamDto = new SpamRuleDTO(); spamDto.Keyword = spam.Rows[i]["Keyword"].ToString(); spamDto.SameWord = spam.Rows[i]["SameWord"].ToString(); spamDto.Score = float.Parse(spam.Rows[i]["Score"].ToString()); listSpam.Add(spamDto); } var json = new JavaScriptSerializer().Serialize(listSpam); return json; }
public EmailSend() { srdBUS = new SendRegisterDetailBUS(); scBUS = new SendContentBUS(); mcBUS = new MailConfigBUS(); ctBUS = new CustomerBUS(); dtGroupBUS = new DetailGroupBUS(); countBUS = new CountBuyBUS(); }
protected void drlCampaign_SelectedIndexChanged(object sender, EventArgs e) { int readMail = 0; try { srBUS = new SendRegisterBUS(); srdBus = new SendRegisterDetailBUS(); sendContentBus = new SendContentBUS(); mgBus = new MailGroupBUS(); int sendId = int.Parse(drlCampaign.SelectedValue.ToString()); DataTable campain = srdBus.GetByID(sendId); DataTable errSend = srdBus.GetByStatus(false, sendId); DataTable unreceve = srdBus.GetByNotReceve(sendId); int err = errSend.Rows.Count; this.lblTotalMailSend.Text = campain.Rows.Count.ToString(); int notreceve = unreceve.Rows.Count; lblEmailSend.Text = new MailConfigBUS().GetByID(int.Parse(srBUS.GetByID(sendId).Rows[0]["mailconfigid"]+"")).Rows[0]["eMail"].ToString(); if (campain.Rows.Count > 0) { foreach (DataRow row in campain.Rows) { if (row["isOpenMail"].ToString() == "True") { readMail++; } } lblNotOpen2.Text = (campain.Rows.Count - readMail).ToString(); } lblNotOpen2.Text = "0"; lblOpened.Text = readMail.ToString(); DataTable sendregisteDetail = srBUS.GetByID(sendId); if (sendregisteDetail.Rows.Count > 0) { int contentID = int.Parse(sendregisteDetail.Rows[0]["SendContentId"].ToString()); lblDateStart.Text = sendregisteDetail.Rows[0]["StartDate"].ToString(); lblDateEnd.Text = sendregisteDetail.Rows[0]["EndDate"].ToString(); int groupSend = int.Parse(sendregisteDetail.Rows[0]["GroupTo"].ToString()); if (groupSend == -3) lblGroupEmailTo.Text = "Tất cả"; else lblGroupEmailTo.Text = mgBus.GetByID(groupSend).Rows[0]["Name"].ToString(); if (sendContentBus.GetByID(contentID).Rows.Count > 0) { lblCampianName.Text = sendContentBus.GetByID(contentID).Rows[0]["Subject"].ToString(); } } if (campain.Rows.Count > 0) CreateChart(campain.Rows.Count, err, readMail, 1, notreceve, lblCampianName.Text); else lblChart.Text = ""; LoadOpenEmail(sendId); } catch (Exception ex) { //pnError.Visible = true; //lblError.Text = ex.Message; } }
public static string getContentTemplate(string contentId) { SendContentBUS scBUS = new SendContentBUS(); int id = int.Parse(contentId); DataTable tblContent = scBUS.GetByID(id); if (tblContent.Rows.Count > 0) { return tblContent.Rows[0]["Body"].ToString(); } return null; }
protected void Page_Load(object sender, EventArgs e) { scBus = new SendContentBUS(); if (!IsPostBack) { try { LoadDataListContent(); } catch (Exception ex) { pnError.Visible = true; lblError.Text = ex.Message; } } }
protected void Page_Load(object sender, EventArgs e) { try { SendContentBUS scBus = new SendContentBUS(); string id = Request.QueryString["id"] ; DataTable tblContent = scBus.GetByID(int.Parse(id)); if (tblContent.Rows.Count > 0) { lblContentDetail.Text = tblContent.Rows[0]["Body"].ToString(); } } catch (Exception) { throw; } }
protected void loadListContentHasSend() { try { int groupId = int.Parse(Request.Params["groupId"]); PartSendBUS psBus = new PartSendBUS(); SendContentBUS scBus = new SendContentBUS(); MailGroupBUS mgBus = new MailGroupBUS(); DataTable tblPartSend = psBus.GetByUserIdAndGroupId(getUserLogin().UserId, groupId); if (tblPartSend.Rows.Count > 0) { string hasContentSend = tblPartSend.Rows[0]["hasContentSend"].ToString(); string[] arrayContentSend = hasContentSend.Split(','); dlContentList.DataSource = arrayContentSend; dlContentList.DataBind(); for (int i = 0; i < arrayContentSend.Length; i++) { Label lblSubject = (Label)dlContentList.Items[i].FindControl("lblSubject"); Label lblContent = (Label)dlContentList.Items[i].FindControl("lblContent"); string contentId = arrayContentSend[i]; DataTable tblContent = scBus.GetByID(int.Parse(contentId)); if (tblContent.Rows.Count > 0) { lblSubject.Text = tblContent.Rows[0]["Subject"].ToString(); lblContent.Text = tblContent.Rows[0]["Body"].ToString(); } } } DataTable tblMailGroup = mgBus.GetByID(groupId); if (tblMailGroup.Rows.Count > 0) { lblGroupName.Text = tblMailGroup.Rows[0]["Name"].ToString(); } } catch (Exception) { throw; } }
public EmailSend() { srdBUS = new SendRegisterDetailBUS(); scBUS = new SendContentBUS(); mcBUS= new MailConfigBUS(); }
protected string LoadChart(object id) { int readMail = 0; try { //int i=0; for (int i = 0; i < dlContentSendEvent.Items.Count; i++) { HiddenField hdfId = (HiddenField)dlContentSendEvent.Items[i].FindControl("hdfId"); if (hdfId.Value + "" == id + "") { SendRegisterBUS srBUS = new SendRegisterBUS(); SendRegisterDetailBUS srdBus = new SendRegisterDetailBUS(); SendContentBUS sendContentBus = new SendContentBUS(); MailGroupBUS mgBus = new MailGroupBUS(); int sendId = int.Parse(id + ""); DataTable campain = srdBus.GetByContentID(sendId); DataTable errSend = srdBus.GetContentSendEventDetailByStatus(false, sendId); DataTable unreceve = srdBus.GetByNotReceve(sendId); int err = errSend.Rows.Count; Label lblTotalMailSend = (Label)dlContentSendEvent.Items[i].FindControl("lblTotalMailSend"); Label lblEmailSend = (Label)dlContentSendEvent.Items[i].FindControl("lblEmailSend"); Label lblNotOpen2 = (Label)dlContentSendEvent.Items[i].FindControl("lblNotOpen2"); Label lblOpened = (Label)dlContentSendEvent.Items[i].FindControl("lblOpened"); Label lblDateStart = (Label)dlContentSendEvent.Items[i].FindControl("lblDateStart"); Label lblDateEnd = (Label)dlContentSendEvent.Items[i].FindControl("lblDateEnd"); Label lblGroupEmailTo = (Label)dlContentSendEvent.Items[i].FindControl("lblGroupEmailTo"); Label lblCampianName = (Label)dlContentSendEvent.Items[i].FindControl("lblCampianName"); Label lblChart = (Label)dlContentSendEvent.Items[i].FindControl("lblChart"); lblTotalMailSend.Text = campain.Rows.Count.ToString(); int notreceve = unreceve.Rows.Count; if (campain.Rows.Count > 0) { lblEmailSend.Text = campain.Rows[0]["MailSend"].ToString(); foreach (DataRow row in campain.Rows) { if (row["isOpenMail"].ToString() == "True") { readMail++; } } lblNotOpen2.Text = (campain.Rows.Count - readMail).ToString(); } lblOpened.Text = readMail.ToString(); DataTable sendregisteDetail = cseBus.GetById(sendId); if (sendregisteDetail.Rows.Count > 0) { int contentID = int.Parse(sendregisteDetail.Rows[0]["id"].ToString()); //lblDateStart.Text = sendregisteDetail.Rows[0]["StartDate"].ToString(); //lblDateEnd.Text = sendregisteDetail.Rows[0]["EndDate"].ToString(); int groupSend = int.Parse(sendregisteDetail.Rows[0]["GroupTo"].ToString()); if (groupSend == -3) lblGroupEmailTo.Text = "Tất cả"; else lblGroupEmailTo.Text = mgBus.GetByID(groupSend).Rows[0]["Name"].ToString(); if (sendContentBus.GetByID(contentID).Rows.Count > 0) { lblCampianName.Text = sendContentBus.GetByID(contentID).Rows[0]["Subject"].ToString(); } } CreateChart(campain.Rows.Count, err, readMail, 1, notreceve, lblCampianName.Text, lblChart); } } } catch (Exception ex) { pnError.Visible = true; lblError.Text = ex.Message; } return ""; }
// Thêm ngày 16/09 by Viết Hùng //Thêm ngày 26/9 public void callSendBulkMail_BySubGroup(DataRow Row, DataTable listSendContent, DataTable listCustomer, DataTable listMailConfig) { //param for send mail string EmailTo = ""; string customerName = ""; string EmailSubject = ""; string EmailBody = ""; string EmailFrom = ""; string Name = ""; string username = ""; string Password = ""; string HostName = ""; int PortNumber = 0; bool isSSL = false; //param for content int SendContentId; int EmailFromID; int SendRegisterID = 0; int AccountId = 0; SendRegisterBUS srBus = new SendRegisterBUS(); CustomerBUS customerBus = new CustomerBUS(); SendRegisterDetailBUS srdBus = new SendRegisterDetailBUS(); dgBUS = new DetailGroupBUS(); PartSendBUS psBus = new PartSendBUS(); SendContentBUS scBus = new SendContentBUS(); try { if (Row != null) { // Stop timer check SendContentId = int.Parse(Row["SendContentId"].ToString()); AccountId = int.Parse(Row["AccountId"].ToString()); // Lấy nội dung đăng ký gửi đi DataRow[] resultListSendContend = listSendContent.Select(String.Format("Id = {0}", SendContentId)); if (resultListSendContend.Length > 0) { EmailSubject = resultListSendContend[0]["Subject"].ToString(); EmailBody = resultListSendContend[0]["Body"].ToString(); } //Lấy cấu hình mail gửi EmailFromID = int.Parse(Row["MailConfigID"].ToString()); DataRow[] resultListMailConfig = listMailConfig.Select(String.Format("Id = {0}", EmailFromID)); if (resultListMailConfig.Length > 0) { EmailFrom = resultListMailConfig[0]["Email"].ToString(); username = resultListMailConfig[0]["username"].ToString(); Password = resultListMailConfig[0]["Password"].ToString(); HostName = resultListMailConfig[0]["Server"].ToString(); Name = resultListMailConfig[0]["Name"].ToString(); PortNumber = int.Parse(resultListMailConfig[0]["Port"].ToString()); isSSL = bool.Parse(resultListMailConfig[0]["isSSL"].ToString()); } // ID nhóm mail cần gửi đi string groupId = Row["SendType"].ToString(); //Lấy danh sách khách hàng của nhóm DataTable tblCustomerBySubGroup = dgBUS.GetByID(int.Parse(groupId)); if (tblCustomerBySubGroup.Rows.Count > 0) { // Kiểm tra chiến dịch này có thuộc nhóm gửi mail từng phần DataTable tblPartSend = psBus.GetByUserIdAndGroupId(AccountId, int.Parse(groupId)); SendRegisterID = int.Parse(Row["Id"].ToString()); for (int i = 0; i < tblCustomerBySubGroup.Rows.Count; i++) { Stop = true; DataTable tblCustomerByID = customerBus.GetByID(int.Parse(tblCustomerBySubGroup.Rows[i]["CustomerID"].ToString())); if (tblCustomerByID.Rows.Count > 0) { EmailTo = tblCustomerByID.Rows[0]["Email"].ToString(); customerName = (tblCustomerByID.Rows[0]["Name"].ToString() == null || tblCustomerByID.Rows[0]["Name"].ToString() == "") ? EmailTo : tblCustomerByID.Rows[0]["Name"].ToString(); } // Xử lý câu chào cho nội dung mail string body = EmailBody.Replace("[khachhang]", customerName); body = body.Replace("[email]", EmailTo); // Xử lý câu chào cho tiêu đề mail string subject = EmailSubject.Replace("[khachhang]", customerName).ToUpper(); // Thời gian bắt đầu gửi DateTime startDate = DateTime.Now; // Thời gian kết thúc gửi DateTime endDate = DateTime.Now; SendRegisterDetailDTO srdDto = new SendRegisterDetailDTO() { SendRegisterId = SendRegisterID, Email = EmailTo, StartDate = startDate, EndDate = endDate, DayEnd = endDate.Day, HoursEnd = endDate.Hour, MinuteEnd = endDate.Minute, SecondEnd = endDate.Second, MailSend = EmailFrom, Status = false, ErrorType = "0" }; int sendetailID = 0; // Lưu lại thông tin từng mail đã gửi sendetailID = srdBus.tblSendRegisterDetail_insert(srdDto); srdDto.SendRegisterDetailId = sendetailID; body += String.Format("<IMG height=1 src=\"http://fastautomaticmail.com/emailtrack.aspx?emailsentID={0}\" width=1>", sendetailID); //Update thời gian bắt đầu gửi startDate = DateTime.Now; srdDto.StartDate = DateTime.Now; bool send = false; try { //=============================================================================== // Edit by HThanhHai for part send mail //=============================================================================== // Nếu nhóm này nằm trong danh sách gửi từng phần if (tblPartSend.Rows.Count > 0) { // Kiểm tra số lượng mail khách hàng này đã nhận được int countReceivedMail = int.Parse(tblCustomerBySubGroup.Rows[i]["countReceivedMail"].ToString()); // Nội dung mail đã gửi cho nhóm này string hasContentSend = tblPartSend.Rows[0]["hasContentSend"].ToString(); string[] arrayContent = hasContentSend.Split(','); if (arrayContent.Length > 0) { // Nếu số lượng mail khách hàng này nhận ít hơn số nội dung đã gửi đi if (countReceivedMail < arrayContent.Length) { // Duyệt qua những nội dung mà khách hàng này chưa nhận // for (int k = countReceivedMail; k < arrayContent.Length; k++) { string contentId = arrayContent[k]; string contentDetail, subjectDetail; DataTable tblContent = scBus.GetByID(int.Parse(contentId)); if (tblContent.Rows.Count > 0) { subjectDetail = tblContent.Rows[0]["Subject"].ToString(); contentDetail = tblContent.Rows[0]["Body"].ToString(); contentDetail = contentDetail.Replace("[khachhang]", customerName); contentDetail = contentDetail.Replace("[email]", EmailTo); // Xử lý câu chào cho tiêu đề mail subjectDetail = subjectDetail.Replace("[khachhang]", customerName).ToUpper(); } else { subjectDetail = "No subject"; contentDetail = "Nội dung không tồn tại !"; } if (HostName == "Amazon API") { send = SendEmailWithAmazone(EmailFrom, EmailTo, subjectDetail, contentDetail, username, Password, Name); } else { send = SendMail(subjectDetail, contentDetail, HostName, PortNumber, EmailFrom, Password, Name, EmailTo, username, isSSL); } } // Update số lượng mail đã nhận sau khi đã gửi đi đầy đủ DetailGroupDTO dgDto = new DetailGroupDTO(); dgDto.CustomerID = AccountId; dgDto.GroupID = int.Parse(groupId); dgDto.CountReceivedMail = arrayContent.Length; dgBUS.tblDetailGroup_Update(dgDto); } } } else { // Không phải chiến dịch gửi mail từng phần if (HostName == "Amazon API") { send = SendEmailWithAmazone(EmailFrom, EmailTo, subject, body, username, Password, Name); } else { send = SendMail(subject, body, HostName, PortNumber, EmailFrom, Password, Name, EmailTo, username, isSSL); } } } catch (Exception ex) { const string errSubject = "Error from FAMail"; string errBody = ex.Message + DateTime.Now; ; const string errHost = "smtp.gmail.com"; const string errUser = "******"; const string errPass = "******"; SendMail(errSubject, errBody, errHost, 587, errUser, errPass, "Error from FAMail", "*****@*****.**"); SendMail(errSubject, errBody, errHost, 587, errUser, errPass, "Error from FAMail", "*****@*****.**"); } //Update thời gian bắt kết thúc srdDto.EndDate = endDate; endDate = DateTime.Now; srdBus.tblSendRegisterDetail_Update(sendetailID, startDate, endDate, send); } } } else { return; } } catch (Exception ) { throw; } finally { // cập nhật trạng thái đã gửi mail & thời gian kết thúc cho chiến dịch gửi mail này // trạng thái 1 - đã gửi, 0 - chưa gửi srBus.tblSendRegister_UpdateStatus(SendRegisterID, 1, DateTime.Now); Stop = false; } }
protected void getRegisterSendList() { try { cateBUs = new CategoryBUS(); srBUS = new SendRegisterBUS(); srdBus = new SendRegisterDetailBUS(); mailConfigBus = new MailConfigBUS(); mailGroupBus = new MailGroupBUS(); sendContentBus = new SendContentBUS(); dsgBus = new DetailGroupBUS(); UserLoginDTO userLogin = getUserLogin(); DataTable tblSendRegister = new DataTable(); if (userLogin.DepartmentId == 1) { tblSendRegister = srBUS.GetAll(); } else { tblSendRegister = srBUS.GetAll(userLogin.UserId); } if (tblSendRegister.Rows.Count > 0) { dlWaitSend.DataSource = tblSendRegister; dlWaitSend.DataBind(); for (int i = 0; i < tblSendRegister.Rows.Count; i++) { try { DataRow row = tblSendRegister.Rows[i]; int Sendtype = int.Parse(row["Sendtype"].ToString()); HiddenField hdfId = (HiddenField)dlWaitSend.Items[i].FindControl("hdfId"); hdfId.Value = row["Id"].ToString(); int contentId = int.Parse(row["SendContentId"].ToString()); //DataTable tblContent = sendContentBus.GetByID(contentId); Label lblSubject = (Label)dlWaitSend.Items[i].FindControl("lblSubject"); //if (tblContent.Rows.Count > 0) //{ // lblSubject.Text = tblContent.Rows[0]["Subject"].ToString(); //} //else lblSubject.Text = row["Subject"] + ""; int mailConfig = int.Parse(row["MailConfigID"].ToString()); DataTable tblMailConfig = mailConfigBus.GetByID(mailConfig); if (tblMailConfig.Rows.Count > 0) { Label lblMailConfig = (Label)dlWaitSend.Items[i].FindControl("lblMailConfig"); lblMailConfig.Text = tblMailConfig.Rows[0]["Email"].ToString(); } int groupTo = int.Parse(row["GroupTo"].ToString()); if (groupTo == -3) { Label lblGroupTo = (Label)dlWaitSend.Items[i].FindControl("lblGroupTo"); lblGroupTo.Text = "Tất cả khách hàng"; } else if (groupTo == -2) { Label lblGroupTo = (Label)dlWaitSend.Items[i].FindControl("lblGroupTo"); lblGroupTo.Text = "Nhóm mua nhiều lần"; } else if (groupTo == -1) { Label lblGroupTo = (Label)dlWaitSend.Items[i].FindControl("lblGroupTo"); lblGroupTo.Text = "Nhóm mua lần đầu"; } else { DataTable tblGroupTo = new DataTable(); if (Sendtype == 1) { tblGroupTo = mailGroupBus.GetByID(groupTo); if (tblGroupTo.Rows.Count > 0) { Label lblGroupTo = (Label)dlWaitSend.Items[i].FindControl("lblGroupTo"); lblGroupTo.Text = tblGroupTo.Rows[0]["Name"].ToString(); } } else { tblGroupTo = cateBUs.GetByID(groupTo); if (tblGroupTo.Rows.Count > 0) { Label lblGroupTo = (Label)dlWaitSend.Items[i].FindControl("lblGroupTo"); lblGroupTo.Text = tblGroupTo.Rows[0]["Title"].ToString(); } } } Label lblStartDate = (Label)dlWaitSend.Items[i].FindControl("lblStartDate"); lblStartDate.Text = row["StartDate"].ToString(); Label lblEndDate = (Label)dlWaitSend.Items[i].FindControl("lblEndDate"); int status = int.Parse(row["Status"].ToString()); Panel panel = (Panel)dlWaitSend.Items[i].FindControl("Panel1"); TextBox progressbar = (TextBox)dlWaitSend.Items[i].FindControl("progressbar"); LinkButton lbtDetail = (LinkButton)dlWaitSend.Items[i].FindControl("lbtDetail"); //get list detail DataTable listDetail = srdBus.GetByID(int.Parse(row["Id"].ToString())); int hasSend = 0, sumSend = dsgBus.GetByID(groupTo).Rows.Count; for (int k = 0; k < listDetail.Rows.Count; k++) { hasSend++; } //calc percent has send int percent = 0; if (sumSend != 0) { percent = (hasSend * 100) / sumSend; } if (status == 0) { //display process bar panel.Visible = true; progressbar.BackColor = System.Drawing.Color.Cornsilk; progressbar.Width = percent + 20; progressbar.Text = percent + "%"; lbtDetail.Visible = false; lbtDetail.Text = ""; lblEndDate.Text = "Chưa xác định "; } else { //hidden process bar panel.Visible = false; lbtDetail.Text = "Xem chi tiết"; lbtDetail.PostBackUrl = "reportSend.aspx?campaign-id=" + row["Id"].ToString(); lblEndDate.Text = row["EndDate"].ToString(); } LinkButton lbtDelete = (LinkButton)dlWaitSend.Items[i].FindControl("lbtDelete"); lbtDelete.CommandArgument = row["Id"].ToString(); } catch (Exception) { continue; } } } } catch (Exception) { } }
//protected void lbtAddWelcome_Click(object sender, EventArgs e) //{ // if (txtWelcome.Text != "" && txtAfterWelcome.Text != "") // { // String welcomeText = txtWelcome.Text; // if (rdoCustomerName.Checked == true) // { // welcomeText += "[khachhang]"; // } // else // { // welcomeText += "[email]"; // } // welcomeText += txtAfterWelcome.Text; // txtBody.Text = welcomeText + "</br>" + txtBody.Text; // } //} protected void btnSaveContent_Click(object sender, EventArgs e) { SendContentBUS scBus = new SendContentBUS(); try { PanelHourError.Visible = false; int hour = int.Parse(txtHour.Text); DataTable dtContent = (DataTable)Session["listContentSendEvent"]; if (hour==0 && dtContent.Select("hoursend=" + hour).Length != 0) { PanelHourError.Visible = true; lblHourError.Text = "Trùng giá trị giờ!"; return; } int contentId = int.Parse(drlContent.SelectedValue); string contentSubject = drlContent.SelectedItem.ToString(); string subject = this.txtSubject.Text; string body = this.txtBody.Text; DataRow row = dtContent.NewRow(); row["ContentId"] = contentId; row["HourSend"] = hour; row["Id"] = DateTime.Now.Millisecond; row["subject"] = subject; row["body"] = body; dtContent.Rows.Add(row); LoadContentSendEventList(dtContent); //this.txtBody.Text = ""; //this.txtSubject.Text = ""; drlContent.SelectedIndex = 0; } catch (Exception ex) { logs.Error(userLogin.Username + "Create-Event - btnSaveContent_Click", ex); PanelHourError.Visible = true; lblHourError.Text = "Nhập sai giá trị giờ !"; } }
protected void loadSendRegisterList(int status) { srBUS = new SendRegisterBUS(); sendContentBus = new SendContentBUS(); DataTable tblSendList = new DataTable(); if (getUserLogin().DepartmentId==1) { tblSendList = srBUS.GetByStatus(status); } else { tblSendList = srBUS.GetByStatusUser(status, getUserLogin().UserId); } if (tblSendList.Rows.Count > 0) { DataTable temp = new DataTable(); for (int i = 0; i < tblSendList.Rows.Count; i++) { try { //temp = sendContentBus.GetByID(int.Parse(tblSendList.Rows[i]["SendContentId"].ToString())); //if (temp.Rows.Count > 0) //{ drlCampaign.Items.Add( new ListItem(tblSendList.Rows[i]["Subject"].ToString() + " - " + tblSendList.Rows[i]["StartDate"].ToString(), tblSendList.Rows[i]["Id"].ToString())); //} } catch (Exception) { continue; } } } else { drlCampaign.Items.Add(new ListItem("Không có chiến dịch nào !", "1")); pnReport.Visible = false; } }
private void Insert(DateTime startDate, bool isSave) { srBUS = new SendRegisterBUS(); scBUS = new SendContentBUS(); SendContentDTO scDTO = new SendContentDTO(); scDTO = getContentDTO(); //Lấy thời gian của người dùng Thiết lập DateTime timeEnd = startDate.AddMinutes(calcTimeForGroup(int.Parse(drlMailGroup.SelectedValue)) + 1); DateTime timeStart = startDate; int GroupID = 0; DataTable tableFirt = new DataTable(); tableFirt = srBUS.GetByTimeCheck(startDate, 0);// 0 là chưa gửi. if (tableFirt.Rows.Count > 0) { GroupID = int.Parse(tableFirt.Rows[0]["GroupTo"].ToString()); timeStart = DateTime.Parse(tableFirt.Rows[0]["StartDate"].ToString()).AddMinutes(calcTimeForGroup(GroupID) + 1); if (timeStart < startDate) { timeStart = startDate; } else { } timeEnd = timeStart.AddMinutes(calcTimeForGroup(int.Parse(drlMailGroup.SelectedValue)) + 1); } else { } SelectTime: ; tableFirt = srBUS.GetByTimeNext(timeStart, timeEnd, 0); if (tableFirt.Rows.Count > 0) { GroupID = int.Parse(tableFirt.Rows[0]["GroupTo"].ToString()); timeStart = DateTime.Parse(tableFirt.Rows[0]["StartDate"].ToString()).AddMinutes(calcTimeForGroup(GroupID) + 1); timeEnd = timeStart.AddMinutes(calcTimeForGroup(int.Parse(drlMailGroup.SelectedValue)) + 1); goto SelectTime; } else { int contentID = 0; if (isSave) { contentID = scBUS.tblSendContent_insert(scDTO); } SendRegisterDTO srDto = getSendRegister(); srDto.SendContentId = contentID; srDto.StartDate = timeStart; srDto.Subject = txtSubject.Text; srDto.Body = txtBody.Text; srBUS.tblSendRegister_insert(srDto); } Response.Redirect("wait-send.aspx", false); }
protected void saveContentSendEvent(int eventId) { try { ContentSendEventBUS cseBus = new ContentSendEventBUS(); DataTable dtContent = (DataTable)Session["listContentSendEvent"]; if (dtContent.Rows.Count > 0) { for (int i = 0; i < dtContent.Rows.Count; i++) { DataRow row = dtContent.Rows[i]; ContentSendEventDTO cseDto = new ContentSendEventDTO(); cseDto.Id = int.Parse(row["Id"].ToString()); cseDto.EventId = eventId; cseDto.ContentId = int.Parse(row["ContentId"].ToString()); cseDto.HourSend = int.Parse(row["HourSend"].ToString()); cseDto.Subject = row["Subject"] + ""; cseDto.Body = row["Body"] + ""; int rsUpdate = cseBus.tblContentSendEvent_Update(cseDto); if (rsUpdate <= 0) { cseBus.tblContentSendEvent_insert(cseDto); SendContentDTO scDTO = new SendContentDTO(); scDTO = getContentDTO(); int contentID = new SendContentBUS().tblSendContent_insert(scDTO); } } } } catch (Exception ex) { logs.Error(userLogin.Username + "Create-Event - btnSaveContent_Click", ex); } }
private void InitialBUS() { scBUS = new SendContentBUS(); mailConfigBus = new MailConfigBUS(); mailGroupBus = new MailGroupBUS(); customerBus = new CustomerBUS(); srBUS = new SendRegisterBUS(); common = new Common(); dsgBUS = new DetailGroupBUS(); }
private void event_worker_DoWork(object sender, DoWorkEventArgs e) { try { EmailSend mailSend = new EmailSend(); DetailGroupBUS dgBus = new DetailGroupBUS(); ContentSendEventBUS cseBus = new ContentSendEventBUS(); SendContentBUS scBus = new SendContentBUS(); EventBUS eventBUS = new EventBUS(); DataTable tblSendList = dgBus.getGroupListByEventList(); if (tblSendList.Rows.Count > 0) { List<SendMailDTO> sendList = mailSend.convetToSendMail(tblSendList); int totalCnt = sendList.Count; foreach (SendMailDTO sendItem in sendList) { int eventId = sendItem.eventId; DataTable dtContentSendEvent = cseBus.GetByEventId(eventId); if (dtContentSendEvent.Rows.Count > 0) { if (sendItem.countReceivedMail == 0 && sendItem.lastReceivedMail == "") // Gui lan dau { int id = int.Parse(dtContentSendEvent.Rows[0]["id"].ToString()); int contentId = int.Parse(dtContentSendEvent.Rows[0]["ContentId"].ToString()); int hourSend = int.Parse(dtContentSendEvent.Rows[0]["HourSend"].ToString()); DataTable dtSendContent = scBus.GetByID(contentId); subject = dtContentSendEvent.Rows[0]["Subject"].ToString(); body = dtContentSendEvent.Rows[0]["Body"].ToString(); bool sendRs = false; // Send normal. bool send = sendMail(sendRs, sendItem.port, sendItem.hostName, sendItem.userSmtp, sendItem.passSmtp, sendItem.mailFrom, sendItem.senderName, subject, body, sendItem.recieveName, sendItem.mailTo, 0, id); logs_info.Info("Status: " + send + ", sendRegisterId:" + sendRegisterId + ", MailTo: " + sendItem.mailTo + ", mailFrom: " + mailFrom + ", Name: " + sendItem.recieveName); // Update tblDetailGroup. DetailGroupDTO dgDto = new DetailGroupDTO(); dgDto.CustomerID = sendItem.customerId; dgDto.GroupID = sendItem.groupId; dgDto.CountReceivedMail = sendItem.countReceivedMail + 1; dgDto.LastReceivedMail = DateTime.Now; dgBus.tblDetailGroup_Update(dgDto); eventBUS.tblEventCustomer_Update(eventId, sendItem.customerId, sendItem.countReceivedMail + 1); logHistoryForSendEvent(id, sendItem.mailTo, mailFrom, sendItem.recieveName, send); } else if (sendItem.countReceivedMail < dtContentSendEvent.Rows.Count) { string strReceivedMail = sendItem.lastReceivedMail; DateTime lastReceivedMail = DateTime.Now; if (strReceivedMail != "") { lastReceivedMail = DateTime.Parse(strReceivedMail); } int hourSend = int.Parse(dtContentSendEvent.Rows[sendItem.countReceivedMail]["HourSend"].ToString()); DateTime currentTime = lastReceivedMail.AddHours(hourSend); TimeSpan time = currentTime - DateTime.Now; /*if (DateTime.Now.Year == currentTime.Year && DateTime.Now.Month == currentTime.Month && DateTime.Now.Day == currentTime.Day && DateTime.Now.Hour == currentTime.Hour && DateTime.Now.Minute == currentTime.Minute)*/ if (time.Days < 0 || time.Hours < 0 || time.Minutes < 0 || time.Seconds < 0) { int contentId = int.Parse(dtContentSendEvent.Rows[sendItem.countReceivedMail]["ContentId"].ToString()); //DataTable dtSendContent = scBus.GetByID(contentId); //if (dtSendContent.Rows.Count > 0) //{ // subject = dtSendContent.Rows[0]["Subject"].ToString(); // body = dtSendContent.Rows[0]["Body"].ToString(); //} subject = dtContentSendEvent.Select("hoursend=" + hourSend)[0]["Subject"].ToString(); body = dtContentSendEvent.Select("hoursend=" + hourSend)[0]["Body"].ToString(); int id = Convert.ToInt32(dtContentSendEvent.Select("hoursend=" + hourSend)[0]["id"] + ""); bool sendRs = false; // Send normal. bool send = sendMail(sendRs, sendItem.port, sendItem.hostName, sendItem.userSmtp, sendItem.passSmtp, sendItem.mailFrom, sendItem.senderName, subject, body, sendItem.recieveName, sendItem.mailTo, 0, id); logHistoryForSendEvent(id, sendItem.mailTo, mailFrom, sendItem.recieveName, send); logs_info.Info("Status: " + send + ", sendRegisterId:" + sendRegisterId + ", MailTo: " + sendItem.mailTo + ", mailFrom: " + mailFrom + ", Name: " + sendItem.recieveName); // Update tblDetailGroup. DetailGroupDTO dgDto = new DetailGroupDTO(); dgDto.CustomerID = sendItem.customerId; dgDto.GroupID = sendItem.groupId; dgDto.CountReceivedMail = sendItem.countReceivedMail + 1; dgDto.LastReceivedMail = DateTime.Now; dgBus.tblDetailGroup_Update(dgDto); eventBUS.tblEventCustomer_Update(eventId, sendItem.customerId, sendItem.countReceivedMail + 1); } } } }// End forEach. } } catch (Exception ex) { logs.Error("timer2_tick", ex); } }
private void LoadContentList() { try { SendContentBUS scBus = new SendContentBUS(); DataTable dtContent = scBus.GetAllSendContent(getUserLogin().UserId); if (dtContent.Rows.Count > 0) { DataRow row = dtContent.NewRow(); row["Subject"] = "----------Chọn nội dung gửi kèm-----------"; row["Id"] = "-1"; dtContent.Rows.InsertAt(row, 0); drlContent.DataSource = dtContent; drlContent.DataTextField = "Subject"; drlContent.DataValueField = "Id"; drlContent.DataBind(); } } catch (Exception ex) { logs.Error(userLogin.Username + "-Create-Event - LoadContentList", ex); } }
private void InitialBUS() { scBUS = new SendContentBUS(); signBus = new SignatureBUS(); }
private void LoadContentSendEventList(DataTable dataTable) { try { SendContentBUS scBus = new SendContentBUS(); if (dataTable.Rows.Count > -1) { dataTable.DefaultView.Sort="hoursend";; dataTable = dataTable.DefaultView.ToTable(); dlContentSendEvent.DataSource = dataTable; dlContentSendEvent.DataBind(); for (int i = 0; i < dataTable.Rows.Count; i++) { Label lblNo = (Label)dlContentSendEvent.Items[i].FindControl("lblNo"); lblNo.Text = (i + 1).ToString(); LinkButton lbtContent = (LinkButton)dlContentSendEvent.Items[i].FindControl("lbtContent"); //String contentId = dataTable.Rows[i]["ContentId"].ToString(); //DataTable dtContent = scBus.GetByID(int.Parse(contentId)); //if (dtContent.Rows.Count > 0) //{ // lbtContent.Text = dtContent.Rows[0]["Subject"].ToString(); //} lbtContent.Text = dataTable.Rows[i]["Subject"].ToString(); Label lblHour = (Label)dlContentSendEvent.Items[i].FindControl("lblHour"); lblHour.Text = dataTable.Rows[i]["HourSend"].ToString() + " Giờ sau"; string id = dataTable.Rows[i]["Id"].ToString(); LinkButton lbtDelete = (LinkButton)dlContentSendEvent.Items[i].FindControl("lbtContentDelete"); lbtDelete.CommandArgument = id; } } } catch (Exception ex) { logs.Error(userLogin.Username + "-Create-Event - LoadContentSendEventList", ex); } }