/// <summary> /// 增加一条包含MD5的数据 /// </summary> public bool AddMd5(SeatManage.ClassModel.AMS_PlayListMd5 model) { StringBuilder strSql = new StringBuilder(); strSql.Append("insert into AMS_PlayList("); strSql.Append("Number,CampusNum,PlayList,ReleaseDate,EffectDate,EndDate)"); strSql.Append(" values ("); strSql.Append("@Number,@CampusNum,@PlayList,@ReleaseDate,@EffectDate,@EndDate)"); SqlParameter[] parameters = { new SqlParameter("@Number", SqlDbType.NVarChar, 50), new SqlParameter("@CampusNum", SqlDbType.NVarChar, 50), new SqlParameter("@PlayList", SqlDbType.Text), new SqlParameter("@ReleaseDate", SqlDbType.DateTime), new SqlParameter("@EffectDate", SqlDbType.DateTime), new SqlParameter("@EndDate", SqlDbType.DateTime) }; parameters[0].Value = model.PlayListNo; parameters[1].Value = ""; parameters[2].Value = model.ToXml(); parameters[3].Value = model.ReleaseDate.Value; parameters[4].Value = model.EffectDate; parameters[5].Value = model.EndDate; int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters); if (rows > 0) { return(true); } else { return(false); } }
/// <summary> /// 删除Md5播放列表 /// </summary> /// <param name="model"></param> /// <returns></returns> public SeatManage.EnumType.HandleResult DeleteMd5Playlist(SeatManage.ClassModel.AMS_PlayListMd5 model) { if (playlistDal.Delete(model.PlayListNo)) { return(SeatManage.EnumType.HandleResult.Successed); } else { return(SeatManage.EnumType.HandleResult.Failed); } }
/// <summary> ///删除Md5播放列表 /// </summary> /// <param name="model"></param> /// <returns></returns> public static EnumType.HandleResult DeleteMd5Playlist(SeatManage.ClassModel.AMS_PlayListMd5 model) { IWCFService.ISeatManageService seatService = new WcfServiceForSeatManage.SeatManageDateService(); bool error = false; try { return(seatService.DeleteMd5Playlist(model)); } catch (Exception ex) { error = true; SeatManageComm.WriteLog.Write("删除播放列表失败:" + ex.Message); return(EnumType.HandleResult.Failed); } }
/// <summary> /// 更新一条包含MD5的数据 /// </summary> public bool UpdateMd5(SeatManage.ClassModel.AMS_PlayListMd5 model) { StringBuilder strSql = new StringBuilder(); strSql.Append("update AMS_PlayList set "); strSql.Append("CampusNum=@CampusNum,"); strSql.Append("PlayList=@PlayList,"); strSql.Append("ReleaseDate=@ReleaseDate,"); strSql.Append("EffectDate=@EffectDate,"); strSql.Append("EndDate=@EndDate"); strSql.Append(" where Number=@Number "); SqlParameter[] parameters = { new SqlParameter("@CampusNum", SqlDbType.NVarChar, 50), new SqlParameter("@PlayList", SqlDbType.Text), new SqlParameter("@ReleaseDate", SqlDbType.DateTime), new SqlParameter("@EffectDate", SqlDbType.DateTime), new SqlParameter("@EndDate", SqlDbType.DateTime), new SqlParameter("@Number", SqlDbType.NVarChar, 50) }; parameters[0].Value = ""; parameters[1].Value = model.ToXml(); if (model.ReleaseDate.HasValue) { parameters[2].Value = model.ReleaseDate.Value; } else { parameters[2].Value = DateTime.Parse("1900-1-1"); } parameters[3].Value = model.EffectDate; parameters[4].Value = model.EndDate; parameters[5].Value = model.PlayListNo; int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters); if (rows > 0) { return(true); } else { return(false); } }
/// <summary> ///删除Md5播放列表 /// </summary> /// <param name="model"></param> /// <returns></returns> public static EnumType.HandleResult DeleteMd5Playlist(SeatManage.ClassModel.AMS_PlayListMd5 model) { IWCFService.ISeatManageService seatService = WcfAccessProxy.ServiceProxy.CreateChannelSeatManageService(); bool error = false; try { return(seatService.DeleteMd5Playlist(model)); } catch (Exception ex) { error = true; SeatManageComm.WriteLog.Write("删除播放列表失败:" + ex.Message); return(EnumType.HandleResult.Failed); } finally { if (!error) { (seatService as IDisposable).Dispose(); } } }
/// <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; } }