/// <summary>
 /// 编辑广告
 /// </summary>
 /// <param name="loginId">登录标识</param>
 /// <param name="info">广告</param>
 /// <returns>ResultDesc</returns>
 public ErrType EditAdvert(string loginId, AdvertInfo info)
 {
     try
     {
         Advert advert = new Advert();
         advert.ID = info.ID;
         advert.Creator = info.Creator;
         advert.Name = info.Name;
         advert.Remark = info.Remark;
         advert.Status = info.Status;
         advert.Url = info.Url;
         ResultDesc desc = ManagerService.EditAdvert(loginId, advert);
         if (desc.Result)
             return GeneralErr.Success;
         else
             return GeneralErr.Error;
     }
     catch (Exception e)
     {
         return GeneralErr.Error;
     }
 } 
        /// <summary>
        /// 添加广告
        /// </summary>
        private void AddAdvertExecute()
        {
            AdvertWindow window = new AdvertWindow()
            {
                DataContext = this,
                Creater = _accName,
                Owner = Application.Current.MainWindow,
            };
            string fullFilename = string.Empty;
            string fileName = string.Empty;
            window.OpenImage += () =>
            {
                OpenFileDialog dlg = new OpenFileDialog(); //定义一个打开文件对话框
                dlg.Multiselect = false; //指示用户不可以选择多个文件
                dlg.Filter = "JPG 图片 (*.jpg)|*.jpg|PNG 图片 (*.png)|*.png"; //指定用户只能上传jpg和png格式的图片
                bool? result = dlg.ShowDialog(); //打开对话框

                if (result != null && result == true) //如果单击了确定按钮并且选择了文件
                {
                    Stream inputStream = dlg.OpenFile();
                    BitmapImage image = new BitmapImage(); //image就是要预览的图片
                    fullFilename = dlg.FileName; //获得全路径文件名
                    fileName = dlg.SafeFileName;//文件名
                    //string extension = name.Substring(name.LastIndexOf('.'), name.Length - name.LastIndexOf('.')); //取得扩展名(包括“.”) 

                    //以流的形式初始化图片                                                                                                 
                    image.BeginInit();
                    image.StreamSource = inputStream;
                    image.EndInit();
                    window.ShowImage(image);
                }
            };
            if (window.ShowDialog() == true)
            {
                try
                {
                    string sUrl = ConnectConfigData.UpLoadImage;
                    HttpUploadFile(sUrl, fullFilename);
                }
                catch (Exception ex)
                {
                    MessageBox.Show("广告图片上传失败!", "提示信息");
                    return;
                }
                AdvertInfo info = new AdvertInfo();
                info.ID = Guid.NewGuid().ToString().Replace("-", "");
                info.Name = window.AdvertName;
                info.CreateDate = DateTime.Now;
                info.Creator = _accName;
                info.Remark = window.Remark;
                info.Status = window.State;
                info.Url = fileName;
                ErrType err = _businessService.AddAdvert(_loginID, info);
                if (err.Err == ERR.SUCCESS)
                {
                    MessageBox.Show("添加成功!", "提示信息", MessageBoxButton.OK, MessageBoxImage.Information);
                    return;
                }
                else
                {
                    MessageBox.Show(err.ErrMsg, err.ErrTitle, MessageBoxButton.OK, MessageBoxImage.Error);
                }
            }
        }
        /// <summary>
        /// 广告查询
        /// </summary>
        /// <param name="loginId"></param>
        /// <param name="sTime"></param>
        /// <param name="eTime"></param>
        /// <param name="Name"></param>
        /// <param name="Creater"></param>
        /// <param name="State"></param>
        /// <param name="list"></param>
        /// <param name="pageindex">第几页,从1开始</param>
        /// <param name="pagesize">每页多少条</param>
        /// <param name="page">输出参数(总页数)</param>
        /// <returns></returns>
        public ErrType GetAdvertInfoWithPage(string loginId, DateTime sTime, DateTime eTime, string Name, string Creater, int State,
            ref ObservableCollection<AdvertInfo> list, int pageindex, int pagesize, ref int page)
        {
            try
            {
                if (list == null)
                {
                    list = new ObservableCollection<AdvertInfo>();
                }
                list.Clear();
                AdvertLqc lqc = new AdvertLqc();
                lqc.Creator = Creater;
                lqc.EndTime = eTime;
                lqc.LoginID = loginId;
                lqc.Name = Name;
                lqc.StartTime = sTime;
                lqc.Status = State;

                AdvertListInfo rst = ManagerService.GetAdvertInfoWithPage(lqc, pageindex, pagesize, ref page);
                if (rst.Result == false)
                    return GeneralErr.Error;
                foreach (Advert ex in rst.AdvertList)
                {
                    AdvertInfo advert = new AdvertInfo();
                    advert.ID = ex.ID;
                    advert.Creator = ex.Creator;
                    advert.Name = ex.Name;
                    advert.Remark = ex.Remark;
                    advert.CreateDate = ex.CreateDate;
                    advert.Status = ex.Status;
                    advert.Url = ex.Url;
                    list.Add(advert);
                }
                return GeneralErr.Success;
            }
            catch (TimeoutException te)
            {
                FileLog.WriteLog("", Assembly.GetExecutingAssembly().GetName().Name, this.GetType().Name, new StackTrace().GetFrame(0).GetMethod().Name, te.Message); return new ErrType(ERR.EXEPTION, ErrorText.TimeoutException);
            }
            catch (Exception ex)
            {
                FileLog.WriteLog("", Assembly.GetExecutingAssembly().GetName().Name, this.GetType().Name, new StackTrace().GetFrame(0).GetMethod().Name, ex.Message);
                return new ErrType(ERR.EXEPTION, ErrorText.QueryError);
            }
        }