/// <summary> /// /// </summary> /// <param name="team"></param> /// <returns></returns> public OperationResult <ModelPlaylist> Update(ModelPlaylist p) { OperationResult <ModelPlaylist> res; try { var entity = DataContext .Playlists .Include(x => x.Items) .FirstOrDefault(x => x.Id == p.Id); if (null == entity) { return(OperationResult <ModelPlaylist> .Create(ErrorCode.BadGetPlaylist)); } entity.Update(p); DataContext.SaveChanges(); var model = entity.ToModel(); res = OperationResult <ModelPlaylist> .Create(model); } catch (Exception e) { res = OperationResult <ModelPlaylist> .Create(ErrorCode.BadUpdatePlaylist, e); } return(res); }
/// <summary> /// /// </summary> /// <param name="p"></param> public void Update(ModelPlaylist p) { Name = p.Name; Interval = p.Interval; Items = p.ToEntity().Items; }
/// <summary> /// /// </summary> /// <param name="op"></param> /// <returns></returns> private object ToGetPlaylistShortReply(ModelPlaylist x) { return(new { x.Id, x.Name, x.Interval }); }
/// <summary> /// /// </summary> /// <param name="op"></param> /// <returns></returns> private object ToGetPlaylistItemsReply(ModelPlaylist p) { return(p .Items .Select(x => new { x.Id, PlaylistId = p.Id, Type = (x.Type == Playlists.PlaylistItemType.DashboardById) ? PlaylistRequest.TYPE_BY_ID : PlaylistRequest.TYPE_BY_TAG, x.Value, x.Order, x.Title })); }
/// <summary> /// /// </summary> /// <param name="team"></param> /// <returns></returns> public OperationResult <ModelPlaylist> Create(ModelPlaylist p) { OperationResult <ModelPlaylist> res; try { var entity = p.ToEntity(); DataContext.Add(entity); DataContext.SaveChanges(); var model = entity.ToModel(); p.Id = entity.Id; res = OperationResult <ModelPlaylist> .Create(model); } catch (Exception e) { res = OperationResult <ModelPlaylist> .Create(ErrorCode.BadCreatePlaylist, e); } return(res); }
/// <summary> /// /// </summary> /// <param name="team"></param> /// <returns></returns> public static EntityPlaylist ToEntity(this ModelPlaylist p) { var entity = new EntityPlaylist() { Id = p.Id, OrgId = p.OrgId, Name = p.Name, Interval = p.Interval, Items = p .Items .Select(x => new PlaylistItem() { Id = x.Id, Order = x.Order, Title = x.Title, PlaylistId = p.Id, Type = x.Type, Value = x.Value }) .ToList() }; return(entity); }