Ejemplo n.º 1
0
        public HttpResponseBase GetRecordList()
        {
            string json = string.Empty;
            DataTable _dt = new System.Data.DataTable();
            ContactUsResponse cuResponse = new ContactUsResponse();
            cuResponse.Start = Convert.ToInt32(Request.Params["start"] ?? "0");//用於分頁的變量
            cuResponse.Limit = Convert.ToInt32(Request.Params["limit"] ?? "25");//用於分頁的變量

            string startDate = Request.Params["startDate"] ?? "";
            string endDate = Request.Params["endDate"] ?? "";
            string reply_user = Request.Params["reply_user"] ?? "";

            if (startDate.Equals("1970-01-01"))
            {
                startDate = "";
            }
            else
            {
                startDate = Convert.ToDateTime(startDate).ToString("yyyy-MM-dd 00:00:00");
            }
            if (endDate.Equals("1970-01-01"))
            {
                endDate = "";
            }
            else
            {
                endDate = Convert.ToDateTime(endDate).ToString("yyyy-MM-dd 23:59:59");
            }
            try
            {
                cuResponse.question_id = Convert.ToUInt32(Request.Params["qid"]);
                _ctactrsponseMgr = new ContactUsResponseMgr(mySqlConnectionString);
                int totalCount = 0;
                _dt = _ctactrsponseMgr.GetRecordList(cuResponse, startDate, endDate, reply_user, out totalCount);
                IsoDateTimeConverter timeConverter = new IsoDateTimeConverter();
                //这里使用自定义日期格式,如果不使用的话,默认是ISO8601格式     
                timeConverter.DateTimeFormat = "yyyy-MM-dd";
                json = "{success:true,totalCount:" + totalCount + ",data:" + JsonConvert.SerializeObject(_dt, Formatting.Indented, timeConverter) + "}";//返回json數據
            }
            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,totalCount:0,data:[]}";
            }
            this.Response.Clear();
            this.Response.Write(json);
            this.Response.End();
            return this.Response;
        }
