public HttpResponseBase SaveDeliverExportArrivalInfo()
        {
            string json = string.Empty;
            //DeliverChangeLog dCL = new DeliverChangeLog();
            //DeliverMasterQuery dmQuery = new DeliverMasterQuery();
            _DeliverChangeLogMgr = new DeliverChangeLogMgr(mySqlConnectionString);
            //_DeliverMsterMgr = new DeliverMasterMgr(mySqlConnectionString);
            try
            {
                                             
                //dCL.deliver_id = Convert.ToInt32(Request.Params["deliver_id"]);                            
                //dCL.dcl_create_datetime = DateTime.Now;
                //dCL.dcl_ipfrom = CommonFunction.GetIP4Address(Request.UserHostAddress.ToString());
                //dCL.dcl_create_muser = (System.Web.HttpContext.Current.Session["caller"] as Caller).user_id;
                //dCL.dcl_create_user = 0;
                //dCL.dcl_create_type = 2;
                //dmQuery.deliver_id = Convert.ToUInt32(Request.Params["deliver_id"]); 
    
                //if (!string.IsNullOrEmpty(Request.Params["dcl_note"]))
                //{
                //    dCL.dcl_note = Request.Params["dcl_note"]; 
                //}
                //if (!string.IsNullOrEmpty(Request.Params["expect_arrive_date"]))
                //{
                //    dCL.expect_arrive_date = Convert.ToDateTime(Request.Params["expect_arrive_date"]);
                //    dmQuery.expect_arrive_date = Convert.ToDateTime(Request.Params["expect_arrive_date"]);
                //}
                //if (!string.IsNullOrEmpty(Request.Params["expect_arrive_period"]))
                //{
                //    dCL.expect_arrive_period = Convert.ToInt32(Request.Params["expect_arrive_period"]);
                //    dmQuery.expect_arrive_period = Convert.ToInt32(Request.Params["expect_arrive_period"]);
                //}


                ModifyExpertArriveDateViewModel expertArriveDateViewModel = new ModifyExpertArriveDateViewModel();
                expertArriveDateViewModel.deliver_id = Convert.ToInt32(Request.Params["deliver_id"]);
                if (!string.IsNullOrEmpty(Request.Params["expect_arrive_date"]))
                {
                    expertArriveDateViewModel.newDate = Convert.ToDateTime(Request.Params["expect_arrive_date"]);
                }
                if (!string.IsNullOrEmpty(Request.Params["expect_arrive_period"]))
                {
                    string period_num = Request.Params["expect_arrive_period"];

                    switch (period_num)
                    {
                        case "0": 
                            expertArriveDateViewModel.period = ExpectArrivePeriod.NoLimit;
                            break;
                        case "1":
                            expertArriveDateViewModel.period = ExpectArrivePeriod.Morning;
                            break;
                        case "2":
                            expertArriveDateViewModel.period = ExpectArrivePeriod.Afternoon;
                            break;
                        case "3":
                            expertArriveDateViewModel.period = ExpectArrivePeriod.Evening;
                            break;
                    }               
                }
                if (!string.IsNullOrEmpty(Request.Params["dcl_note"]))
                {
                    expertArriveDateViewModel.note = Request.Params["dcl_note"];
                }
                else
                {
                    expertArriveDateViewModel.note = " ";
                }

                string xmlPath = ConfigurationManager.AppSettings["SiteConfig"];//XML的設置
                string path = Server.MapPath(xmlPath);
                SiteConfigMgr _siteConfigMgr = new SiteConfigMgr(path);
                string APIServer = _siteConfigMgr.GetConfigByName("APIServer").Value;
                //修改期望到貨日
                bool result = _DeliverChangeLogMgr.ModifyExpertArriveDate(APIServer, expertArriveDateViewModel);

                if (result)
                {
                    json = "{success:true,msg:'保存成功'}";//
                }
                else
                {
                    json = "{success:false,msg:'保存失敗'}";//
                }
                
                ////更新deliver_mater表的 期望到貨日期、時段
                //int result1 = _DeliverMsterMgr.UpdateExpectArrive(dmQuery);
                ////向deliver_change_log表插入數據
                //int result2 = _DeliverChangeLogMgr.insertDeliverChangeLog(dCL);

                //if (result1 > 0)
                //{
                //    if (result2 > 0)
                //    {
                //        json = "{success:true,msg:'保存成功'}";//
                //    }
                //    else
                //    {
                //        json = "{success:true,msg:'deliver_mster表數據更新成功,<br/>deliver_change_log表數據添加失敗'}";
                //    }
                //}
                //else
                //{
                //    if (result2 > 0)
                //    {
                //        json = "{success:true,msg: 'deliver_mster表數據更新失敗,<br/>deliver_change_log數據添加成功'}";
                //    }
                //    else
                //    {
                //        json = "{success:true,msg:'deliver_mster表數據更新失敗,<br/>deliver_change_log表數據添加失敗'}";
                //    }
                //}                
            }
            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,msg:'保存失敗'}";
            }
            this.Response.Clear();
            this.Response.Write(json);
            this.Response.End();
            return this.Response;
        }
        /// <summary>
        /// 期望到货日调整记录
        /// </summary>
        /// <returns></returns>
        // by zhaozhi0623j add at 20151112
        public HttpResponseBase GetDeliveryChangeLogList()
        {
            string json = string.Empty;
            DeliverChangeLogQuery dclQuery = new DeliverChangeLogQuery();
            _DeliverChangeLogMgr = new DeliverChangeLogMgr(mySqlConnectionString);
            List<DeliverChangeLogQuery> dclList = new List<DeliverChangeLogQuery>();
            try
            {
                dclQuery.Start = Convert.ToInt32(Request.Params["start"] ?? "0");//用於分頁的變量
                dclQuery.Limit = Convert.ToInt32(Request.Params["limit"] ?? "25");//用於分頁的變量

                #region 查詢條件

                if (!string.IsNullOrEmpty(Request.Params["deliver_id"]))//出貨單單號
                {
                    dclQuery.deliver_id = Convert.ToInt32(Request.Params["deliver_id"]);
                }
                if (Request.Params["dcl_create_type"] != "-1")//創建類型1:前台創建 2:後台創建
                {
                    dclQuery.dcl_create_type = Convert.ToInt32(Request.Params["dcl_create_type"]);
                }               
                if (!string.IsNullOrEmpty(Request.Params["userName_ro_email"]))//出貨單記錄調整人員
                {
                    if (Request.Params["query_type"] == "1")
                    {
                        dclQuery.dcl_user_name = Request.Params["userName_ro_email"];
                    }
                    if (Request.Params["query_type"] == "2")
                    {
                        dclQuery.dcl_user_email = Request.Params["userName_ro_email"];
                    }                  
                }

                if (!string.IsNullOrEmpty(Request.Params["time_start"]))//dcl_create_datetime
                {
                    dclQuery.time_start = Convert.ToDateTime(Convert.ToDateTime(Request.Params["time_start"]).ToString("yyyy-MM-dd HH:mm:ss"));
                }
                if (!string.IsNullOrEmpty(Request.Params["time_end"]))
                {
                    dclQuery.time_end = Convert.ToDateTime(Convert.ToDateTime(Request.Params["time_end"]).ToString("yyyy-MM-dd HH:mm:ss"));
                }
                #endregion

                int totalCount = 0;
                dclList = _DeliverChangeLogMgr.GetDeliverChangeLogList(dclQuery, out totalCount);
                //foreach (var item in dclList)
                //{
                //  
                //}

                IsoDateTimeConverter timeConverter = new IsoDateTimeConverter();
                //这里使用自定义日期格式,如果不使用的话,默认是ISO8601格式                   
                timeConverter.DateTimeFormat = "yyyy-MM-dd HH:mm:ss";
                json = "{success:true,totalCount:" + totalCount + ",data:" + JsonConvert.SerializeObject(dclList, Formatting.Indented, timeConverter) + "}";
            }
            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 HttpResponseBase isCanModifyExpectArriveDate(string deliverId)
  {
      int deliver_id = Convert.ToInt32(Request.Params["deliver_id"]);
      string json = string.Empty;
 
      try
      {
          string xmlPath = ConfigurationManager.AppSettings["SiteConfig"];//XML的設置
          string path = Server.MapPath(xmlPath);
          SiteConfigMgr _siteConfigMgr = new SiteConfigMgr(path);
          _DeliverChangeLogMgr = new DeliverChangeLogMgr(mySqlConnectionString);
          string APIServer = _siteConfigMgr.GetConfigByName("APIServer").Value;
          bool isCanModify = _DeliverChangeLogMgr.isCanModifyExpertArriveDate(APIServer, deliver_id);
          if (isCanModify)//可以修改
          {
              json = "{success:true,msg:'1'}";
          }
          else 
          {
              json = "{success:true,msg:'0'}";
          }
      }
      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,msg:'請求失敗'}";
      }
      this.Response.Clear();
      this.Response.Write(json);
      this.Response.End();
      return this.Response;      
  }