public bool IgnoreNotice(List<ArrivalNoticeQuery> list) { ArrayList arrList = new ArrayList(); string mailBody = string.Empty; MailHelper mailHelper = new MailHelper(); try { for (int i = 0; i < list.Count; i++) { arrList.Add(_IArrivalNoticeDao.IgnoreNotice(list[i])); } //_mysqlDao.ExcuteSqls(arrList) if (_mysqlDao.ExcuteSqls(arrList)) { return true; } else { return false; } } catch (Exception ex) { throw new Exception("ArrivalNoticeMgr-->IgnoreNotice-->" + arrList.ToString() + ex.Message, ex); } }
public bool Start(string schedule_code) { DataTable table = UpdateAddress(); if(table.Rows.Count>0) { string mailBody = GetHtmlByDataTable(table); MailModel mailModel = new MailModel(); mailModel.MysqlConnectionString = mySqlConnectionString; string GroupCode = string.Empty; string MailTitle = string.Empty; //獲取該排程參數 List<ScheduleConfigQuery> store_config = new List<ScheduleConfigQuery>(); ScheduleConfigQuery query_config = new ScheduleConfigQuery(); query_config.schedule_code = schedule_code; ScheduleServiceMgr _secheduleServiceMgr = new ScheduleServiceMgr(mySqlConnectionString); store_config = _secheduleServiceMgr.GetScheduleConfig(query_config); foreach (ScheduleConfigQuery item in store_config) { if (item.parameterCode.Equals("MailFromAddress")) { mailModel.MailFromAddress = item.value; } else if (item.parameterCode.Equals("MailHost")) { mailModel.MailHost = item.value; } else if (item.parameterCode.Equals("MailPort")) { mailModel.MailPort = item.value; } else if (item.parameterCode.Equals("MailFromUser")) { mailModel.MailFromUser = item.value; } else if (item.parameterCode.Equals("EmailPassWord")) { mailModel.MailFormPwd = item.value; } else if (item.parameterCode.Equals("GroupCode")) { GroupCode = item.value; } else if (item.parameterCode.Equals("MailTitle")) { MailTitle = item.value; } } MailHelper mail = new MailHelper(mailModel); return mail.SendToGroup(GroupCode, MailTitle, mailBody, false, true); } return true; }
public void SendMail(string schedule_code, string info) { MailModel mailModel = new MailModel(); mailModel.MysqlConnectionString = mySqlConnectionString; string GroupCode = string.Empty; string MailTitle = string.Empty; string MailBody = string.Empty; bool IsSeparate = false; bool IsDisplyName = true; try { //獲取該排程參數 List<ScheduleConfigQuery> store_config = new List<ScheduleConfigQuery>(); ScheduleConfigQuery query_config = new ScheduleConfigQuery(); query_config.schedule_code = schedule_code; _secheduleServiceMgr = new ScheduleServiceMgr(mySqlConnectionString); store_config = _secheduleServiceMgr.GetScheduleConfig(query_config); #region mailModel賦值 foreach (ScheduleConfigQuery item in store_config) { if (item.parameterCode.Equals("MailFromAddress")) { mailModel.MailFromAddress = item.value; } else if (item.parameterCode.Equals("MailHost")) { mailModel.MailHost = item.value; } else if (item.parameterCode.Equals("MailPort")) { mailModel.MailPort = item.value; } else if (item.parameterCode.Equals("MailFromUser")) { mailModel.MailFromUser = item.value; } else if (item.parameterCode.Equals("EmailPassWord")) { mailModel.MailFormPwd = item.value; } else if (item.parameterCode.Equals("GroupCode")) { GroupCode = item.value; } else if (item.parameterCode.Equals("MailTitle")) { MailTitle = item.value; } } MailBody = info; #endregion MailHelper mail = new MailHelper(mailModel); mail.SendToGroup(GroupCode, MailTitle, MailBody + " ", IsSeparate, IsDisplyName); } catch (Exception ex) { throw new Exception("SendOrderInfoToBlackCatFTPMgr-->SendMail-->" + ex.Message); } }
public bool Start(string schedule_code) { bool result = false; try { if (string.IsNullOrEmpty(schedule_code)) { return result; } productItemMgr = new ProductItemMgr(mySqlConnectionString); _paraMgr = new ParameterMgr(mySqlConnectionString); ProductItemQuery query = new ProductItemQuery(); ArrivalNotice arriva = new ArrivalNotice(); MailModel mailModel = new MailModel(); mailModel.MysqlConnectionString = mySqlConnectionString; string GroupCode = string.Empty; string MailTitle = string.Empty; string MailBody = string.Empty; string NOSuggestCountMsg = "今天沒有要採購的商品";//沒有要採購的商品提示 string sumDays = "60";//採購總天數 string periodDays = "1";//採購週期天數 ScheduleServiceMgr _secheduleServiceMgr; //獲取該排程參數 List<ScheduleConfigQuery> store_config = new List<ScheduleConfigQuery>(); ScheduleConfigQuery query_config = new ScheduleConfigQuery(); query_config.schedule_code = schedule_code; _secheduleServiceMgr = new ScheduleServiceMgr(mySqlConnectionString); store_config = _secheduleServiceMgr.GetScheduleConfig(query_config); #region FTP參數賦值 foreach (ScheduleConfigQuery item in store_config) { if (item.parameterCode.Equals("MailFromAddress")) { mailModel.MailFromAddress = item.value; } else if (item.parameterCode.Equals("MailHost")) { mailModel.MailHost = item.value; } else if (item.parameterCode.Equals("MailPort")) { mailModel.MailPort = item.value; } else if (item.parameterCode.Equals("MailFromUser")) { mailModel.MailFromUser = item.value; } else if (item.parameterCode.Equals("EmailPassWord")) { mailModel.MailFormPwd = item.value; } else if (item.parameterCode.Equals("GroupCode")) { GroupCode = item.value; } else if (item.parameterCode.Equals("MailTitle")) { MailTitle = item.value; } else if (item.parameterCode.Equals("MailTitle")) { MailTitle = item.value; } else if (item.parameterCode.Equals("MailBody")) { MailBody = item.value; } else if (item.parameterCode.Equals("sumDays")) { sumDays = item.value; } else if (item.parameterCode.Equals("periodDays")) { periodDays = item.value; } else if (item.parameterCode.Equals("NOSuggestCountMsg")) { NOSuggestCountMsg = item.value; } } #endregion Parametersrc p = new Parametersrc(); List<Parametersrc> list = new List<Parametersrc>(); p.ParameterType = "Food_Articles"; list = _paraMgr.GetAllKindType(p.ParameterType); for (int i = 0; i < list.Count; i++)/*要禁用的食品錧和用品館的商品*/ { if (!string.IsNullOrEmpty(list[i].ParameterCode)) { query.category_ID_IN += list[i].ParameterCode + ","; } } query.sumDays = int.Parse(sumDays); query.periodDays = int.Parse(periodDays); query.category_ID_IN = query.category_ID_IN.TrimEnd(','); query.sale_status = 100; query.Is_pod = 0; query.stockScope = 2; query.prepaid = -1; query.IsPage = false; int totalCount = 0; DataTable dt = productItemMgr.GetSuggestPurchaseInfo(query, out totalCount); MailHelper mail = new MailHelper(mailModel); if (dt.Rows.Count > 0) { DataTable dtExcel = new DataTable(); dtExcel.Columns.Add("行號", typeof(String)); dtExcel.Columns.Add("供應商編號", typeof(String)); dtExcel.Columns.Add("供應商名稱", typeof(String));// dtExcel.Columns.Add("商品編號", typeof(String)); dtExcel.Columns.Add("商品細項編號", typeof(String)); dtExcel.Columns.Add("商品ERP編號", typeof(String)); dtExcel.Columns.Add("商品名稱", typeof(String)); //dtExcel.Columns.Add("商品狀態", typeof(String)); //dtExcel.Columns.Add("販售狀態", typeof(String)); dtExcel.Columns.Add("規格", typeof(String)); // dtExcel.Columns.Add("規格二", typeof(String)); dtExcel.Columns.Add("庫存量", typeof(String)); dtExcel.Columns.Add("後台庫存量", typeof(String)); dtExcel.Columns.Add("安全存量", typeof(String)); dtExcel.Columns.Add("建議採購量", typeof(String));//ipo_qty dtExcel.Columns.Add("未驗收數量", typeof(String)); dtExcel.Columns.Add("補貨通知人數", typeof(String)); dtExcel.Columns.Add("成本", typeof(String)); dtExcel.Columns.Add("價格", typeof(String)); dtExcel.Columns.Add("上架時間", typeof(String)); dtExcel.Columns.Add("下架時間", typeof(String)); for (int i = 0; i < dt.Rows.Count; i++) { #region DataRow newRow = dtExcel.NewRow(); newRow[0] = i + 1; newRow[1] = Convert.ToInt64(dt.Rows[i]["vendor_id"]); newRow[2] = dt.Rows[i]["vendor_name_full"]; newRow[3] = dt.Rows[i]["product_id"]; newRow[4] = dt.Rows[i]["item_id"]; newRow[5] = dt.Rows[i]["erp_id"]; newRow[6] = dt.Rows[i]["product_name"]; //newRow[7] = dt.Rows[i]["product_status_string"]; //newRow[8] = dt.Rows[i]["sale_name"]; newRow[7] = dt.Rows[i]["spec_title_1"]; newRow[8] = dt.Rows[i]["item_stock"]; newRow[9] = dt.Rows[i]["iinvd_stock"]; newRow[10] = dt.Rows[i]["item_alarm"]; if (string.IsNullOrEmpty(dt.Rows[i]["sum_total"].ToString())) { newRow[11] = 0; } #region else { double sum_total = 0; int safe_stock_amount = 0; int item_stock = 0; int item_alarm = 0; int procurement_days = 0; if (double.TryParse(dt.Rows[i]["sum_total"].ToString(), out sum_total)) { sum_total = Convert.ToDouble(dt.Rows[i]["sum_total"]); } if (int.TryParse(dt.Rows[i]["safe_stock_amount"].ToString(), out safe_stock_amount)) { safe_stock_amount = Convert.ToInt32(dt.Rows[i]["safe_stock_amount"]); } if (int.TryParse(dt.Rows[i]["item_stock"].ToString(), out item_stock)) { item_stock = Convert.ToInt32(dt.Rows[i]["item_stock"]); } if (int.TryParse(dt.Rows[i]["item_alarm"].ToString(), out item_alarm)) { item_alarm = Convert.ToInt32(dt.Rows[i]["item_alarm"]); } if (int.TryParse(dt.Rows[i]["procurement_days"].ToString(), out procurement_days)) { procurement_days = Convert.ToInt32(dt.Rows[i]["procurement_days"]); } if (item_stock - procurement_days * sum_total / query.sumDays * query.periodDays <= item_alarm) { //建議採購量:供應商的進貨天數*採購調整系數*近3個月的平均每周銷售數量(最小值為1) double suggestPurchaseTemp = (procurement_days + safe_stock_amount) * (sum_total / query.sumDays) * query.periodDays + ((item_alarm - item_stock) > 0 ? (item_alarm - item_stock) : 0); if (suggestPurchaseTemp <= int.Parse(dt.Rows[i]["min_purchase_amount"].ToString())) //最小值為1 { newRow[11] = dt.Rows[i]["min_purchase_amount"]; } else { int suggestPurchase = Convert.ToInt32(suggestPurchaseTemp); if (suggestPurchase < suggestPurchaseTemp) { newRow[11] = Convert.ToInt32(suggestPurchaseTemp) + 1; } else { newRow[11] = Convert.ToInt32(suggestPurchaseTemp); } } } } #endregion newRow[12] = dt.Rows[i]["ipo_qty"]; newRow[13] = dt.Rows[i]["NoticeGoods"]; newRow[14] = dt.Rows[i]["item_cost"]; newRow[15] = dt.Rows[i]["item_money"]; newRow[16] = string.IsNullOrEmpty(dt.Rows[i]["product_start"].ToString()) ? " " : DateTime.Parse(dt.Rows[i]["product_start"].ToString()).ToString("yyyy-MM-dd hh:mm:ss"); newRow[17] = string.IsNullOrEmpty(dt.Rows[i]["product_end"].ToString()) ? "" : DateTime.Parse(dt.Rows[i]["product_end"].ToString()).ToString("yyyy-MM-dd hh:mm:ss"); dtExcel.Rows.Add(newRow); #endregion } string EmailContent = GetMail(dtExcel); mail.SendToGroup(GroupCode, MailTitle, EmailContent, false, true);//發送郵件給群組 } else { mail.SendToGroup(GroupCode, MailTitle, NOSuggestCountMsg, false, true);//發送郵件給群組 } result = true; } catch (Exception ex) { throw new Exception("SendOrderInfoToBlackCatFTPMgr-->Start-->" + ex.Message); } return result; }
public bool Start(string schedule_code) { if (string.IsNullOrEmpty(schedule_code)) { return false; } MailModel mailModel = new MailModel(); mailModel.MysqlConnectionString = mySqlConnectionString; string GroupCode = string.Empty; string MailTitle = string.Empty; string MailBody = string.Empty; bool IsSeparate = false; bool IsDisplyName = true; string requestUrl = string.Empty; try { //獲取該排程參數 List<ScheduleConfigQuery> store_config = new List<ScheduleConfigQuery>(); ScheduleConfigQuery query_config = new ScheduleConfigQuery(); query_config.schedule_code = schedule_code; _secheduleServiceMgr = new ScheduleServiceMgr(mySqlConnectionString); store_config = _secheduleServiceMgr.GetScheduleConfig(query_config); #region mailhelp賦值 foreach (ScheduleConfigQuery item in store_config) { if (item.parameterCode.Equals("MailFromAddress")) { mailModel.MailFromAddress = item.value; } else if (item.parameterCode.Equals("MailHost")) { mailModel.MailHost = item.value; } else if (item.parameterCode.Equals("MailPort")) { mailModel.MailPort = item.value; } else if (item.parameterCode.Equals("MailFromUser")) { mailModel.MailFromUser = item.value; } else if (item.parameterCode.Equals("EmailPassWord")) { mailModel.MailFormPwd = item.value; } else if (item.parameterCode.Equals("GroupCode")) { GroupCode = item.value; } else if (item.parameterCode.Equals("MailTitle")) { MailTitle = item.value; } else if (item.parameterCode.Equals("MailTitle")) { MailTitle = item.value; } else if (item.parameterCode.Equals("requestUrl")) { requestUrl = item.value; } //else if (item.parameterCode.Equals("MailBody")) //{ // MailBody = item.value; //} //else if (item.parameterCode.Equals("IsSeparate")) //{ // if (item.value.ToString().Trim().ToLower() == "false") // { // IsSeparate = false; // } // else if (item.value.ToString().Trim().ToLower() == "true") // { // IsSeparate = true; // } //} //else if (item.parameterCode.Equals("IsDisplyName")) //{ // if (item.value.ToString().Trim().ToLower() == "false") // { // IsDisplyName = false; // } // else if (item.value.ToString().Trim().ToLower() == "true") // { // IsDisplyName = true; // } //} } #endregion int result = 0; int resultmes = 0; StringBuilder str = new StringBuilder(); StringBuilder sqlstrall = new StringBuilder(); InvoiceWinningNumberDao invoiceWinningNumberDao = new InvoiceWinningNumberDao(mySqlConnectionString); #region 獲取網頁里的數據,轉化成json字符串 string urlone = "https://www.einvoice.nat.gov.tw/PB2CAPIVAN/invapp/InvApp?version=0.2&action=QryWinningList&invTerm="; string urltwo = "&appID=EINV5201502271601"; string dateone = string.Empty; if (DateTime.Now.Month >= 10) { if (DateTime.Now.Month == 11) { dateone = (DateTime.Now.Year - 1911).ToString() + (DateTime.Now.Month - 1); } else { dateone = (DateTime.Now.Year - 1911).ToString() + DateTime.Now.Month; } } else if (DateTime.Now.Month == 1) { dateone = (DateTime.Now.AddMonths(-1).Year - 1911).ToString() + "12"; } else { if (DateTime.Now.Month % 2 == 1) { dateone = (DateTime.Now.Year - 1911).ToString() + "0" + (DateTime.Now.Month - 1); } else { dateone = (DateTime.Now.Year - 1911).ToString() + "0" + DateTime.Now.Month; } } string url = string.Empty; if (requestUrl.Trim() == string.Empty) { url = urlone + dateone + urltwo; } else { url = requestUrl; } string json = GetPage(url, "utf-8"); ResultClass rc = new ResultClass(); #endregion MailHelper mail = new MailHelper(mailModel); int year = 0; int month = 0; string[,] strarray = new string[,]{}; bool isHaveInfo = false; try//判斷如果出錯發郵件 { rc = JsonConvert.DeserializeObject<ResultClass>(json); year = Convert.ToInt32(rc.invoYm.Substring(0, 3)); month = Convert.ToInt32(rc.invoYm.Substring(3, 2)); strarray = new string[20,2] { { "superPrizeNo", rc.superPrizeNo }, { "spcPrizeNo", rc.spcPrizeNo }, { "spcPrizeNo2", rc.spcPrizeNo2 }, { "spcPrizeNo3", rc.spcPrizeNo3 }, { "firstPrizeNo1", rc.firstPrizeNo1 }, { "firstPrizeNo2", rc.firstPrizeNo2 }, { "firstPrizeNo3", rc.firstPrizeNo3 }, { "firstPrizeNo4", rc.firstPrizeNo4 }, { "firstPrizeNo5", rc.firstPrizeNo5 }, { "firstPrizeNo6", rc.firstPrizeNo6 }, { "firstPrizeNo7", rc.firstPrizeNo7 }, { "firstPrizeNo8", rc.firstPrizeNo8 }, { "firstPrizeNo9", rc.firstPrizeNo9 }, { "firstPrizeNo10", rc.firstPrizeNo10 }, { "sixthPrizeNo1", rc.sixthPrizeNo1 }, { "sixthPrizeNo2", rc.sixthPrizeNo2 }, { "sixthPrizeNo3", rc.sixthPrizeNo3 }, { "sixthPrizeNo4", rc.sixthPrizeNo4 }, { "sixthPrizeNo5", rc.sixthPrizeNo5 }, { "sixthPrizeNo6", rc.sixthPrizeNo6 } }; isHaveInfo = true; } catch (Exception ex) { MailBody = "<p/><a href=" + url + ">" + url + "</a>" + " 該鏈接中未讀到數據!"; mail.SendToGroup(GroupCode, MailTitle, MailBody + " ", IsSeparate, IsDisplyName); //throw new Exception(ex.Message); } if (isHaveInfo)//如果從鏈接中讀到數據 { for (int i = 0; i < strarray.GetLength(0); i++) { sqlstrall.AppendFormat(invoiceWinningNumberDao.ReturnInsertSql(year, month, strarray[i, 0].ToString(), strarray[i, 1].ToString())); } if (!string.IsNullOrEmpty(sqlstrall.ToString())) { result = invoiceWinningNumberDao.ResultOfExeInsertSql(sqlstrall.ToString()); } else { resultmes = 1;//設置其大於0 } if (result > 0) { MailBody = "<p/>執行成功"; mail.SendToGroup(GroupCode, MailTitle, MailBody + " ", IsSeparate, IsDisplyName); } else { if (resultmes > 0) { MailBody = "<p/>數據都已經存在"; mail.SendToGroup(GroupCode, MailTitle, MailBody + " ", IsSeparate, IsDisplyName); } } } } catch (Exception ex) { MailHelper mail = new MailHelper(mailModel); MailBody = "<p/>執行失敗"; mail.SendToGroup(GroupCode, MailTitle, MailBody + " ", IsSeparate, IsDisplyName); throw new Exception("WinningInvoiceSynchronismMgr-->Start-->" + ex.Message); } return true; }
public bool Start(string schedule_code) { if (string.IsNullOrEmpty(schedule_code)) { return false; } try { MailModel mailModel = new MailModel(); mailModel.MysqlConnectionString = mySqlConnectionString; string GroupCode = string.Empty; string MailTitle = string.Empty; string MailBody = string.Empty; bool IsSeparate = true; bool IsDisplyName = true; //獲取該排程參數 List<ScheduleConfigQuery> store_config = new List<ScheduleConfigQuery>(); ScheduleConfigQuery query_config = new ScheduleConfigQuery(); query_config.schedule_code = schedule_code; _secheduleServiceMgr = new ScheduleServiceMgr(mySqlConnectionString); store_config = _secheduleServiceMgr.GetScheduleConfig(query_config); #region mailhelp賦值 foreach (ScheduleConfigQuery item in store_config) { if (item.parameterCode.Equals("MailFromAddress")) { mailModel.MailFromAddress = item.value; } else if (item.parameterCode.Equals("MailHost")) { mailModel.MailHost = item.value; } else if (item.parameterCode.Equals("MailPort")) { mailModel.MailPort = item.value; } else if (item.parameterCode.Equals("MailFromUser")) { mailModel.MailFromUser = item.value; } else if (item.parameterCode.Equals("EmailPassWord")) { mailModel.MailFormPwd = item.value; } else if (item.parameterCode.Equals("GroupCode")) { GroupCode = item.value; } else if (item.parameterCode.Equals("MailTitle")) { MailTitle = item.value; } //else if (item.parameterCode.Equals("MailBody")) //{ // MailBody = item.value; //} //else if (item.parameterCode.Equals("IsSeparate")) //{ // if (item.value.ToString().Trim().ToLower() == "false") // { // IsSeparate = false; // } // else if (item.value.ToString().Trim().ToLower() == "true") // { // IsSeparate = true; // } //} //else if (item.parameterCode.Equals("IsDisplyName")) //{ // if (item.value.ToString().Trim().ToLower() == "false") // { // IsDisplyName = false; // } // else if (item.value.ToString().Trim().ToLower() == "true") // { // IsDisplyName = true; // } //} } #endregion ///獲取用戶登陸信息 long login_start = 0; long login_end = 0; int errorCount = 0; login_start = CommonFunction.GetPHPTime(DateTime.Now.ToString("yyyy/MM/dd HH:00:00")); login_end = CommonFunction.GetPHPTime(DateTime.Now.ToString("yyyy/MM/dd HH:59:59")); errorCount = 2;//登錄錯誤次數 string start_time = CommonFunction.GetNetTime(login_start).ToString("yyyy/MM/dd HH:mm:ss"); string end_time = CommonFunction.GetNetTime(login_end).ToString("yyyy/MM/dd HH:mm:ss"); StringBuilder sql = new StringBuilder(); sql.AppendFormat(@" select login_ipfrom,login_mail,t.parameterName as login_error_from,count(login_type) as total from user_login_attempts ula left join (select parameterName,parameterCode from t_parametersrc where parameterType ='user_login_type') t on ula.login_type=t.parameterCode where login_createdate>='{0}' and login_createdate<='{1}' and ula.login_ipfrom in (select login_ipfrom from user_login_attempts where login_createdate>='{0}' and login_createdate<='{1}' GROUP BY login_ipfrom HAVING count(login_ipfrom)>='{2}') GROUP BY login_ipfrom,login_type,login_mail ;", login_start, login_end, errorCount); DataTable _dt = _accessMySql.getDataTable(sql.ToString()); DataTable _newDt = new DataTable(); DataRow dr; _newDt.Columns.Add("異常IP", typeof(string)); _newDt.Columns.Add("登入帳號", typeof(string)); _newDt.Columns.Add("失敗次數", typeof(string)); _newDt.Columns.Add("錯誤登入來源", typeof(string)); _newDt.Columns.Add("登入日期區間", typeof(string)); if (_dt.Rows.Count > 0) { for (int i = 0; i < _dt.Rows.Count; i++) { dr = _newDt.NewRow(); dr["異常IP"] = _dt.Rows[i]["login_ipfrom"]; dr["登入帳號"] = _dt.Rows[i]["login_mail"]; dr["失敗次數"] = _dt.Rows[i]["total"]; dr["錯誤登入來源"] = _dt.Rows[i]["login_error_from"]; dr["登入日期區間"] = start_time + " ~ " + end_time; _newDt.Rows.Add(dr); } } if (_newDt.Rows.Count > 0) { MailBody = GetHtmlByDataTable(_newDt); //MailBody = "<br/><font size=\"4\"> 在 " + "<font color=\"#FF0000\" >" + start_time + " ~ " + end_time + "</font>" + " 的一個小時里,用戶登錄異常記錄如下:</font><br/><p/>" + GetHtmlByDataTable(_newDt); MailHelper mail = new MailHelper(mailModel); // mail.SendToGroup(GroupCode, MailTitle, MailBody + " ", IsSeparate, IsDisplyName); mail.SendToGroup(GroupCode, MailTitle, MailBody + " ", false, true); } else { //MailBody = "<br/><p><font size=\"4\"> 在 <font color=\"#FF0000\" >" + start_time + " ~ " + end_time + "</font> 的一個小時里,沒有用戶登錄異常的記錄!</font><p/>"; } } catch (Exception ex) { throw new Exception("CheckUnsafeLoginMgr-->Start-->" + ex.Message); } return true; }
public string UpdStatus(DesignRequestQuery drt) { string json = string.Empty; try { if (drt.dr_status == 2 ) {//狀態為新建立,類型為內頁文, if (drt.product_id != 0&& drt.dr_type == 4) {//審核文字通過新增到product表,變更狀態 if (_DesignRequestDao.UpdateProductDetailText(drt) ==0) { return json = "{success:true,msg:3}";//更新內頁文失敗 } } if (GetExpected(drt) > 0) {//已審核的文件算出期望完成時間 int day = Getday(drt); drt.day = day; } if (_DesignRequestDao.UpdStatus(drt) > 0) { return json = "{success:true,msg:0}";//審核成功 } else { return json = "{success:false}"; } } else if (drt.dr_assign_to > 0) {//指派工作 變更指派人員 //認領工作只能設計部人員認領 //指派工作只能主管指派 if (_DesignRequestDao.IsManager(drt) ||(drt.Istake==1 && IsManagerNumber(drt))) { drt.dr_status = 3; MailHelper mail = new MailHelper(); string sbHtml = "你好,派工系統申請的文案通過審核分配給您,請前去查看工作內容 "; if (mail.SendToUser(GetmailId(drt.dr_assign_to), "派工系統", sbHtml.ToString()))//發送email給指派的人員 { if (_DesignRequestDao.UpdStatus(drt) > 0) { return json = "{success:true,msg:0}";//msg=2表示有敏感詞 } else { return json = "{success:false}";//msg=2表示有敏感詞 } } else { return json = "{success:true,msg:4}";//email發送失敗 } } else { return json = "{success:true,msg:2}";//msg=2不是設計部人員不能指派 } } else {//如果是設計人員就可以變更已指派後面的所有狀態 if (IsDesSelf(drt)) { if (_DesignRequestDao.UpdStatus(drt) > 0) { return json = "{success:true,msg:0}";//msg=2表示有敏感詞 } else { return json = "{success:false}";//msg=2表示有敏感詞 } } else { return json = "{success:true,msg:2}";//msg=2不是設計部人員不能指派 } } } catch (Exception ex) { throw new Exception("DesignRequestMgr.UpdStatus-->" + ex.Message, ex); } }
public HttpResponseBase Reply() { string json = string.Empty; string response_content = string.Empty; OrderCancelResponse ocr = new OrderCancelResponse(); _ptersrc = new ParameterMgr(mySqlConnectionString); int i = 0; string cancel_id = string.Empty; ; if (!string.IsNullOrEmpty(Request.Params["cancel_id"])) { cancel_id = Request.Params["cancel_id"]; ocr.cancel_id = uint.Parse(cancel_id); } string question_email = string.Empty; if (!string.IsNullOrEmpty(Request.Params["question_email"])) { question_email = Request.Params["question_email"]; } //獲取登錄用戶的user_email string user_email = (Session["caller"] as Caller).user_email; //獲取登錄用戶的user_id string user_id = (Session["caller"] as Caller).user_id.ToString(); string res; try { res = Request.Params["response"].ToString().Trim(); res = res.Replace("\n", ""); if (res.Length > 0) { response_content = Request.Params["response"] + " "; ocr.user_id = uint.Parse(user_id); ocr.response_content = response_content; System.Net.IPAddress[] addlist = Dns.GetHostEntry(Dns.GetHostName()).AddressList; if (addlist.Length > 0) { ocr.response_ipfrom = addlist[0].ToString(); } _orderCancelMsgMgr = new OrderCancelMsgMgr(mySqlConnectionString); i = _orderCancelMsgMgr.Reply(ocr); bool issend = false; if (i == 2) { MailHelper mail = new MailHelper(); string mail1 = _ptersrc.Getmail("TestMail"); if (mail1 == "*****@*****.**") {//測試使用上正式機后可變更為gigademail則是讀取會員mail mail1 = question_email; } issend = mail.SendMailAction(mail1, "取消訂單通知信", response_content); } json = "{success:true,msg:\"" + " 發送郵件成功!" + "\"}"; } else { json = "{success:false,msg:\"" + "请填写回覆内容!" + "\"}"; } } catch (Exception ex) { Log4NetCustom.LogMessage logMessage = new Log4NetCustom.LogMessage(); logMessage.Content = string.Format("TargetSite:{0},Source:{1},Message:{2}", ex.TargetSite.Name, ex.Source, ex.Message); logMessage.MethodName = System.Reflection.MethodBase.GetCurrentMethod().Name; log.Error(logMessage); json = ex.InnerException.Message; json = ex.InnerException.Source; json = "{success:false,msg:\"" + " 發送郵件失敗!" + "\"}"; } this.Response.Clear(); this.Response.Write(json); this.Response.End(); return this.Response; }
public bool Start(string schedule_code) { if (string.IsNullOrEmpty(schedule_code)) { return false; } try { MailModel mailModel = new MailModel(); mailModel.MysqlConnectionString = mySqlConnectionString; string GroupCode = string.Empty; string MailTitle = string.Empty; string MailBody = string.Empty; string requestUrl = string.Empty; //bool IsSeparate = true; //bool IsDisplyName = true; //獲取該排程參數 List<ScheduleConfigQuery> store_config = new List<ScheduleConfigQuery>(); ScheduleConfigQuery query_config = new ScheduleConfigQuery(); query_config.schedule_code = schedule_code; _secheduleServiceMgr = new ScheduleServiceMgr(mySqlConnectionString); store_config = _secheduleServiceMgr.GetScheduleConfig(query_config); #region mailhelp賦值 foreach (ScheduleConfigQuery item in store_config) { if (item.parameterCode.Equals("MailFromAddress")) { mailModel.MailFromAddress = item.value; } else if (item.parameterCode.Equals("MailHost")) { mailModel.MailHost = item.value; } else if (item.parameterCode.Equals("MailPort")) { mailModel.MailPort = item.value; } else if (item.parameterCode.Equals("MailFromUser")) { mailModel.MailFromUser = item.value; } else if (item.parameterCode.Equals("EmailPassWord")) { mailModel.MailFormPwd = item.value; } else if (item.parameterCode.Equals("GroupCode")) { GroupCode = item.value; } else if (item.parameterCode.Equals("MailTitle")) { MailTitle = item.value; } else if (item.parameterCode.Equals("requestUrl")) { requestUrl = item.value; } } #endregion StreamReader sr; HttpWebRequest httpRequest = (HttpWebRequest)WebRequest.Create(requestUrl); httpRequest.Timeout = 10000; httpRequest.Method = "GET"; HttpWebResponse httpResponse; try { httpResponse = (HttpWebResponse)httpRequest.GetResponse(); } catch (Exception ex) { MailBody = "URL請求失敗,失敗原因:" + ex.Message; MailHelper mail = new MailHelper(mailModel); mail.SendToGroup(GroupCode, MailTitle, MailBody + " ", false, true); throw new Exception(ex.Message); } if (httpResponse.StatusCode == HttpStatusCode.OK) { sr = new StreamReader(httpResponse.GetResponseStream(), System.Text.Encoding.UTF8); string result = sr.ReadToEnd(); result = result.Trim(); if (result == "success") { MailBody = "更新成功"; MailHelper mail = new MailHelper(mailModel); mail.SendToGroup(GroupCode, MailTitle, MailBody + " ", false, true); } else if (result == "error") { MailBody = "更新失敗"; MailHelper mail = new MailHelper(mailModel); mail.SendToGroup(GroupCode, MailTitle, MailBody + " ", false, true); } else { MailBody = "請求遠端返回的值不為 success 或者 error "; MailHelper mail = new MailHelper(mailModel); mail.SendToGroup(GroupCode, MailTitle, MailBody + " ", false, true); } } else { MailBody = "URL請求失敗,失敗原因:遠端響應狀態為 " + httpResponse.StatusCode; MailHelper mail = new MailHelper(mailModel); mail.SendToGroup(GroupCode, MailTitle, MailBody + " ", false, true); } } catch (Exception ex) { throw new Exception("CheckUrlResultMgr-->Start-->" + ex.Message); } return true; }
public string ChangeDeliverData(OrderShowMasterQuery oms, OrderShowMasterQuery newOms, OrderMasterQuery om) { string json = string.Empty; ArrayList arrList = new ArrayList(); Serial serial = new Serial(); oms.status_description = "Writer:" + "(" + om.user_id + ")" + om.user_name + "," + "\r\n" + "異動收貨資訊"; oms.status_ipfrom = om.Order_Ipfrom; oms.StatusCreateDate = DateTime.Now; oms.order_id = om.Order_Id; om.mdd = true; newOms = _orderMasterDao.GetData(om.Order_Id); string note_order = newOms.note_order; if (note_order == "") { om.note_order = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "更改收件人資訊"; } else { om.note_order = note_order + '/' + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "更改收件人資訊"; } oms.order_status = newOms.order_status; arrList.Add(_orderMasterDao.UpOrderMaster(om));//更新order_master arrList.Add(_orderMasterDao.UpdateDM(om));//更新deliver_master serial = _serialDao.GetSerialById(29); oms.serial_id = Convert.ToInt32(serial.Serial_Value) + 1; serial.Serial_Value = Convert.ToUInt64(oms.serial_id); arrList.Add(_serialDao.UpdateAutoIncreament(serial));//更新serial表 arrList.Add(_orderMasterDao.InsertOrderMasterStatus(oms));//插入order_master_status表 if (_mysqlDao.ExcuteSqlsThrowException(arrList)) { json = "{success:true}"; #region 發送郵件 MailHelper mail = new MailHelper(); string body = "付款單號 : " + om.Order_Id + " 已更改收貨人資訊,請重新檢視出貨單<br/>更改時間:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "<br/><br/>以上為系統通知信請勿直接回覆,謝謝! "; mail.SendMailAction("*****@*****.**", "收貨人資訊變更", body); #endregion } else { json = "{success:false}"; } return json; }
//清除過期信件 public bool SendEMail(MailHelper mail) { try { _edmContentNewDao.ValidUntilDate(); _edmContentNewDao.MaxRetry(); return _edmContentNewDao.SendEMail(mail); } catch (Exception ex) { throw new Exception("ScheduleServiceDao-->SendEMail-->" + ex.Message); } }
public bool Start(string schedule_code) { string b = @"{'code':0,'data':{'country':'\u4e2d\u56fd','country_id':'CN','area':'\u534e\u4e2d','area_id':'400000','region':'\u6cb3\u5357\u7701','region_id':'410000','city':'\u90d1\u5dde\u5e02','city_id':'410100','county':'','county_id':'-1','isp':'\u8054\u901a','isp_id':'100026','ip':'115.60.75.15'}}"; string source = "\u534e\u4e2d\u4e2d\u56fd"; //string ip = "60.249.127.62"; string cd = source; //GetMessageByIP(ip); DataTable userOtherLogin = GetUserLoginDataTable(); string mailBody = GetHtmlByDataTable(userOtherLogin); CodeData codeData = JsonConvert.DeserializeObject<CodeData>(b); IPMessage ipMessage = JsonConvert.DeserializeObject<IPMessage>(codeData.data.ToString()); MailModel mailModel = new MailModel(); mailModel.MysqlConnectionString = mySqlConnectionString; string GroupCode = string.Empty; string MailTitle = string.Empty; //獲取該排程參數 List<ScheduleConfigQuery> store_config = new List<ScheduleConfigQuery>(); ScheduleConfigQuery query_config = new ScheduleConfigQuery(); query_config.schedule_code = schedule_code; ScheduleServiceMgr _secheduleServiceMgr = new ScheduleServiceMgr(mySqlConnectionString); store_config = _secheduleServiceMgr.GetScheduleConfig(query_config); foreach (ScheduleConfigQuery item in store_config) { if (item.parameterCode.Equals("MailFromAddress")) { mailModel.MailFromAddress = item.value; } else if (item.parameterCode.Equals("MailHost")) { mailModel.MailHost = item.value; } else if (item.parameterCode.Equals("MailPort")) { mailModel.MailPort = item.value; } else if (item.parameterCode.Equals("MailFromUser")) { mailModel.MailFromUser = item.value; } else if (item.parameterCode.Equals("EmailPassWord")) { mailModel.MailFormPwd = item.value; } else if (item.parameterCode.Equals("GroupCode")) { GroupCode = item.value; } else if (item.parameterCode.Equals("MailTitle")) { MailTitle = item.value; } } MailHelper mail = new MailHelper(mailModel); if (userOtherLogin.Rows.Count>0) { return mail.SendToGroup(GroupCode, MailTitle,mailBody, false, true); } return true; }
public bool Start(string schedule_code,DateTime startTime) { DeliverStatusDao dsDao = new DeliverStatusDao(mySqlConnectionString); // DateTime startTime = DateTime.Now; string HourNum = string.Empty; MailModel mailModel = new MailModel(); mailModel.MysqlConnectionString = mySqlConnectionString; string GroupCode = string.Empty; string MailTitle = string.Empty; string MailBody = string.Empty; //bool IsSeparate = false; //bool IsDisplyName = true; //獲取該排程參數 List<ScheduleConfigQuery> store_config = new List<ScheduleConfigQuery>(); ScheduleConfigQuery query_config = new ScheduleConfigQuery(); query_config.schedule_code = schedule_code; ScheduleServiceMgr _secheduleServiceMgr = new ScheduleServiceMgr(mySqlConnectionString); store_config = _secheduleServiceMgr.GetScheduleConfig(query_config); foreach (ScheduleConfigQuery item in store_config) { if (item.parameterCode.Equals("HourNum")) { HourNum = item.value; } else if (item.parameterCode.Equals("MailFromAddress")) { mailModel.MailFromAddress = item.value; } else if (item.parameterCode.Equals("MailHost")) { mailModel.MailHost = item.value; } else if (item.parameterCode.Equals("MailPort")) { mailModel.MailPort = item.value; } else if (item.parameterCode.Equals("MailFromUser")) { mailModel.MailFromUser = item.value; } else if (item.parameterCode.Equals("MailFormPwd")) { mailModel.MailFormPwd = item.value; } else if (item.parameterCode.Equals("GroupCode")) { GroupCode = item.value; } else if (item.parameterCode.Equals("MailTitle")) { MailTitle = item.value; } else if (item.parameterCode.Equals("MailTitle")) { MailTitle = item.value; } else if (item.parameterCode.Equals("MailBody")) { MailBody = item.value; } } IDeliverMasterImplMgr DeliverMaster = new DeliverMasterMgr(mySqlConnectionString); DataTable table = DeliverMaster.GetDeliverMaster(HourNum); int delNumber = table.Rows.Count; int updateNumber = 0; if (delNumber > 0) { DeliveryInfo Model; LogisticsTcatSodDao LTSDao=new LogisticsTcatSodDao(mySqlConnectionString); for (int i = 0; i < table.Rows.Count; i++) { table.Rows[i]["gettime"] = ""; Model =LTSDao.GetLogisticsTcatSod(table.Rows[i]["delivery_code"].ToString()); if (Model.Status == "順利送達") { table.Rows[i]["gettime"] = Model.CreateTime; updateNumber++; DeliverStatus dsmodel = new DeliverStatus(); dsmodel.freight_type = 11;//物流配送模式 dsmodel.Logistics_providers = 1;//物流商 dsmodel.deliver_id = Int64.Parse(table.Rows[i]["deliver_id"].ToString()); dsmodel.state = 99; dsmodel.settime = Model.CreateTime; dsmodel.endtime = Model.CreateTime; dsDao.InsertDeliverStatus(dsmodel); } } } DateTime endTime = DateTime.Now; TimeSpan ts = endTime - startTime; double Second = ts.TotalSeconds; int num1 = 0;//期望到貨日<運達時間的物流單個數 int num2 = 0;//期望到貨日>今天的物流單個數 MailHelper mail = new MailHelper(mailModel); StringBuilder sbmailBody = new StringBuilder(); string tablestr = GetHtmlByDataTable(GetSendTable(table), out num1, out num2); sbmailBody.Append("物流狀態抓取排程執行成功<br/>"); sbmailBody.Append("更新<span style=\"font-size:large;\">" + delNumber + "</span>個出貨單<br/>"); sbmailBody.Append("更新<span style=\"font-size:large;\">" + updateNumber + "</span>個物流單<br/>"); sbmailBody.Append("期望到貨日小於運達時間的物流單個數:<span style=\"font-size:large;\">" + num1 + "</span><br/>"); sbmailBody.Append("期望到貨日小於今天的物流單個數:<span style=\"font-size:large;\">" + num2 + "</span><br/>"); sbmailBody.Append("共耗時<span style=\"font-size:large;\">" + Second + "</span>秒<br/>"); sbmailBody.Append("更新出貨單詳情如下:<br/><br/>"); sbmailBody.Append(tablestr); return mail.SendToGroup(GroupCode, MailTitle,sbmailBody.ToString(), false, true); }
public HttpResponseBase SendMailByGroup() { string path = Server.MapPath(xmlPath); SiteConfigMgr _siteConfigMgr = new SiteConfigMgr(path); SiteConfig Food_Product_Consult = _siteConfigMgr.GetConfigByName("Food_Product_Consult"); SiteConfig Use_Product_Consult = _siteConfigMgr.GetConfigByName("Use_Product_Consult"); SiteConfig Other_Product_Consult = _siteConfigMgr.GetConfigByName("Other_Product_Consult"); string jsonStr = String.Empty; ProductConsultQuery query = new ProductConsultQuery(); _productconsultMgr = new ProductConsultMgr(mySqlConnectionString); try { if (!string.IsNullOrEmpty(Request["zixunType"])) { query.consult_type = Convert.ToInt32(Request["zixunType"]); } switch (query.consult_type) { case 1: query.consultType = "商品諮詢"; break; case 2: query.consultType = "庫存及配送"; break; case 3: query.consultType = "支付問題"; break; case 4: query.consultType = "發票及保修"; break; case 5: query.consultType = "促銷及贈品"; break; } if (!string.IsNullOrEmpty(Request.Params["ckShopClass"])) { query.ckShopClass = Request.Params["ckShopClass"].ToString(); } if (!string.IsNullOrEmpty(Request["consult_id"])) { query.consult_id = Convert.ToInt32(Request["consult_id"]); } if (!string.IsNullOrEmpty(Request["consult_info"])) { query.consult_info = Request["consult_info"].ToString(); } if (!string.IsNullOrEmpty(Request["user_name"])) { query.user_name = Request["user_name"].ToString(); } if (!string.IsNullOrEmpty(Request["create_date"])) { query.create_date = Convert.ToDateTime(Request["create_date"]); } FileStream fs = new FileStream(Server.MapPath("../ImportUserIOExcel/productConsultKeFu.html"), FileMode.OpenOrCreate, FileAccess.Read); StreamReader sr = new StreamReader(fs, Encoding.UTF8); string strTemp = sr.ReadToEnd(); sr.Close(); fs.Close(); strTemp = strTemp.Replace("{{$s_username$}}", query.user_name); strTemp = strTemp.Replace("{{$s_datetime$}}", query.create_date.ToString()); strTemp = strTemp.Replace("{{$consultInfo$}}", query.consult_info); strTemp = strTemp.Replace("{{$consultType$}}", query.consultType); if (query.ckShopClass == "ckShopClass1" && query.consult_type == 1)//食品館商品諮詢 { query.group_code = Food_Product_Consult.Value.ToString(); } if (query.ckShopClass == "ckShopClass2" && query.consult_type == 1)//用品館商品諮詢 { query.group_code = Use_Product_Consult.Value.ToString(); } if (query.consult_type != 1)//其他諮詢類型問題 { query.group_code = Other_Product_Consult.Value.ToString(); } int i = _productconsultMgr.UpdateConsultType(query); if (i > 0) { DataTable dt = _productconsultMgr.QueryMailGroup(query); MailHelper mHelper = new MailHelper(); if (dt.Rows.Count > 0) { for (int j = 0; j < dt.Rows.Count; j++) { if (!string.IsNullOrEmpty(dt.Rows[j]["row_id"].ToString())) { mHelper.SendToGroup(Convert.ToInt32(dt.Rows[j]["row_id"]), "吉甲地市集【商品諮詢】通知信", strTemp.ToString(), true, true); } } } } jsonStr = "{success:true }"; } catch (Exception ex) { Log4NetCustom.LogMessage logMessage = new Log4NetCustom.LogMessage(); logMessage.Content = string.Format("TargetSite:{0},Source:{1},Message:{2}", ex.TargetSite.Name, ex.Source, ex.Message); logMessage.MethodName = System.Reflection.MethodBase.GetCurrentMethod().Name; log.Error(logMessage); jsonStr = "{success:false}"; } this.Response.Clear(); this.Response.Write(jsonStr.ToString()); this.Response.End(); return this.Response; }
public Boolean SendMail(MailModel mailModel, string GroupCode, string MailTitle, string MailBody, Boolean IsSeparate = false, Boolean IsDisplyName = false) { Boolean result = false; try { mailModel = GetDeafultMailConfig(mailModel); MailHelper mail = new MailHelper(mailModel); MailBody = MailBody + " "; mail.SendToGroup(GroupCode, MailTitle, MailBody, IsSeparate, IsDisplyName); //根據群組代碼獲取收件人信息 } catch (Exception ex) { throw new Exception(" ScheduleServiceMgr-->SendMail-->" + ex.Message, ex); } return result; }
public bool ModifyOrderMsaterForDeliver(OrderModifyModel order) { try { OrderMaster omModel = _orderMasterDao.GetOrderMasterByOrderId4Change(order.order_id); StringBuilder sbSql = new StringBuilder(); sbSql.Append(@" om.order_status = 2, os.slave_status=2, od.detail_status=2, om.order_date_cancel=0, om.money_cancel=0, om.export_flag=1,"); sbSql.AppendFormat("om.order_date_pay ={0}", Common.CommonFunction.GetPHPTime()); if (!isCanModifyForDeliver(order.order_id)) { return false; } //1、是否寫入對帳 if (order.isBilling_checked) { sbSql.Append(",om.billing_checked=1,"); sbSql.AppendFormat("om.money_collect_date={0}", Common.CommonFunction.GetPHPTime()); } //2、紅利折抵 if (order.deduct_card_bonus != 0) { if (omModel.Order_Amount < order.deduct_card_bonus) { return false; } sbSql.AppendFormat(",om.deduct_card_bonus={0},", order.deduct_card_bonus); sbSql.AppendFormat("om.order_amount={0}", omModel.Order_Amount - order.deduct_card_bonus); } //3、要不要扣除消費者抵用購物金 if (order.isCash_record_bonus) { order.user_id = Convert.ToInt32(omModel.user_id); //order.bonus_num = order.bonus_num = Convert.ToInt32(omModel.Deduct_Bonus); order.record_note = "強制轉單扣點"; order.record_writer = "server"; AddBonusRecord(order);//扣除 } #region //4、要不要給hg點或購物金 if (order.isHGBonus) { #region 購物金 if (omModel.Accumulated_Bonus > 0) { //訂單取消後,回撥購物金的使用日期限制 int nExpire_Day = 90; DateTime nMaster_Start = DateTime.Now.Date; DateTime nMaster_End = DateTime.Now.AddDays(omModel.BonusExpireDay).Date.AddSeconds(-1); // DateTime nMaster_End = DateTime.Now.AddDays(1).Date.AddSeconds(-1); //OrderModifyModel orderModifyModel = new OrderModifyModel(); ////$amego_bonus->bonus_master_add($aOrder['user_id'], 30, $aOrder['accumulated_bonus'], $nMaster_Start, $nMaster_End, $aOrder['order_id'], '商品回饋購物金' , 1); //orderModifyModel.user_id =Convert.ToInt32( omModel.User_Id); //orderModifyModel.order_id = Convert.ToInt32(omModel.Order_Id); //orderModifyModel.bonus_num = Convert.ToInt32(omModel.Deduct_Bonus); //orderModifyModel.use_note ="強制轉單扣點"; //orderModifyModel.use_writer = (System.Web.HttpContext.Current.Session["caller"] as Caller).user_id; // 會員目前可用購物金 BonusMasterQuery query = new BonusMasterQuery(); query.user_id = omModel.User_Id; query.type_id = 30; query.master_total = Convert.ToUInt32(omModel.Accumulated_Bonus); query.master_balance = omModel.Accumulated_Bonus; query.smaster_start = nMaster_Start; query.smaster_end = nMaster_End; query.smaster_createtime = DateTime.Now; query.smaster_updatedate = DateTime.Now; query.master_writer = string.Format("Writer:{0}", (System.Web.HttpContext.Current.Session["caller"] as Caller).user_username); query.bonus_type = 1; query.master_note = "商品回饋購物金"; //Serial ser = _serialDao.GetSerialById(27); //ser.Serial_Value = ser.Serial_Value+1; //_serialDao.Update(ser); //query.master_id = Convert.ToUInt32(ser.Serial_Value); query.master_ipfrom = order.ip_from; List<BonusMasterQuery> queryList = new List<BonusMasterQuery>(); queryList.Add(query); _bonusMasterMgr.BonusMasterAdd(queryList); //bonusMasterDao.InsertBonusMaster(query); } #endregion #region hg點 if (omModel.Accumulated_Happygo > 0) { if (_happyGoMgr.GetHGDeductList(omModel.Order_Id).Count > 0) { //有則進行點數累積,無則發信通知 } else { MailHelper mailHelper = new MailHelper(); string MailTitle = "HG累點失敗"; string MailBody = string.Format("{0}無HG資料,無法累點。", omModel.Order_Id); mailHelper.SendToGroup("BonusFailure", MailTitle, MailBody); } } #endregion } #endregion //更新條件 StringBuilder sql = new StringBuilder(); sql.Append(@"update order_master om,order_slave os,order_detail od set "); sql.Append(sbSql); sql.AppendFormat(@" where om.order_id={0} AND om.order_id = os.order_id AND os.slave_id = od.slave_id ", order.order_id); try { _orderMasterDao.UpdateOrderMaster(sql.ToString()); return true; } catch (Exception ex) { throw new Exception("OrderMasterMgr-->ModifyOrderMsaterForDeliver-->" + ex.Message, ex); } } catch (Exception ex) { throw new Exception("OrderMasterMgr-->ModifyOrderMsaterForDeliver-->" + ex.Message, ex); } }
public bool send_cancel_mail_for_vendor(Dictionary<uint, string> SendMail) { MailHelper mail = new MailHelper(); bool result = false; try { DataTable _dtVendor = new DataTable(); StringBuilder sb = new StringBuilder(); sb.Append(" select parameterCode from t_parametersrc where parameterType ='develop';"); DataTable _dtDEV = _accessMySql.getDataTable(sb.ToString()); sb.Clear(); DataTable _dtTest = new DataTable(); sb.Append(" select remark from t_parametersrc where parameterType ='TestMail';"); _dtTest = _accessMySql.getDataTable(sb.ToString()); sb.Clear(); string TestMail = ""; if (_dtTest.Rows.Count > 0) { TestMail = _dtTest.Rows[0]["remark"].ToString(); } string DEV = "false"; if (_dtDEV.Rows.Count > 0) { DEV = _dtDEV.Rows[0]["parameterCode"].ToString(); } foreach (uint item in SendMail.Keys) { sb.AppendFormat(" select os.order_id,v.vendor_email,v.vendor_name_full from order_slave os left join vendor v on v.vendor_id=os.vendor_id where slave_id='{0}';", item); _dtVendor = _accessMySql.getDataTable(sb.ToString()); sb.Clear(); if (_dtVendor.Rows.Count > 0) { string MailTitle = "取消出貨通知"; string MailBody = _dtVendor.Rows[0]["vendor_name_full"].ToString() + "公司您好,<br/>吉甲地市集平台訂單, 付款單號 :" + _dtVendor.Rows[0]["order_id"].ToString(); MailBody += "客戶因故取消部分商品, 請協助再次確認出貨品項無誤,以免衍生後續不便,<br/>感謝您。吉甲地在地好物市集敬上 "; if (DEV == "true") { result = mail.SendMailAction(TestMail, MailTitle, MailBody); } else { result = mail.SendMailAction(_dtVendor.Rows[0]["vendor_email"].ToString(), MailTitle, MailBody); } } } return result; } catch (Exception ex) { throw new Exception("OrderCancelMasterDao-->send_cancel_mail_for_vendor" + ex.Message, ex); } }
public bool Start(string schedule_code) { BLL.gigade.Common.MailModel mailModel = new Common.MailModel (); mailModel.MysqlConnectionString = mySqlConnectionString; string GroupCode = string.Empty; string MailTitle = string.Empty; string MailBody = string.Empty; string hourNum = string.Empty; //bool IsSeparate = false; //bool IsDisplyName = true; string isSendMailToGroup = string.Empty; try { //獲取該排程參數 List<ScheduleConfigQuery> store_config = new List<ScheduleConfigQuery>(); ScheduleConfigQuery query_config = new ScheduleConfigQuery(); query_config.schedule_code = schedule_code; ScheduleServiceMgr _secheduleServiceMgr = new ScheduleServiceMgr(mySqlConnectionString); store_config = _secheduleServiceMgr.GetScheduleConfig(query_config); #region mailhelp賦值 foreach (ScheduleConfigQuery item in store_config) { if (item.parameterCode.Equals("MailFromAddress")) { mailModel.MailFromAddress = item.value; } else if (item.parameterCode.Equals("MailHost")) { mailModel.MailHost = item.value; } else if (item.parameterCode.Equals("MailPort")) { mailModel.MailPort = item.value; } else if (item.parameterCode.Equals("MailFromUser")) { mailModel.MailFromUser = item.value; } else if (item.parameterCode.Equals("EmailPassWord")) { mailModel.MailFormPwd = item.value; } else if (item.parameterCode.Equals("GroupCode")) { GroupCode = item.value; } else if (item.parameterCode.Equals("MailTitle")) { MailTitle = item.value; } else if (item.parameterCode.Equals("HourNum")) { if (item.value.Trim() == "0") { hourNum = "1"; } else { hourNum = item.value; } } else if (item.parameterCode.Equals("isSendMailToGroup")) { isSendMailToGroup = item.value; } } if (hourNum.Trim() == string.Empty) { hourNum = "1"; } #endregion //獲取期望到貨日調整記錄(邮件内容) #region 獲取期望到貨日調整記錄表格 DeliverChangeLogQuery aclQuery = new DeliverChangeLogQuery(); aclQuery.time_start = DateTime.Now.AddHours(-Convert.ToDouble(hourNum)); aclQuery.time_end = DateTime.Now; System.Data.DataTable dclTable = _IDeliverChangeLogDao.GetDeliverChangeLogDataTable(aclQuery); System.Data.DataTable dmTable = _IDeliverChangeLogDao.GetDataTable(aclQuery); DataTable _dt = new DataTable(); DataRow dr; _dt.Columns.Add("訂單編號", typeof(string)); _dt.Columns.Add("出貨單號", typeof(string)); _dt.Columns.Add("供應商名稱", typeof(string)); _dt.Columns.Add("出貨方式", typeof(string)); _dt.Columns.Add("異動人", typeof(string)); _dt.Columns.Add("異動類型", typeof(string));// _dt.Columns.Add("異動時間", typeof(string)); //_dt.Columns.Add("原期望到貨日", typeof(string)); _dt.Columns.Add("期望到貨日", typeof(string)); _dt.Columns.Add("期望到貨時段", typeof(string)); _dt.Columns.Add("備註", typeof(string)); _dt.Columns.Add("來源IP", typeof(string)); _dt.Columns.Add("異動時段", typeof(string)); _dt.Columns.Add("時間", typeof(string));//difftime //自行出貨的供應商 DataTable deliverDt = new DataTable(); DataRow deliverDr; deliverDt.Columns.Add("訂單編號", typeof(string)); deliverDt.Columns.Add("出貨單號", typeof(string)); deliverDt.Columns.Add("付款完成時間", typeof(string)); deliverDt.Columns.Add("供應商編號", typeof(string)); deliverDt.Columns.Add("供應商郵箱", typeof(string)); deliverDt.Columns.Add("供應商名稱", typeof(string)); deliverDt.Columns.Add("期望到貨日", typeof(string)); deliverDt.Columns.Add("期望到貨時段", typeof(string)); deliverDt.Columns.Add("預計到貨日", typeof(string)); deliverDt.Columns.Add("備註", typeof(string)); if (dclTable.Rows.Count > 0) { #region 循環賦值 for (int i = 0; i < dmTable.Rows.Count; i++) { #region 自行出貨的供應商的table賦值 deliverDr = deliverDt.NewRow(); deliverDr["訂單編號"] = dmTable.Rows[i]["order_id"].ToString(); deliverDr["出貨單號"] = dmTable.Rows[i]["deliver_id"].ToString(); if (Convert.ToInt32(dmTable.Rows[i]["order_date_pay"]) == 0) { deliverDr["付款完成時間"] = ""; } else { deliverDr["付款完成時間"] = CommonFunction.GetNetTime(Convert.ToInt32(dmTable.Rows[i]["order_date_pay"])).ToString("yyyy-MM-dd HH:mm:ss"); } deliverDr["供應商編號"] = dmTable.Rows[i]["vendor_id"].ToString(); deliverDr["供應商郵箱"] = dmTable.Rows[i]["vendor_email"].ToString(); deliverDr["供應商名稱"] = dmTable.Rows[i]["vendor_name_full"].ToString(); if (Convert.ToDateTime(dmTable.Rows[i]["expect_arrive_date_dm"]).ToString("yyyy-MM-dd") == "0001-01-01") { deliverDr["期望到貨日"] = ""; } else { deliverDr["期望到貨日"] = Convert.ToDateTime(dmTable.Rows[i]["expect_arrive_date_dm"]).ToString("yyyy-MM-dd"); } //期望到貨時段 StringBuilder expectArrivePeriodSb = new StringBuilder(); if (dmTable.Rows[i]["expect_arrive_period_dm"].ToString() == "1") { expectArrivePeriodSb.Append("12:00以前"); } if (dmTable.Rows[i]["expect_arrive_period_dm"].ToString() == "2") { expectArrivePeriodSb.Append("12:00-17:00"); } if (dmTable.Rows[i]["expect_arrive_period_dm"].ToString() == "3") { expectArrivePeriodSb.Append("17:00-20:00"); } if (dmTable.Rows[i]["expect_arrive_period_dm"].ToString() == "0") { expectArrivePeriodSb.Append("不限制"); } deliverDr["期望到貨時段"] = expectArrivePeriodSb.ToString(); if (Convert.ToInt32(dmTable.Rows[i]["deliver_org_days"]) == 0) { deliverDr["預計到貨日"] = ""; } else { deliverDr["預計到貨日"] = Convert.ToDateTime(CommonFunction.GetNetTime(Convert.ToInt32(dmTable.Rows[i]["deliver_org_days"]))).ToString("yyyy-MM-dd"); } deliverDr["備註"] = dmTable.Rows[i]["dcl_note"].ToString(); deliverDt.Rows.Add(deliverDr); #endregion } #region MyRegion for (int i = 0; i < dclTable.Rows.Count; i++) { dr = _dt.NewRow(); StringBuilder sb = new StringBuilder(); dr["訂單編號"] = dclTable.Rows[i]["order_id"].ToString(); dr["出貨單號"] = dclTable.Rows[i]["deliver_id"].ToString(); dr["供應商名稱"] = dclTable.Rows[i]["vendor_name_full"].ToString(); if (dclTable.Rows[i]["type"].ToString() == "1") { dr["出貨方式"] = "統倉出貨"; } else if (dclTable.Rows[i]["type"].ToString() == "2") { dr["出貨方式"] = "供應商自行出貨"; } else //if (dclTable.Rows[i]["type"].ToString() == "101") { dr["出貨方式"] = "其他"; } if (dclTable.Rows[i]["dcl_create_type"].ToString() == "1") { dr["異動人"] = dclTable.Rows[i]["dcl_create_username"].ToString(); dr["異動類型"] = "前台"; } else if (dclTable.Rows[i]["dcl_create_type"].ToString() == "2") { dr["異動人"] = dclTable.Rows[i]["dcl_create_musername"].ToString(); dr["異動類型"] = "後台"; } dr["異動時間"] = Convert.ToDateTime(dclTable.Rows[i]["dcl_create_datetime"]).ToString("yyyy-MM-dd HH:mm:ss"); #region 獲取該出貨單的上一個小時之前的期望到貨日 ////aclQuery.time_start = dcl_create_datetime_start.AddHours(-1); //aclQuery.time_end = dcl_create_datetime_end.AddHours(-1); //aclQuery.deliver_id = Convert.ToInt32(dclTable.Rows[i]["deliver_id"]); //System.Data.DataTable Table = _IDeliverChangeLogDao.GetExpectArriveDateByCreatetime(aclQuery); //if (Table.Rows.Count > 0) //{ // if (Convert.ToDateTime(Table.Rows[0]["expect_arrive_date"]).ToString("yyyy-MM-dd") == "0001-01-01") // { // dr["原期望到貨日"] = ""; // } // else // { // dr["原期望到貨日"] = Convert.ToDateTime(Table.Rows[0]["expect_arrive_date"]).ToString("yyyy-MM-dd"); // } //} //else //{ // dr["原期望到貨日"] = ""; //} #endregion if (Convert.ToDateTime(dclTable.Rows[i]["expect_arrive_date_dcl"]).ToString("yyyy-MM-dd") == "0001-01-01") { dr["期望到貨日"] = ""; } else { dr["期望到貨日"] = Convert.ToDateTime(dclTable.Rows[i]["expect_arrive_date_dcl"]).ToString("yyyy-MM-dd"); } if (dclTable.Rows[i]["expect_arrive_period_dcl"].ToString() == "1") { sb.Append("12:00以前"); } if (dclTable.Rows[i]["expect_arrive_period_dcl"].ToString() == "2") { sb.Append("12:00-17:00"); } if (dclTable.Rows[i]["expect_arrive_period_dcl"].ToString() == "3") { sb.Append("17:00-20:00"); } if (dclTable.Rows[i]["expect_arrive_period_dcl"].ToString() == "0") { sb.Append("不限制"); } dr["期望到貨時段"] = sb.ToString(); dr["備註"] = dclTable.Rows[i]["dcl_note"].ToString(); dr["來源IP"] = dclTable.Rows[i]["dcl_ipfrom"].ToString(); TimeSpan ti = aclQuery.time_end-Convert.ToDateTime(dclTable.Rows[i]["dcl_create_datetime"]); dr["異動時段"] = hourNum + "小時以外"; dr["時間"] = "0"; if (ti.TotalHours < int.Parse(hourNum)) { dr["異動時段"] = Convert.ToInt32(ti.TotalHours) + "小時"; dr["時間"] = "1"; } _dt.Rows.Add(dr); sb.Clear(); } #endregion #endregion #region 出貨方式為“供應商自行出貨”的出貨單整理后,發郵件給對應的供應商 Dictionary<string, string> vendorDictionary = new Dictionary<string, string>(); for (int i = 0; i < deliverDt.Rows.Count; i++) { if (!vendorDictionary.ContainsKey(deliverDt.Rows[i]["出貨單號"].ToString())) { vendorDictionary.Add(deliverDt.Rows[i]["出貨單號"].ToString(), deliverDt.Rows[i]["供應商編號"].ToString()); } } List<string> SendEmailVendorIdList = new List<string>(); foreach (KeyValuePair<string, string> kvp in vendorDictionary) { DataTable deliverDt_1 = deliverDt.Clone(); string MailToAddress_1 = string.Empty; string vendor_name_full = string.Empty; if (!SendEmailVendorIdList.Contains(kvp.Value)) { for (int i = 0; i < deliverDt.Rows.Count; i++) { DataRow deliverDr_1 = deliverDt_1.NewRow(); if (kvp.Value == deliverDt.Rows[i]["供應商編號"].ToString()) { MailToAddress_1 = deliverDt.Rows[i]["供應商郵箱"].ToString(); vendor_name_full = deliverDt.Rows[i]["供應商名稱"].ToString(); deliverDr_1["訂單編號"] = deliverDt.Rows[i]["訂單編號"].ToString(); deliverDr_1["出貨單號"] = deliverDt.Rows[i]["出貨單號"].ToString(); deliverDr_1["付款完成時間"] = deliverDt.Rows[i]["付款完成時間"].ToString(); //deliverDr_1["供應商編號"] = deliverDt.Rows[i]["供應商編號"].ToString(); //deliverDr_1["供應商郵箱"] = deliverDt.Rows[i]["供應商郵箱"].ToString(); //deliverDr_1["供應商名稱"] = deliverDt.Rows[i]["供應商名稱"].ToString(); deliverDr_1["期望到貨日"] = deliverDt.Rows[i]["期望到貨日"].ToString(); deliverDr_1["期望到貨時段"] = deliverDt.Rows[i]["期望到貨時段"].ToString(); deliverDr_1["預計到貨日"] = deliverDt.Rows[i]["預計到貨日"].ToString(); deliverDr_1["備註"] = deliverDt.Rows[i]["備註"].ToString(); deliverDt_1.Rows.Add(deliverDr_1); } } SendEmailVendorIdList.Add(kvp.Value); BLL.gigade.Common.MailModel mailModel_1 = new Common.MailModel(); mailModel_1.MysqlConnectionString = mySqlConnectionString; mailModel_1.MailFromAddress = mailModel.MailFromAddress; mailModel_1.MailHost = mailModel.MailHost; mailModel_1.MailPort = mailModel.MailPort; mailModel_1.MailFromUser = mailModel.MailFromUser; mailModel_1.MailFormPwd = mailModel.MailFormPwd; //string MailBody_1 = "<br/><font size=\"4\">" + "<font color=\"#00BB00\" >" + vendor_name_full + "</font>" + " 您好,在前 " + "<font color=\"#FF0000\" >" + Convert.ToDouble(hourNum) // + "</font>" + " 個小時之內,貴公司自行出貨的商品出貨單期望到貨日調整記錄如下:</font><br/><p/>" + GetHtmlByDataTable(deliverDt_1); deliverDt_1.Columns.Remove("供應商編號"); deliverDt_1.Columns.Remove("供應商郵箱"); deliverDt_1.Columns.Remove("供應商名稱"); string MailBody_1 = "<p>吉甲地市集【期望到貨日改變】通知信</p><p><font color=\"#00BB00\" >" + vendor_name_full + "</font> 您好:</p>" + "<p>以下訂單已改變出貨單期望到貨日,訂單資訊如下。</p>" + //"<p>============================================================</p>"+ GetHtmlByDataTable(deliverDt_1) + //"<p>============================================================</p>"+ "<p>訂單的相關資訊,請至<a href='http://vendor.gigade100.com' style='color:#3399ff;text-decoration: none;'>【後台管理】</a>中查詢。</p>"+ "<p>※本信由系統寄出,請勿直接回覆!</p>"+ "有任何問題與建議,歡迎聯絡我們<a href='http://www.gigade100.com/contact_service.php' target='_blank'> <img src='http://www.gigade100.com/images/send_mail.jpg'></a>" + "<p>吉甲地市集<a href='http://www.gigade100.com/'>http://www.gigade100.com/</a></p>"; string MailTitle_1 = MailTitle; //MailToAddress_1 = "*****@*****.**"; BLL.gigade.Common.MailHelper mailHelper = new MailHelper(mailModel_1); //public Boolean SendMailAction(string MailToAddress, string MailTitle, string MailBody) try { mailHelper.SendMailAction(MailToAddress_1, MailTitle_1, MailBody_1 + " ");//給單個供應商發送郵件 } catch (Exception) { continue; } } } #endregion } #endregion if (_dt.Rows.Count == 0) { //MailBody = "<br/><p><font size=\"4\"> 出貨單期望日在前 <font color=\"#FF0000\" >" + Convert.ToDouble(hourNum) + "</font> 個小時之內沒有調整記錄!</font><p/>"; } else { if (isSendMailToGroup.Trim() == "true") { MailBody = "<br/><font size=\"4\">出貨單期望到貨日在前 " + "<font color=\"#FF0000\" >" + Convert.ToDouble(hourNum) + "</font>" + " 個小時之內的調整記錄如下:</font><br/><p/>" + GetHtmlByDataTable(_dt, "時間","0"); BLL.gigade.Common.MailHelper mail = new Common.MailHelper(mailModel); mail.SendToGroup(GroupCode, MailTitle, MailBody + " ", false, true); } } return true; } catch (Exception ex) { throw new Exception("DeliverChangeLogMgr-->Start-->" + ex.Message, ex); } }
public bool SendEMail() { string json = string.Empty; try { #region string schedule_code = "send mail";//Request.Params["schedule_code"].ToString(); MailModel mailModel = new MailModel(); mailModel.MysqlConnectionString = mySqlConnectionString; string GroupCode = string.Empty; string MailTitle = string.Empty; string MailBody = string.Empty; bool IsSeparate = false; bool IsDisplyName = true; ScheduleServiceMgr _secheduleServiceMgr; List<MailRequest> MR = new List<MailRequest>(); MailRequest model = new MailRequest(); List<ScheduleConfigQuery> store_config = new List<ScheduleConfigQuery>(); ScheduleConfigQuery query_config = new ScheduleConfigQuery(); query_config.schedule_code = schedule_code; _secheduleServiceMgr = new ScheduleServiceMgr(mySqlConnectionString); store_config = _secheduleServiceMgr.GetScheduleConfig(query_config); foreach (ScheduleConfigQuery item in store_config) { if (item.parameterCode.Equals("MailFromAddress")) { mailModel.MailFromAddress = item.value; } else if (item.parameterCode.Equals("MailHost")) { mailModel.MailHost = item.value; } else if (item.parameterCode.Equals("MailPort")) { mailModel.MailPort = item.value; } else if (item.parameterCode.Equals("MailFromUser")) { mailModel.MailFromUser = item.value; } else if (item.parameterCode.Equals("EmailPassWord")) { mailModel.MailFormPwd = item.value; } else if (item.parameterCode.Equals("GroupCode")) { GroupCode = item.value; } else if (item.parameterCode.Equals("MailTitle")) { MailTitle = item.value; } else if (item.parameterCode.Equals("MailTitle")) { MailTitle = item.value; } else if (item.parameterCode.Equals("MailBody")) { MailBody = item.value; } else if (item.parameterCode.Equals("IsSeparate")) { if (item.value.ToString().Trim().ToLower() == "false") { IsSeparate = false; } else if (item.value.ToString().Trim().ToLower() == "true") { IsSeparate = true; } } else if (item.parameterCode.Equals("IsDisplyName")) { if (item.value.ToString().Trim().ToLower() == "false") { IsDisplyName = false; } else if (item.value.ToString().Trim().ToLower() == "true") { IsDisplyName = true; } } else if (!string.IsNullOrEmpty(Request.Params["IsDisplyName"])) { if (Request.Params["IsDisplyName"].ToString().Trim().ToLower() == "false") { IsSeparate = false; } else if (Request.Params["IsDisplyName"].ToString().Trim().ToLower() == "true") { IsSeparate = true; } } } MailHelper mail = new MailHelper(mailModel); _edmcontentMgr = new EdmContentNewMgr(mySqlConnectionString); _edmcontentMgr.SendEMail(mail); #endregion } catch (Exception ex) { Log4NetCustom.LogMessage logMessage = new Log4NetCustom.LogMessage(); logMessage.Content = string.Format("TargetSite:{0},Source:{1},Message:{2}", ex.TargetSite.Name, ex.Source, ex.Message); logMessage.MethodName = System.Reflection.MethodBase.GetCurrentMethod().Name; log.Error(logMessage); json = "{success:false}"; } return true; }
// public bool SendEMail(MailHelper mail) { DataTable dt = new DataTable(); StringBuilder sql = new StringBuilder(); StringBuilder sql1 = new StringBuilder(); StringBuilder sql2 = new StringBuilder(); List<MailRequest> MR = new List<MailRequest>(); //MailHelper mail = new MailHelper(); try { sql1.AppendFormat("SELECT request_id,priority,user_id,sender_address,sender_name,receiver_address,receiver_name,`subject`,importance,schedule_date,valid_until_date,retry_count,last_sent,sent_log,request_createdate,request_updatedate,body,success_action,fail_action from mail_request where schedule_date<'{0}' order by next_send,priority,valid_until_date;", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); MR = _access.getDataTableForObj<MailRequest>(sql1.ToString()); int next_time = int.Parse(_access.getDataTable("SELECT parameterName from t_parametersrc where parameterType='edm_type' AND parameterCode='4';").Rows[0][0].ToString()); sql2.Append("SELECT email_address from email_block_list;"); dt = _access.getDataTable(sql2.ToString()); foreach (var item in MR) { bool black = true; //擋信名單排除 for (int i = 0; i < dt.Rows.Count; i++) { if (item.receiver_address.ToString() == dt.Rows[i][0].ToString()) { //刪除擋信名單的數據 sql.Append(InsertLog(item, "4")); black = false; if (sql.Length > 0) { _access.execCommand(sql.ToString()); sql.Clear(); } } } if (black) {//是不是擋信名單的email try { if (mail.SendMailAction(item.receiver_address.ToString(), item.subject.ToString(), item.body.ToString(), item.sender_address, item.sender_name)) { sql.Append(item.success_action); //發送成功刪除原數據新增log sql.Append(InsertLog(item, "1")); } else { //發送失敗更新數據 sql.Append(item.fail_action); sql.AppendFormat("update mail_request set retry_count ='{1}',next_send='{2}',sent_log='{3}' where request_id='{0}' ;", item.request_id, item.retry_count + 1, DateTime.Now.AddMinutes(next_time), "not errow massage"); //sql.Append(item.fail_action + ";"); } if (sql.Length > 0) { _access.execCommand(sql.ToString()); sql.Clear(); } } catch (Exception ex) { item.sent_log = ex.ToString(); item.Replace4MySQL(); sql.Append(item.fail_action); //發送失敗更新數據 sql.AppendFormat("update mail_request set retry_count ='{1}',next_send='{2}',sent_log='{3}' where request_id='{0}' ;", item.request_id, item.retry_count + 1, DateTime.Now.AddMinutes(next_time).ToString("yyyy-MM-dd HH:mm:ss"), item.sent_log); _access.execCommand(sql.ToString()); } } } return true; } catch (Exception ex) { throw new Exception("ScheduleServiceDao-->SchedulePeriodDelete-->" + sql.ToString() + ex.Message); } }
public string DelDesignRequest(DesignRequestQuery query) { string json = ""; try { if (IsSelf(query)) { if (query.dr_status>2) { MailHelper mail = new MailHelper(); string sbHtml = "你好,派工系統分配給您的工作被需求者刪除,還請查看 "; if (!mail.SendToUser(GetmailId(query.dr_assign_to), "派工系統", sbHtml.ToString()))//發送email給指派的人員 { return json = "{success:true,msg:3}";//郵件發送失敗 } } if (_DesignRequestDao.DelDesignRequest(query) > 0) { return json = "{success:true,msg:0}"; } else { return json = "{success:true,msg:1}";//msg=1刪除失敗 } } else { return json = "{success:true,msg:2}";//msg=2不是需求者不能刪除 } } catch (Exception ex) { throw new Exception("DesignRequestMgr.DelDesignRequest-->" + ex.Message, ex); } }
/*public HttpResponseBase GetContentUrl() { string json = string.Empty; string template_data = string.Empty; string contentJson = string.Empty; string replaceStr = string.Empty; string editStr = string.Empty; try { _edmContentNewMgr = new EdmContentNewMgr(mySqlConnectionString); if (!string.IsNullOrEmpty(Request.Params["content_url"])) { #region 獲取網頁內容方法 string url = Request.Params["content_url"].ToString(); HttpWebRequest httpRequest = (HttpWebRequest)WebRequest.Create(url); httpRequest.Timeout = 9000; httpRequest.Method = "GET"; HttpWebResponse httpResponse = (HttpWebResponse)httpRequest.GetResponse(); StreamReader sr = new StreamReader(httpResponse.GetResponseStream(), System.Text.Encoding.GetEncoding("UTF-8")); contentJson = sr.ReadToEnd(); #endregion } else { int template_id = Convert.ToInt32(Request.Params["template_id"]); string url = _edmContentNewMgr.GetContentUrl(template_id); HttpWebRequest httpRequest = (HttpWebRequest)WebRequest.Create(url); httpRequest.Timeout = 9000; httpRequest.Method = "GET"; HttpWebResponse httpResponse = (HttpWebResponse)httpRequest.GetResponse(); StreamReader sr = new StreamReader(httpResponse.GetResponseStream(), System.Text.Encoding.GetEncoding("UTF-8")); contentJson = sr.ReadToEnd(); } if (!string.IsNullOrEmpty(Request.Params["template_data"])) { template_data = Request.Params["template_data"]; } DataTable _dt = _edmContentNewMgr.GetPraraData(1); if (_dt != null && _dt.Rows.Count > 0) { replaceStr = _dt.Rows[0][0].ToString(); } else { replaceStr = " "; } DataTable _dtEdit = _edmContentNewMgr.GetPraraData(3); if (_dtEdit != null && _dtEdit.Rows.Count > 0) { editStr = _dtEdit.Rows[0][0].ToString(); } else { editStr = " "; } template_data = template_data.Replace(editStr,""); contentJson=contentJson.Replace(replaceStr,template_data); json = contentJson; } catch (Exception ex) { Log4NetCustom.LogMessage logMessage = new Log4NetCustom.LogMessage(); logMessage.Content = string.Format("TargetSite:{0},Source:{1},Message:{2}", ex.TargetSite.Name, ex.Source, ex.Message); logMessage.MethodName = System.Reflection.MethodBase.GetCurrentMethod().Name; log.Error(logMessage); json = "獲取網頁出現異常!"; } this.Response.Clear(); this.Response.Write(json); this.Response.End(); return this.Response; }*/ #endregion #region 發送電子報 (測試發送/正式發送) public HttpResponseBase SendEdm() { string json = string.Empty; EdmSendLog eslQuery = new EdmSendLog(); MailRequest mQuery = new MailRequest(); try { _edmContentNewMgr = new EdmContentNewMgr(mySqlConnectionString); if (!string.IsNullOrEmpty(Request.Params["content_id"])) { eslQuery.content_id = mQuery.content_id = Convert.ToInt32(Request.Params["content_id"]); } if (!string.IsNullOrEmpty(Request.Params["group_id"])) { mQuery.group_id = Convert.ToInt32(Request.Params["group_id"]); } if (!string.IsNullOrEmpty(Request.Params["sender_email"])) { mQuery.sender_address = Request.Params["sender_email"]; } if (!string.IsNullOrEmpty(Request.Params["sender_name"])) { mQuery.sender_name = Request.Params["sender_name"]; } if (!string.IsNullOrEmpty(Request.Params["subject"])) { mQuery.subject = Request.Params["subject"]; } if (!string.IsNullOrEmpty(Request.Params["template_id"])) { mQuery.template_id = Convert.ToInt32(Request.Params["template_id"]); } if (!string.IsNullOrEmpty(Request.Params["static_template"])) { mQuery.static_template = Convert.ToUInt64(Request.Params["static_template"]); } eslQuery.create_userid = (Session["caller"] as Caller).user_id; mQuery.user_id = 0; if (!string.IsNullOrEmpty(Request.Params["testSend"])) { if (Request.Params["testSend"] == "true")// { eslQuery.test_send_end = true; #region 字段賦值 eslQuery.test_send = 1; eslQuery.receiver_count = 1; eslQuery.schedule_date = DateTime.Now; eslQuery.expire_date = eslQuery.schedule_date.AddHours(1); eslQuery.createdate = eslQuery.schedule_date; mQuery.schedule_date = eslQuery.schedule_date; mQuery.valid_until_date = eslQuery.expire_date; mQuery.retry_count = 0; mQuery.next_send = eslQuery.schedule_date; mQuery.max_retry = 1; if (!string.IsNullOrEmpty(Request.Params["test_send_list"])) { string[] test_send_arr = Request.Params["test_send_list"].ToString().TrimEnd('\n').Split('\n'); for (int i = 0; i < test_send_arr.Length; i++) { if (test_send_arr[i] != "") { mQuery.receiver_address = test_send_arr[i]; eslQuery.receiver_count = test_send_arr.Length; if (!string.IsNullOrEmpty(Request.Params["body"])) { if (mQuery.static_template == 0)//非靜態範本,需動態生成推薦 { mQuery.bodyData = Request.Params["body"] + _edmContentNewMgr.GetRecommendHtml(0); } else//靜態範本 { mQuery.bodyData = Request.Params["body"]; } #region 得到電子報整體內容 string replaceStr = string.Empty; string editStr = string.Empty; string content_url = _edmContentNewMgr.GetContentUrlByContentId(eslQuery.content_id); if (!string.IsNullOrEmpty(content_url)) { #region 獲取網頁內容 HttpWebRequest httpRequest = (HttpWebRequest)WebRequest.Create(content_url); httpRequest.Timeout = 9000; httpRequest.Method = "GET"; HttpWebResponse httpResponse = (HttpWebResponse)httpRequest.GetResponse(); StreamReader sr = new StreamReader(httpResponse.GetResponseStream(), System.Text.Encoding.GetEncoding("UTF-8")); string contentStr = sr.ReadToEnd(); DataTable _dt = _edmContentNewMgr.GetPraraData(1); if (_dt != null && _dt.Rows.Count > 0) { replaceStr = _dt.Rows[0][0].ToString(); } else { replaceStr = " "; } DataTable _dtEdit = _edmContentNewMgr.GetPraraData(3); if (_dtEdit != null && _dtEdit.Rows.Count > 0) { editStr = _dtEdit.Rows[0][0].ToString(); } else { editStr = " "; } if (mQuery.bodyData.IndexOf(subscribe) > 0)//找到了埋的那個code,證明是點擊了訂閱電子報 { mQuery.bodyData = contentStr.Replace(replaceStr, mQuery.bodyData.Replace(subscribe, "\n").Replace(editStr,"") ) + subscribe_url; ; } else { mQuery.bodyData = contentStr.Replace(replaceStr, mQuery.bodyData.Replace(editStr, "")); } #endregion } #endregion } MailHelper mail = new MailHelper(); mail.SendMailAction(test_send_arr[i], mQuery.subject, mQuery.bodyData + " "); json = _edmContentNewMgr.MailAndRequest(eslQuery, mQuery); } } } else { MailHelper mail = new MailHelper(); mQuery.bodyData = Request.Params["body"]; if (mQuery.bodyData.IndexOf(subscribe) > 0)//找到了埋的那個code,證明是點擊了訂閱電子報 { mQuery.bodyData = mQuery.bodyData.Replace(subscribe, "\n") + _edmContentNewMgr.GetRecommendHtml(Convert.ToUInt32((Session["caller"] as Caller).user_id)) + subscribe_url; } mail.SendMailAction((Session["caller"] as Caller).user_email, mQuery.subject, mQuery.bodyData + " "); json = _edmContentNewMgr.MailAndRequest(eslQuery, mQuery); } #endregion } else//正式發送,寫入排程所用表 { if (!string.IsNullOrEmpty(Request.Params["body"])) { mQuery.body = Request.Params["body"]; } eslQuery.test_send_end = false; eslQuery.test_send = 0; //eslQuery.receiver_count=""; 經計算後寫入 if (!string.IsNullOrEmpty(Request.Params["schedule_date"])) { eslQuery.schedule_date = Convert.ToDateTime(Request.Params["schedule_date"]); mQuery.schedule_date = eslQuery.schedule_date; } if (!string.IsNullOrEmpty(Request.Params["email_group_id"])) { eslQuery.email_group_id = Convert.ToInt32(Request.Params["email_group_id"]); } if (!string.IsNullOrEmpty(Request.Params["expire_date"])) { eslQuery.expire_date = Convert.ToDateTime(Convert.ToDateTime(Request.Params["expire_date"]).ToString("yyyy-MM-dd 23:59:59")); mQuery.valid_until_date = eslQuery.expire_date; } eslQuery.createdate = DateTime.Now; if (!string.IsNullOrEmpty(Request.Params["elcm_id"])) { eslQuery.elcm_id = Convert.ToInt32(Request.Params["elcm_id"]); } if (!string.IsNullOrEmpty(Request.Params["extra_send"])) { mQuery.extra_send = Request.Params["extra_send"]; } if (!string.IsNullOrEmpty(Request.Params["extra_no_send"])) { mQuery.extra_no_send = Request.Params["extra_no_send"]; } if (!string.IsNullOrEmpty(Request.Params["is_outer"])) { if (Request.Params["is_outer"] == "true") { mQuery.is_outer = true; } else { mQuery.is_outer = false; } } json = _edmContentNewMgr.MailAndRequest(eslQuery, mQuery); } } } catch (Exception ex) { Log4NetCustom.LogMessage logMessage = new Log4NetCustom.LogMessage(); logMessage.Content = string.Format("TargetSite:{0},Source:{1},Message:{2}", ex.TargetSite.Name, ex.Source, ex.Message); logMessage.MethodName = System.Reflection.MethodBase.GetCurrentMethod().Name; log.Error(logMessage); json = "{success:false}"; } this.Response.Clear(); this.Response.Write(json); this.Response.End(); return this.Response; }
public string DesignRequestEdit(DesignRequestQuery query) { string json = string.Empty; query.Replace4MySQL(); query.dr_resource_path = query.dr_resource_path.Replace("\\", "\\\\"); query.dr_document_path = query.dr_document_path.Replace("\\", "\\\\"); List<DisableKeywords> list = new List<DisableKeywords>(); try { int j = 0; list = _DesignRequestDao.GetKeyWordsList(); for (int i = 0; i < list.Count; i++) { if (query.dr_content_text.Contains(list[i].dk_string)) { j = 1; } } if (query.dr_id == 0) {//新增 if (query.product_id != 0 && query.dr_type == 4 && j != 1) { _DesignRequestDao.UpdateProductDetailText(query); } if (j == 1) { query.dr_status = 1; MailHelper mail = new MailHelper(); string sbHtml = "你好,派工系統申請的文案包含有禁用的關鍵字,還請前去查看新建立的項目 "; mail.SendToGroup("job", "派工系統", sbHtml.ToString(), false, true); } else { query.dr_status = 2;//已審核 if (GetExpected(query) > 0 && j != 1) {//已審核的文件直接算出期望完成時間 int day = Getday(query); //query.dr_expected = DateTime.Now.AddDays(day); query.day = day; } } int res = _DesignRequestDao.InsertDesignRequest(query); if (res > 0) { json = "{success:true,type:1,msg:1}";//type=1表示新增,msg=1表示新增成功 } else { json = "{success:true,type:1,msg:0}";//type=1表示新增,msg=0表示新增失敗 } } else { //編輯 query.dr_status = 1; DesignRequestQuery OldModel = new DesignRequestQuery(); OldModel = _DesignRequestDao.GetSingleDesignRequest(query); if (!string.IsNullOrEmpty(query.dr_type_tostring)) { query.dr_type = OldModel.dr_type; } if (query.product_id != 0 && query.dr_type == 4 && j != 1) { _DesignRequestDao.UpdateProductDetailText(query); } if (j == 1) { query.dr_status = 1; MailHelper mail = new MailHelper(); string sbHtml = "你好,派工系統申請的文案包含有禁用的關鍵字,還請前去查看新建立的項目 "; mail.SendToGroup("job", "派工系統", sbHtml.ToString(), false, true); } else { query.dr_status = 2; if (GetExpected(query) > 0 && j != 1) {//已審核的文件直接算出期望完成時間 int day = Getday(query); //query.dr_expected = DateTime.Now.AddDays(day); query.day = day; } } int res = _DesignRequestDao.UpdateDesignRequest(query); if (res > 0) { json = "{success:true,type:2,msg:1}";//type=2表示編輯,msg=1表示編輯成功 } else { json = "{success:true,type:2,msg:0}";//type=2表示編輯,msg=0表示編輯失敗 } } return json; } catch (Exception ex) { throw new Exception("DesignRequestMgr.DesignRequestEdit-->" + ex.Message, ex); } }
public bool Start(string schedule_code) { bool result = false; FileManagement _fileHelper = new FileManagement(); try { if (string.IsNullOrEmpty(schedule_code)) { return result; } string GroupCode = string.Empty; string MailTitle = string.Empty; StringBuilder strbody = new StringBuilder(); MailModel mailModel = new MailModel(); mailModel.MysqlConnectionString = mySqlConnectionString; //獲取該排程參數 List<ScheduleConfigQuery> store_config = new List<ScheduleConfigQuery>(); ScheduleConfigQuery query_config = new ScheduleConfigQuery(); query_config.schedule_code = schedule_code; _secheduleServiceMgr = new ScheduleServiceMgr(mySqlConnectionString); store_config = _secheduleServiceMgr.GetScheduleConfig(query_config); #region FTP參數賦值 foreach (ScheduleConfigQuery item in store_config) { if (item.parameterCode.Equals("MailFromAddress")) { mailModel.MailFromAddress = item.value; } else if (item.parameterCode.Equals("MailHost")) { mailModel.MailHost = item.value; } else if (item.parameterCode.Equals("MailPort")) { mailModel.MailPort = item.value; } else if (item.parameterCode.Equals("MailFromUser")) { mailModel.MailFromUser = item.value; } else if (item.parameterCode.Equals("EmailPassWord")) { mailModel.MailFormPwd = item.value; } else if (item.parameterCode.Equals("GroupCode")) { GroupCode = item.value; } else if (item.parameterCode.Equals("MailTitle")) { MailTitle = item.value; } else if (item.parameterCode.Equals("MailTitle")) { MailTitle = item.value; } else if (item.parameterCode.Equals("filepath")) { stockExcelsavePath = item.value.Trim().ToLower();; } } stockExcelsavePathSuccess = Path.Combine(stockExcelsavePath, "success"); stockExcelsavePathFail = Path.Combine(stockExcelsavePath, "fail"); stockExcelsavePathIgnore = Path.Combine(stockExcelsavePath, "ignore"); #endregion MailHelper mail = new MailHelper(mailModel); string[] files = _fileHelper.GetAllFiles(stockExcelsavePath, @"*.*"); string consoleFile = String.Empty; string lastFile = files.Max<String>(); if (files.Length < 1) { mail.SendToGroup(GroupCode, MailTitle, "今日沒有文件倒入", false, true);//發送郵件給群組 } #region 創建四個Datata來保存數據 DataTable _dtSucess = new DataTable();//更新成功的數據 _dtSucess.Columns.Add("商品編號", typeof(string)); _dtSucess.Columns.Add("商品細項編號", typeof(string)); _dtSucess.Columns.Add("商品ERP編號", typeof(string)); _dtSucess.Columns.Add("商品名稱", typeof(string)); _dtSucess.Columns.Add("規格", typeof(string)); _dtSucess.Columns.Add("庫存", typeof(string)); DataTable _dtFail = new DataTable();//更新失敗的數據 _dtFail.Columns.Add("商品編號", typeof(string)); _dtFail.Columns.Add("商品細項編號", typeof(string)); _dtFail.Columns.Add("商品ERP編號", typeof(string)); _dtFail.Columns.Add("商品名稱", typeof(string)); _dtFail.Columns.Add("規格", typeof(string)); _dtFail.Columns.Add("庫存", typeof(string)); DataTable _dtIgnore = new DataTable();//跳過更新的數據 _dtIgnore.Columns.Add("商品ERP編號", typeof(string)); DataTable _dtErrorTable = new DataTable();//打不開Excel文件的數據 _dtErrorTable.Columns.Add("路徑", typeof(string)); _dtErrorTable.Columns.Add("描述", typeof(string)); #endregion foreach (string file in files) { if (lastFile == file)//只操作最新的文件 { int num = 0; StringBuilder errorLog = GetStockMessageFromFile(file, ref _dtSucess, ref _dtFail, ref _dtIgnore, ref _dtIgnore); if (String.IsNullOrEmpty(errorLog.ToString())) { string newFileName = file.Substring(file.LastIndexOf("\\")); _fileHelper.MoveOneFile(file, stockExcelsavePathSuccess, newFileName); MailTitle = "ERP庫存更新提醒"; mail.SendToGroup(GroupCode, MailTitle, "更新成功數量:" + num + "文件名称:" + newFileName, false, true);//發送郵件給群組 } else { string newFileName = file.Substring(file.LastIndexOf("\\")); string errorNewFileName = newFileName.Substring(0, newFileName.LastIndexOf(".")) + "_err.xls"; string errorlogNewFileName = stockExcelsavePathFail + newFileName.Substring(0, newFileName.LastIndexOf(".")) + "_err.txt"; _fileHelper.MoveOneFile(file, stockExcelsavePathFail, errorNewFileName); SaveErrorLog(errorLog, errorlogNewFileName, newFileName); MailTitle = "ERP庫存更新異常提醒"; StringBuilder sbMailBody = new StringBuilder(); if (_dtSucess.Rows.Count > 0) { sbMailBody.AppendLine("更新成功商品"); sbMailBody.AppendLine(GetHtmlByDataTable(_dtSucess)); } if (_dtFail.Rows.Count > 0) { sbMailBody.AppendLine("更新失敗商品"); sbMailBody.AppendLine(GetHtmlByDataTable(_dtFail)); } if (_dtIgnore.Rows.Count > 0) { sbMailBody.AppendLine("跳過更新商品"); sbMailBody.AppendLine(GetHtmlByDataTable(_dtIgnore)); } if (_dtErrorTable.Rows.Count > 0) { sbMailBody.AppendLine("打不開Excel文件的數據"); sbMailBody.AppendLine(GetHtmlByDataTable(_dtErrorTable)); } mail.SendToGroup(GroupCode, MailTitle, sbMailBody.ToString(), false, true);//發送郵件給群組 } } else//忽略過時文件 { string newFileName = file.Substring(file.LastIndexOf("\\")); _fileHelper.MoveOneFile(file, stockExcelsavePathIgnore, newFileName); } } // StringBuilder sbMailBody = new StringBuilder(); result = true; } catch (Exception ex) { throw new Exception("CheckOrderAmount-->Start-->" + ex.Message); } return result; }
public bool Start(string schedule_code) { if (string.IsNullOrEmpty(schedule_code)) { return false; } PromotionsAmountGiftDao giftDao = new PromotionsAmountGiftDao(mySqlConnectionString); try { DataTable dtProd = giftDao.GetProdStock(); StringBuilder str = new StringBuilder(); if (dtProd.Rows.Count > 0) { str.Append("<style>.wid100{width:100px;text-align: right;} td{padding:2px;}</style>"); str.AppendFormat("當前贈品庫存狀態"); str.Append("<table cellspacing='1' cellpadding='3' border='1' style='border-collapse: collapse'>"); str.AppendFormat("<tr style='text-align: center; background-color: #f4faff; color: #0076c8; font-weight: bold;'><th>活動編號</th><th style='background-color: #db7093;'>活動名稱</th><th style='background-color: #EEEE00;' >商品編號</th><th style='background-color: #b4eeb4;' >商品細項編號</th><th style='background-color:#AEEEEE'>庫存數量</th></tr>"); foreach (DataRow row in dtProd.Rows) { str.AppendFormat("<tr><td style='width:100px;text-align: center;'>{0}</td><td>{1}</td><td class='wid100'>{2}</td><td class='wid100'>{3}</td><td class='wid100'>{4}</td></tr>", row["id"], row["event_name"], row["product_id"], row["item_id"], GetString(row["kucun"].ToString())); } str.AppendFormat("</table>"); } //else //{ // str.Append("<span style='color:red;'><b>沒有適合條件的數據<b></span>"); //} List<ScheduleConfigQuery> store_config = new List<ScheduleConfigQuery>(); ScheduleConfigQuery query_config = new ScheduleConfigQuery(); query_config.schedule_code = schedule_code; _secheduleServiceMgr = new ScheduleServiceMgr(mySqlConnectionString); store_config = _secheduleServiceMgr.GetScheduleConfig(query_config); string GroupCode = string.Empty; string EmailTile = string.Empty; MailModel mailModel = new MailModel(); mailModel.MysqlConnectionString = mySqlConnectionString; foreach (ScheduleConfigQuery item in store_config) { if (item.parameterCode.Equals("MailFromAddress")) { mailModel.MailFromAddress = item.value; } else if (item.parameterCode.Equals("MailHost")) { mailModel.MailHost = item.value; } else if (item.parameterCode.Equals("MailPort")) { mailModel.MailPort = item.value; } else if (item.parameterCode.Equals("MailFromUser")) { mailModel.MailFromUser = item.value; } else if (item.parameterCode.Equals("EmailPassWord")) { mailModel.MailFormPwd = item.value; } else if (item.parameterCode.Equals("GroupCode")) { GroupCode = item.value; } else if (item.parameterCode.Equals("MailTitle")) { EmailTile = item.value; } } MailHelper mHelper = new MailHelper(mailModel); if (str.ToString().Length > 0) { if (mHelper.SendToGroup(GroupCode, EmailTile, str.ToString()+" ", false, true)) { return true; } else { return false; } } return true; } catch (Exception ex) { throw new Exception("PromotionsAmountGiftMgr-->Start-->" + ex.Message); } }
public HttpResponseBase NoOrComing() { List<ArrivalNoticeQuery> list = new List<ArrivalNoticeQuery>(); ArrivalNoticeQuery query = null; string json = string.Empty; string mailBody; MailHelper mailHelper = new MailHelper(); try { if (!string.IsNullOrEmpty(Request.Params["rowID"])) { string select_id = Request.Params["rowID"]; if (select_id.IndexOf("∑") != -1) { foreach (string id in select_id.Split('∑')) { if (!string.IsNullOrEmpty(id)) { query = new ArrivalNoticeQuery(); string[] data = id.Split(','); query.status = Convert.ToInt32(Request.Params["type"]); query.id = Convert.ToUInt32(data[0]); query.user_email = _usmgr.getModel(Convert.ToInt32(data[1].ToString())).user_email; query.product_name = data[2]; if (!string.IsNullOrEmpty(Request.Params["coming_time"])) { query.coming_time = Convert.ToInt32(CommonFunction.GetPHPTime(Request.Params["coming_time"].ToString())); } if (!string.IsNullOrEmpty(Request.Params["recommend"])) { query.recommend = Request.Params["recommend"].ToString(); } list.Add(query); } } } } _IArrivalNoticeMgr = new ArrivalNoticeMgr(mySqlConnectionString); if (_IArrivalNoticeMgr.IgnoreNotice(list)) { FileStream fs = new FileStream(Server.MapPath("../ImportUserIOExcel/ArrivalNotice.html"), FileMode.OpenOrCreate, FileAccess.Read); StreamReader sr = new StreamReader(fs, Encoding.UTF8); string strTemp = sr.ReadToEnd(); for (int i = 0; i < list.Count; i++) { #region 不再補貨 if (list[i].status == 2) { if (!string.IsNullOrEmpty(list[i].recommend)) { mailBody = "您關注補貨的商品" + "【" + list[i].product_name + "】" + "已不再進貨/販售,建議您購買我們推薦的類似商品:" + list[i].recommend; } else { mailBody = "您關注補貨的商品" + "【" + list[i].product_name + "】" + "已不再進貨/販售。 "; } strTemp = strTemp.Replace("{{$serviceAnwser$}}", mailBody); } #endregion #region 預計補貨 if (list[i].status == 3) { mailBody = "您關注補貨的商品" + "【" + list[i].product_name + "】" + "將預計在" + CommonFunction.DateTimeToString(CommonFunction.GetNetTime(list[i].coming_time)) + "補貨,敬請及早購買,以免向隅。 "; strTemp = strTemp.Replace("{{$serviceAnwser$}}", mailBody); } #endregion try { mailHelper.SendMailAction(list[i].user_email, "吉甲地市集補貨通知信", strTemp); } catch (Exception ex) { json = "{success:true,msg:1}"; } } json = "{success:true,msg:0}"; } else { json = "{failure:true}"; } } catch (Exception ex) { Log4NetCustom.LogMessage logMessage = new Log4NetCustom.LogMessage(); logMessage.Content = string.Format("TargetSite:{0},Source:{1},Message:{2}", ex.TargetSite.Name, ex.Source, ex.Message); logMessage.MethodName = System.Reflection.MethodBase.GetCurrentMethod().Name; log.Error(logMessage); json = "{failure:true}"; } this.Response.Clear(); this.Response.Write(json); this.Response.End(); return this.Response; }
public bool Start(string schedule_code) { bool result = false; try { if (string.IsNullOrEmpty(schedule_code)) { return result; } string GroupCode = string.Empty; string MailTitle = string.Empty; StringBuilder strbody = new StringBuilder(); MailModel mailModel = new MailModel(); mailModel.MysqlConnectionString = mySqlConnectionString; //獲取該排程參數 List<ScheduleConfigQuery> store_config = new List<ScheduleConfigQuery>(); ScheduleConfigQuery query_config = new ScheduleConfigQuery(); query_config.schedule_code = schedule_code; _secheduleServiceMgr = new ScheduleServiceMgr(mySqlConnectionString); store_config = _secheduleServiceMgr.GetScheduleConfig(query_config); #region FTP參數賦值 foreach (ScheduleConfigQuery item in store_config) { if (item.parameterCode.Equals("MailFromAddress")) { mailModel.MailFromAddress = item.value; } else if (item.parameterCode.Equals("MailHost")) { mailModel.MailHost = item.value; } else if (item.parameterCode.Equals("MailPort")) { mailModel.MailPort = item.value; } else if (item.parameterCode.Equals("MailFromUser")) { mailModel.MailFromUser = item.value; } else if (item.parameterCode.Equals("EmailPassWord")) { mailModel.MailFormPwd = item.value; } else if (item.parameterCode.Equals("GroupCode")) { GroupCode = item.value; } else if (item.parameterCode.Equals("MailTitle")) { MailTitle = item.value; } else if (item.parameterCode.Equals("MailTitle")) { MailTitle = item.value; } } #endregion MailHelper mail = new MailHelper(mailModel); OrderMasterQuery query = new OrderMasterQuery(); query.order_date_pay_endTime = DateTime.Now; query.order_date_pay_startTime = query.order_date_pay_endTime.AddHours(-1); StringBuilder sbMailBody = new StringBuilder(); try { bool isSHow = false; string html =GetBigAmountMailBody(query,out isSHow); if (isSHow) { sbMailBody.AppendLine(html); } } catch (Exception ex) { throw new Exception("CheckOrderAmountMgr-->GetBigAmountMailBody-->" + "大金額訂單排程:" + ex.Message); } try { bool isSHow = false; string html = GetBigOrderNumbersMailBody(query, out isSHow); if (isSHow) { sbMailBody.AppendLine(html); } } catch (Exception ex) { throw new Exception("CheckOrderAmountMgr-->GetBigOrderNumbersMailBody-->"+"一小時多次付款客戶異常訂單付款通知:"+ ex.Message); } try { bool isSHow = false; string html = FirstBuyEmail(query, out isSHow); if (isSHow) { sbMailBody.AppendLine(html); } } catch (Exception ex) { throw new Exception("CheckOrderAmountMgr-->OtherTWPay-->" + "首購超過5000訂單付款檢查:" + ex.Message); } try { bool isSHow = false; string html = OtherTWPay(query, out isSHow); if (isSHow) { sbMailBody.AppendLine(html); } } catch (Exception ex) { throw new Exception("CheckOrderAmountMgr-->OtherTWPay-->" + "異地信用卡付款付款訂單通知:" + ex.Message); } if (!String.IsNullOrEmpty(sbMailBody.ToString())) { mail.SendToGroup(GroupCode, MailTitle, sbMailBody.ToString(), false, true);//發送郵件給群組 } result= true; } catch (Exception ex) { throw new Exception("CheckOrderAmount-->Start-->" + ex.Message); } return result; }
public bool Start(string schedule_code) { string json = string.Empty; if (string.IsNullOrEmpty(schedule_code)) { return false; } try { MailModel mailModel = new MailModel(); mailModel.MysqlConnectionString = mySqlConnectionString; string GroupCode = string.Empty; string MailTitle = string.Empty; string filepath = string.Empty; string ftpuser = string.Empty; string ftppassword = string.Empty; string EmptyFilesPrompt = string.Empty; string ExistFilesPrompt = string.Empty; string NotExistDirectory = string.Empty; //string NotExistFtpDirectory = string.Empty; int isEmpty = -1; List<ScheduleConfigQuery> store_config = new List<ScheduleConfigQuery>(); ScheduleConfigQuery query_config = new ScheduleConfigQuery(); query_config.schedule_code = schedule_code; _secheduleServiceMgr = new ScheduleServiceMgr(mySqlConnectionString); store_config = _secheduleServiceMgr.GetScheduleConfig(query_config); foreach (ScheduleConfigQuery item in store_config) { if (item.parameterCode.Equals("MailFromAddress")) { mailModel.MailFromAddress = item.value; } else if (item.parameterCode.Equals("MailHost")) { mailModel.MailHost = item.value; } else if (item.parameterCode.Equals("MailPort")) { mailModel.MailPort = item.value; } else if (item.parameterCode.Equals("MailFromUser")) { mailModel.MailFromUser = item.value; } else if (item.parameterCode.Equals("EmailPassWord")) { mailModel.MailFormPwd = item.value; } else if (item.parameterCode.Equals("GroupCode")) { GroupCode = item.value; } else if (item.parameterCode.Equals("MailTitle")) { MailTitle = item.value; } else if (item.parameterCode.Equals("filepath")) { filepath = item.value; } else if (item.parameterCode.Equals("ftpuser")) { ftpuser = item.value.Trim(); } else if (item.parameterCode.Equals("ftppassword")) { ftppassword = item.value.Trim(); } else if (item.parameterCode.Equals("EmptyFilesPrompt")) { EmptyFilesPrompt = item.value.Trim(); } else if (item.parameterCode.Equals("ExistFilesPrompt")) { ExistFilesPrompt = item.value.Trim(); } else if (item.parameterCode.Equals("NotExistDirectory")) { NotExistDirectory = item.value.Trim(); } //else if (item.parameterCode.Equals("NotExistFtpDirectory")) //{ // NotExistFtpDirectory = item.value.Trim(); //} } string mailBody = string.Empty; #region 統計目錄內容 string[] filepaths = filepath.Split(';'); for (int i = 0; i < filepaths.Length; i++) { if (string.IsNullOrEmpty(filepaths[i].Trim())) { continue; } //判斷是否為FTP路徑 if (filepaths[i].Trim().ToLower().ToString().Contains("ftp:")) { if (string.IsNullOrEmpty(ftpuser) || string.IsNullOrEmpty(ftppassword)) { mailBody += "<h3>" + (i + 1).ToString() + "." + "目錄 " + filepaths[i] + "需要的FTP賬號或密碼沒有設定!" + "</h3>"; //mailBody += "<br>" + (i + 1).ToString() + "." + "目錄 " + filepaths[i] + " " + "需要的FTP賬號或密碼沒有設定!" + "<br>"; } else { mailBody += GetFtpContent(filepaths[i].Trim(), ftpuser, ftppassword, i, EmptyFilesPrompt, ExistFilesPrompt, NotExistDirectory, out isEmpty); } } //判斷路徑是否正確 else if (!Directory.Exists(filepaths[i])) { mailBody += "<h3>" + (i + 1).ToString() + "." + "目錄 " + filepaths[i] + " " + NotExistDirectory + "</h3>"; //mailBody += "<br>" + (i + 1).ToString() + "." + "目錄 " + filepaths[i] + " " + NotExistDirectory + "<br>"; isEmpty = -1; } //判斷路徑下是否有文件 else if (Directory.GetFiles(filepaths[i]).Length == 0) { mailBody += "<h3>" + (i + 1).ToString() + "." + "目錄 " + filepaths[i] + " " + EmptyFilesPrompt + "</h3>"; //mailBody += "<br>" + (i + 1).ToString() + "." + "目錄 " + filepaths[i] + " " + EmptyFilesPrompt + "<br>"; isEmpty = 1; } else if (Directory.GetFiles(filepaths[i]).Length > 0) { string Content = "<h3>" + (i + 1).ToString() + "." + "目錄 " + filepaths[i] + " " + ExistFilesPrompt + "</h3>"; //string Content = "<br>" + (i + 1).ToString() + "." + "目錄 " + filepaths[i] + " " + ExistFilesPrompt + "<br>"; string[] files = Directory.GetFiles(filepaths[i]); for (int j = 0; j < files.Length; j++) { FileInfo info = new FileInfo(files[j]); files[j] = info.Name; Content += "<h5>" + "(" + (j + 1).ToString() + ")" + files[j] + "</h5>"; //Content += "(" + (j + 1).ToString() + ")" + files[j] + "<br>"; } mailBody += Content; isEmpty = 0; } } #endregion if (isEmpty == 0 && string.IsNullOrEmpty(ExistFilesPrompt)) { } else if (isEmpty == 1 && string.IsNullOrEmpty(EmptyFilesPrompt)) { } else { MailHelper mail = new MailHelper(mailModel); mail.SendToGroup(GroupCode, MailTitle, mailBody+" ", false, false);//發送郵件 } } catch (Exception ex) { throw new Exception("SetConfigXmlMgr-->Start-->" + ex.Message); } return true; }