/// <summary> /// 得到一个对象实体 /// </summary> public AMS.Model.AMS_PlayList GetModel(string num) { StringBuilder strSql = new StringBuilder(); strSql.Append("select top 1 Id,Operator,Number,PlayListName,PlayList,ReleaseDate,EffectDate,EndDate,Describe from AMS_PlayList "); strSql.Append(" where Number=@Number"); SqlParameter[] parameters = { new SqlParameter("@Number", SqlDbType.NVarChar) }; parameters[0].Value = num; AMS.Model.AMS_PlayList model = new AMS.Model.AMS_PlayList(); DataSet ds = DbHelperSQL.Query(strSql.ToString(), parameters); if (ds.Tables[0].Rows.Count > 0) { if (ds.Tables[0].Rows[0]["Id"] != null && ds.Tables[0].Rows[0]["Id"].ToString() != "") { model.Id = int.Parse(ds.Tables[0].Rows[0]["Id"].ToString()); } if (ds.Tables[0].Rows[0]["Operator"] != null && ds.Tables[0].Rows[0]["Operator"].ToString() != "") { model.Operator = int.Parse(ds.Tables[0].Rows[0]["Operator"].ToString()); } if (ds.Tables[0].Rows[0]["Number"] != null && ds.Tables[0].Rows[0]["Number"].ToString() != "") { model.Number = ds.Tables[0].Rows[0]["Number"].ToString(); } if (ds.Tables[0].Rows[0]["PlayListName"] != null && ds.Tables[0].Rows[0]["PlayListName"].ToString() != "") { model.PlayListName = ds.Tables[0].Rows[0]["PlayListName"].ToString(); } if (ds.Tables[0].Rows[0]["PlayList"] != null && ds.Tables[0].Rows[0]["PlayList"].ToString() != "") { model.PlayList = ds.Tables[0].Rows[0]["PlayList"].ToString(); } if (ds.Tables[0].Rows[0]["ReleaseDate"] != null && ds.Tables[0].Rows[0]["ReleaseDate"].ToString() != "") { model.ReleaseDate = DateTime.Parse(ds.Tables[0].Rows[0]["ReleaseDate"].ToString()); } if (ds.Tables[0].Rows[0]["EffectDate"] != null && ds.Tables[0].Rows[0]["EffectDate"].ToString() != "") { model.EffectDate = DateTime.Parse(ds.Tables[0].Rows[0]["EffectDate"].ToString()); } if (ds.Tables[0].Rows[0]["EndDate"] != null && ds.Tables[0].Rows[0]["EndDate"].ToString() != "") { model.EndDate = DateTime.Parse(ds.Tables[0].Rows[0]["EndDate"].ToString()); } if (ds.Tables[0].Rows[0]["Describe"] != null && ds.Tables[0].Rows[0]["Describe"].ToString() != "") { model.Describe = ds.Tables[0].Rows[0]["Describe"].ToString(); } return(model); } else { return(null); } }
public ViewModelPlayListShow(AMS.Model.AMS_PlayList model) { ModelList = model; _StartTime = model.PlayFileList[0].PlayTime; _MediaFileCount = model.MediaFiles.Count; _PlayFileCount = model.PlayFileList.Count; _AllPlayTime = (DateTime.Parse("0:00:00").AddSeconds((DateTime.Parse(model.PlayFileList[model.PlayFileList.Count - 1].PlayTime) - DateTime.Parse(model.PlayFileList[0].PlayTime)).Seconds + model.PlayFileList[model.PlayFileList.Count - 1].SunTime)).ToLongTimeString(); for (int i = 0; i < model.MediaFiles.Count; i++) { _MediaFiles += model.MediaFiles[i].Name + " "; } }
/// <summary> /// 更新一条数据 /// </summary> public bool Update(AMS.Model.AMS_PlayList model) { StringBuilder strSql = new StringBuilder(); strSql.Append("update AMS_PlayList set "); strSql.Append("Operator=@Operator,"); strSql.Append("Number=@Number,"); strSql.Append("PlayListName=@PlayListName,"); strSql.Append("PlayList=@PlayList,"); strSql.Append("ReleaseDate=@ReleaseDate,"); strSql.Append("EffectDate=@EffectDate,"); strSql.Append("EndDate=@EndDate,"); strSql.Append("Describe=@Describe"); strSql.Append(" where Id=@Id"); SqlParameter[] parameters = { new SqlParameter("@Operator", SqlDbType.Int, 4), new SqlParameter("@Number", SqlDbType.NVarChar, 50), new SqlParameter("@PlayListName", 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("@Describe", SqlDbType.NVarChar, 200), new SqlParameter("@Id", SqlDbType.Int, 4) }; parameters[0].Value = model.Operator; parameters[1].Value = model.Number; parameters[2].Value = model.PlayListName; parameters[3].Value = model.PlayList; parameters[4].Value = model.ReleaseDate; parameters[5].Value = model.EffectDate; parameters[6].Value = model.EndDate; parameters[7].Value = model.Describe; parameters[8].Value = model.Id; int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters); if (rows > 0) { return(true); } else { return(false); } }
public string UpdatePlayList(Model.AMS_PlayList model) { try { AMS.Model.AMS_PlayList sameModel = dal_Playlist.GetModel(model.Number); if (sameModel != null && sameModel.Id != model.Id) { return("播放列表编号重复!"); } model.PlayList = Model.AMS_PlayList.ToXml(model); if (!dal_Playlist.Update(model)) { return("修改播放列表失败!"); } return(""); } catch (Exception ex) { return(ex.Message); } }
public string AddNewPlayList(Model.AMS_PlayList model) { try { AMS.Model.AMS_PlayList sameModel = dal_Playlist.GetModel(model.Number); if (sameModel != null) { return("播放列表编号重复!"); } model.PlayList = Model.AMS_PlayList.ToXml(model); if (dal_Playlist.Add(model) == 0) { return("添加播放列表失败!"); } return(""); } catch (Exception ex) { return(ex.Message); } }
/// <summary> /// 增加一条数据 /// </summary> public int Add(AMS.Model.AMS_PlayList model) { StringBuilder strSql = new StringBuilder(); strSql.Append("insert into AMS_PlayList("); strSql.Append("Operator,Number,PlayListName,PlayList,ReleaseDate,EffectDate,EndDate,Describe)"); strSql.Append(" values ("); strSql.Append("@Operator,@Number,@PlayListName,@PlayList,@ReleaseDate,@EffectDate,@EndDate,@Describe)"); strSql.Append(";select @@IDENTITY"); SqlParameter[] parameters = { new SqlParameter("@Operator", SqlDbType.Int, 4), new SqlParameter("@Number", SqlDbType.NVarChar, 50), new SqlParameter("@PlayListName", 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("@Describe", SqlDbType.NVarChar, 200) }; parameters[0].Value = model.Operator; parameters[1].Value = model.Number; parameters[2].Value = model.PlayListName; parameters[3].Value = model.PlayList; parameters[4].Value = model.ReleaseDate; parameters[5].Value = model.EffectDate; parameters[6].Value = model.EndDate; parameters[7].Value = model.Describe; object obj = DbHelperSQL.GetSingle(strSql.ToString(), parameters); if (obj == null) { return(0); } else { return(Convert.ToInt32(obj)); } }
/// <summary> /// 添加新的播放列表 /// </summary> /// <param name="model"></param> /// <returns></returns> public static string AddNewPlaylist(AMS.Model.AMS_PlayList model) { AMS.IBllService.IAdvertManageBllService bllService = AMS.ServiceConnectChannel.AdvertManageBllServiceChannel.CreateServiceChannel(); try { return(bllService.AddNewPlayList(model)); } catch (EndpointNotFoundException ex) { throw new AMS.Model.CustomerException("连接服务器失败"); } catch (CommunicationException ex) { throw ex; } catch (Exception ex) { throw ex; } finally { ICommunicationObject ICommObjectService = bllService as ICommunicationObject; try { if (ICommObjectService.State == CommunicationState.Faulted) { ICommObjectService.Abort(); } else { ICommObjectService.Close(); } } catch { ICommObjectService.Abort(); } } }
/// <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); AMS.Model.AMS_PlayList model = AMS.ServiceProxy.IPlayListService.GetPlayListByID(id); foreach (AMS.Model.AMS_VideoItem video in model.MediaFiles) { string fileFullName = string.Format(@"{0}{1}", ServiceSet.TempFilePath, video.ReRelativeUrl); //开始下载文件 if (!File.Exists(fileFullName)) { bool downloadResult = false; string error = advertfileOperate.FileDownLoad(fileFullName, video.ReRelativeUrl, SeatManage.EnumType.SeatManageSubsystem.MediaFiles); if (error == "") { downloadResult = true; } else { downloadResult = false; } if (!downloadResult) { //下载失败,直接返回false return(false); } } } foreach (AMS.Model.AMS_VideoItem video in model.MediaFiles) { string fileFullName = string.Format(@"{0}{1}", ServiceSet.TempFilePath, video.ReRelativeUrl); //文件下载完成,执行上传操作 bool uploadResult = seatmanagefileOperate.UpdateFile(fileFullName, video.ReRelativeUrl, SeatManage.EnumType.SeatManageSubsystem.MediaFiles); if (!uploadResult) { //上传失败,直接返回false,不再尝试其他操作 return(false); } } //判断播放列表是否存在 SeatManage.ClassModel.AMS_PlayListMd5 seatPlayList = SeatManage.Bll.AMS_PlayList.GetMd5PlayListByNum(model.Number); if (seatPlayList != null) { //播放列表存在,执行更新操作 SeatManage.ClassModel.AMS_PlayListMd5 playlist = SeatManage.ClassModel.AMS_PlayListMd5.Parse(model.ToXml()); seatPlayList.PlayListNo = model.Number; playlist.ReleaseDate = model.ReleaseDate; SeatManage.Bll.AMS_PlayList.UpdateMd5Playlist(playlist); //执行完成通知终端更新播放列表 List <SeatManage.ClassModel.TerminalInfoV2> terminalList = SeatManage.Bll.TerminalOperatorService.GetAllTeminalInfo(); foreach (SeatManage.ClassModel.TerminalInfoV2 terminal in terminalList) { terminal.IsUpdatePlayList = true; SeatManage.Bll.TerminalOperatorService.UpdateTeminalSetting(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 (AMS.Model.AMS_VideoItem video in model.MediaFiles) { string fileFullName = string.Format(@"{0}{1}", ServiceSet.TempFilePath, video.ReRelativeUrl); if (File.Exists(fileFullName)) { File.Delete(fileFullName); } } return(true); } catch (Exception ex) { throw ex; } }