Ejemplo n.º 2
0
        public HttpResponseBase update()
        {
            string path = Server.MapPath(xmlPath);
            SiteConfigMgr _siteConfigMgr = new SiteConfigMgr(path);
            SiteConfig Mail_From = _siteConfigMgr.GetConfigByName("Mail_From");
            SiteConfig Mail_Host = _siteConfigMgr.GetConfigByName("Mail_Host");
            SiteConfig Mail_Port = _siteConfigMgr.GetConfigByName("Mail_Port");
            SiteConfig Mail_UserName = _siteConfigMgr.GetConfigByName("Mail_UserName");
            SiteConfig Mail_UserPasswd = _siteConfigMgr.GetConfigByName("Mail_UserPasswd");
            string EmailFrom = Mail_From.Value;//發件人郵箱
            string SmtpHost = Mail_Host.Value;//smtp服务器
            string SmtpPort = Mail_Port.Value;//smtp服务器端口
            string EmailUserName = Mail_UserName.Value;//郵箱登陸名
            string EmailPassWord = Mail_UserPasswd.Value;//郵箱登陸密碼
            string jsonStr = String.Empty;
            int result = 0;
            ContactUsQuestion cusTion = new ContactUsQuestion();
            ContactUsResponse cusponse = new ContactUsResponse();
            SmsQuery smsquery = new SmsQuery();
            try
            {
                _ctactMgr = new ContactUsQuestionMgr(mySqlConnectionString);
                _ctactrsponseMgr = new ContactUsResponseMgr(mySqlConnectionString);
                if (!string.IsNullOrEmpty(Request.Params["question_id"]))
                {
                    cusTion.question_id = Convert.ToUInt32(Request.Params["question_id"]);
                    smsquery.serial_id = Convert.ToInt32(cusTion.question_id);
                }
                if (Convert.ToBoolean(Request.Params["state1"]) == true)
                {
                    cusTion.question_status = 1;//1表示已經回覆
                }
                else if (Convert.ToBoolean(Request.Params["state2"]) == true)
                {
                    cusTion.question_status = 1;//1表示已經回覆
                }
                else if (Convert.ToBoolean(Request.Params["state3"]) == true)
                {
                    cusTion.question_status = 2;//2表示已經回覆
                }
                string updatesql = _ctactMgr.UpdateSql(cusTion);
                string questiontime = string.Empty;
                if (!string.IsNullOrEmpty(Request.Params["question_createdate"]))
                {
                    questiontime = Request.Params["question_createdate"];//提問問題時間 
                }
                if (!string.IsNullOrEmpty(Request.Params["question_phone"]))
                {
                    smsquery.mobile = Request.Params["question_phone"];//提問者電話
                }
                if (!string.IsNullOrEmpty(Request.Params["question_content"]))
                {
                    cusTion.question_content = Request.Params["question_content"];//咨詢問題內容
                }
                if (!string.IsNullOrEmpty(Request.Params["question_username"]))
                {
                    cusTion.question_username = Request.Params["question_username"];//提問問題用戶名
                }
                cusponse.response_id = Convert.ToUInt32(_ctactrsponseMgr.GetMaxResponseId());
                if (!string.IsNullOrEmpty(Request.Params["question_id"]))
                {
                    cusponse.question_id = Convert.ToUInt32(Request.Params["question_id"]);//咨詢問題id
                }
                cusponse.user_id = Convert.ToUInt32((System.Web.HttpContext.Current.Session["caller"] as Caller).user_id);
                if (!string.IsNullOrEmpty(Request.Params["content_reply"]))
                {
                    cusponse.response_content = Request.Params["content_reply"].Replace("\\", "\\\\");
                    smsquery.content = Request.Params["content_reply"].ToString().Replace("\\", "\\\\");//保存sms表的數據

                }
                bool reply1 = false;
                bool reply2 = false;
                bool reply3 = false;
                if (!string.IsNullOrEmpty(Request.Params["reply1"]))
                {
                    reply1 = Convert.ToBoolean(Request.Params["reply1"]);
                }
                if (!string.IsNullOrEmpty(Request.Params["reply2"]))
                {
                    reply2 = Convert.ToBoolean(Request.Params["reply2"]);
                }
                if (!string.IsNullOrEmpty(Request.Params["reply3"]))
                {
                    reply3 = Convert.ToBoolean(Request.Params["reply3"]);
                }
                if (!string.IsNullOrEmpty(Request.Params["question_email"]))
                {
                    cusTion.question_email = Request.Params["question_email"].ToString().Trim();
                }
                cusponse.response_createdate = Convert.ToInt32(CommonFunction.GetPHPTime(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")));
                cusponse.response_ipfrom = CommonFunction.GetIP4Address(Request.UserHostAddress.ToString());
                if (cusTion.question_status != 2)
                {
                    //mh.SendToUser(Convert.ToInt32(cusponse.user_id),"郵箱標題","郵箱內容");//發送郵件
                    if (reply1 || !reply3 && !reply2 && !reply1)
                    {//當email被勾選
                        cusponse.response_type = 1;
                        _ctactrsponseMgr.Insert(updatesql, cusponse);
                        FileStream fs = new FileStream(Server.MapPath("../ImportUserIOExcel/ContactUsQuestionResponse.html"), FileMode.OpenOrCreate, FileAccess.Read);
                        StreamReader sr = new StreamReader(fs, Encoding.UTF8);
                        string strTemp = sr.ReadToEnd();
                        sr.Close();
                        fs.Close();
                        strTemp = strTemp.Replace("{{$s_datetime$}}", questiontime);
                        strTemp = strTemp.Replace("{{$s_username$}}", cusTion.question_username);
                        strTemp = strTemp.Replace("{{$consultInfo$}}", cusTion.question_content);
                        strTemp = strTemp.Replace("{{$consultAnwser$}}", cusponse.response_content.Replace("\\\\", "\\"));
                        sendmail(EmailFrom, FromName, cusTion.question_email, cusTion.question_username, EmailTile, strTemp, "", SmtpHost, Convert.ToInt32(SmtpPort), EmailUserName, EmailPassWord);
                    }
                    else if (reply2)
                    {//當簡訊被勾選
                        cusponse.response_id = Convert.ToUInt32(_ctactrsponseMgr.GetMaxResponseId());
                        smsquery.type = 10;//10表示聯絡客服列表保存過去的
                        smsquery.send = 0;
                        smsquery.trust_send = "8";
                        smsquery.created = DateTime.Now;
                        smsquery.modified = DateTime.Now;
                        cusponse.response_type = 2;
                        _ctactrsponseMgr.Insert(updatesql, cusponse);
                        _ISmsMgr = new SmsMgr(mySqlConnectionString);
                        _ISmsMgr.InsertSms(smsquery);
                    }
                    else if (reply3)
                    {//當電話被勾選
                        cusponse.response_id = Convert.ToUInt32(_ctactrsponseMgr.GetMaxResponseId());
                        cusponse.response_type = 3;
                        _ctactrsponseMgr.Insert(updatesql, cusponse);
                    }
                    //if (!reply3 && !reply2 && !reply1)
                    //{
                    //    cusponse.response_id = Convert.ToUInt32(_ctactrsponseMgr.GetMaxResponseId());
                    //    cusponse.response_type = 4;
                    //    _ctactrsponseMgr.Insert(updatesql, cusponse);
                    //}
                    jsonStr = "{success:true}";
                }
                else//等於2時,已處理,不操作其它
                {
                    cusponse.response_id = 4;
                    result = _ctactrsponseMgr.Insert(updatesql, cusponse);
                    if (result > 0)
                    {
                        jsonStr = "{success:true}";
                    }
                    else
                    {
                        jsonStr = "{success:false}";
                    }
                    DateTime today = DateTime.Now;
                    DateTime a = DateTime.Now.AddDays(-5);


                }

            }
            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;
        }