Пример #1
0
 /// <summary>
 /// 更新一条包含MD5校验值的播放列表
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 public Model.Enum.HandleResult UpdateMd5PlayList(Model.AMS_PlayListMd5Model model)
 {
     try
     {
         if (playListDal.UpdateMd5(model))
         {
             return(Model.Enum.HandleResult.Successed);
         }
         else
         {
             return(Model.Enum.HandleResult.Failed);
         }
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Пример #2
0
        /// <summary>
        /// 根据编号获取Md5播放列表
        /// </summary>
        /// <param name="number"></param>
        /// <returns></returns>
        public Model.AMS_PlayListMd5Model GetMd5PlaylistByNum(string number)
        {
            StringBuilder strWhere = new StringBuilder();

            strWhere.AppendFormat(" Number='{0}'", number);
            try
            {
                DataSet ds = playListDal.GetList(strWhere.ToString(), null);
                if (ds.Tables[0].Rows.Count > 0)
                {
                    AdvertManage.Model.AMS_PlayListMd5Model model = new Model.AMS_PlayListMd5Model();
                    model    = AdvertManage.Model.AMS_PlayListMd5Model.Parse(ds.Tables[0].Rows[0]["PlayList"].ToString());
                    model.Id = ds.Tables[0].Rows[0]["id"].ToString();
                    return(model);
                }
                return(null);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Пример #3
0
        /// <summary>
        /// 根据Id获取Md5播放列表
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public AdvertManage.Model.AMS_PlayListMd5Model GetMD5PlaylistById(int id)
        {
            StringBuilder strWhere = new StringBuilder();

            strWhere.AppendFormat(" Id={0}", id);
            try
            {
                DataSet ds = playListDal.GetList(strWhere.ToString(), null);
                if (ds.Tables[0].Rows.Count > 0)
                {
                    AdvertManage.Model.AMS_PlayListMd5Model model = new Model.AMS_PlayListMd5Model();
                    model             = AdvertManage.Model.AMS_PlayListMd5Model.Parse(ds.Tables[0].Rows[0]["PlayList"].ToString());
                    model.Id          = ds.Tables[0].Rows[0]["id"].ToString();
                    model.ReleaseDate = DateTime.Parse(ds.Tables[0].Rows[0]["ReleaseDate"].ToString());
                    return(model);
                }
                return(null);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Пример #4
0
        /// <summary>
        /// 获取播放列表,下载列表中的文件,并执行上传。
        /// 往数据库中添加,如果已存在,则执行更新
        ///
        ///  开始下载文件之前先判断文件在缓存中是否存在,已经存在则跳过,不再下载。
        ///  下载中某个文件下载错误,则返回下载失败的信息。
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public static bool GetPlaylist(int id)
        {
            try
            {
                FileOperate advertfileOperate = new FileOperate();
                SeatManage.Bll.FileOperate seatmanagefileOperate = new SeatManage.Bll.FileOperate();
                seatmanagefileOperate.Downloaded += new SeatManage.Bll.EventHandleFileTransport(seatmanagefileOperate_Downloaded);
                advertfileOperate.DownloadError  += new EventHandleFileOperateError(fileOperate_DownloadError);
                Model.AMS_PlayListMd5Model model = AdvertManage.BLL.AMS_PlayListBLL.GetMd5PlaylistById(id);

                foreach (Model.AMS_VideoMd5Item video in model.VideoFiles)
                {
                    string fileFullName = string.Format(@"{0}{1}", ServiceSet.TempFilePath, video.RelativeUrl);
                    //开始下载文件
                    if (!File.Exists(fileFullName))
                    {
                        bool downloadResult = advertfileOperate.FileDownLoad(fileFullName, video.RelativeUrl, SeatManage.EnumType.SeatManageSubsystem.MediaFiles);
                        if (!downloadResult)
                        {
                            //下载失败,直接返回false
                            return(false);
                        }
                    }
                }

                foreach (Model.AMS_VideoMd5Item video in model.VideoFiles)
                {
                    string fileFullName = string.Format(@"{0}{1}", ServiceSet.TempFilePath, video.RelativeUrl);
                    //文件下载完成,执行上传操作
                    bool uploadResult = seatmanagefileOperate.UpdateFile(fileFullName, video.RelativeUrl, SeatManage.EnumType.SeatManageSubsystem.MediaFiles);
                    if (!uploadResult)
                    {
                        //上传失败,直接返回false,不再尝试其他操作
                        return(false);
                    }
                }

                //判断播放列表是否存在
                SeatManage.ClassModel.AMS_PlayListMd5 seatPlayList = SeatManage.Bll.AMS_PlayList.GetMd5PlayListByNum(model.PlayListNo);
                if (seatPlayList != null)
                {
                    //播放列表存在,执行更新操作
                    SeatManage.ClassModel.AMS_PlayListMd5 playlist = SeatManage.ClassModel.AMS_PlayListMd5.Parse(model.ToXml());
                    seatPlayList.PlayListNo = model.PlayListNo;
                    playlist.ReleaseDate    = model.ReleaseDate;
                    SeatManage.Bll.AMS_PlayList.UpdateMd5Playlist(playlist);
                    //执行完成通知终端更新播放列表
                    List <SeatManage.ClassModel.TerminalInfo> terminalList = SeatManage.Bll.ClientConfigOperate.GetTerminalsInfo();
                    foreach (SeatManage.ClassModel.TerminalInfo terminal in terminalList)
                    {
                        terminal.IsUpdatePlayList = true;
                        SeatManage.Bll.ClientConfigOperate.UpdateTerminal(terminal);
                    }
                }
                else
                {
                    SeatManage.ClassModel.AMS_PlayListMd5 playlist = SeatManage.ClassModel.AMS_PlayListMd5.Parse(model.ToXml());
                    playlist.ReleaseDate = model.ReleaseDate;
                    SeatManage.Bll.AMS_PlayList.AddMd5Playlist(playlist);
                }
                foreach (Model.AMS_VideoMd5Item video in model.VideoFiles)
                {
                    string fileFullName = string.Format(@"{0}{1}", ServiceSet.TempFilePath, video.RelativeUrl);
                    if (File.Exists(fileFullName))
                    {
                        File.Delete(fileFullName);
                    }
                }
                return(true);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }