示例#1
0
        //UPDATE
        public string UpdateMedia(MediaUpdate media)
        {
            using (var ctx = new ApplicationDbContext())
            {
                if (ctx.Media.Count(e => e.MediaId == media.MediaId) == 0)
                {
                    return($"Media ID {media.MediaId} NOT found in table");
                }
                var entity = ctx.Media.Single(e => e.MediaId == media.MediaId && e.AddedBy == _userId);
                entity.MediaId     = media.MediaId;
                entity.Name        = media.Title;
                entity.MediaType   = media.MediaType;
                entity.Description = media.Description;
                entity.AddedBy     = media.AddedBy;
                //entity.ModifiedUtc = DateTimeOffset.UtcNow;

                return(ctx.SaveChanges() == 1 ? null : "Media was not updated");
            }
        }
示例#2
0
        public IHttpActionResult Update(MediaUpdate media)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            if (media == null)
            {
                return(BadRequest("Must not be null"));
            }

            var service = CreateMediaService();

            string updateMessage = service.UpdateMedia(media);

            if (updateMessage == null)
            {
                return(Ok(media));
            }

            return(BadRequest(updateMessage));
        }
        public async Task <IActionResult> PutById(int id, [FromBody] MediaArgs args)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (!_entityIndex.Exists(ResourceType.Media, id))
            {
                return(NotFound());
            }

            if (!UserPermissions.IsAllowedToEdit(User.Identity, args.Status, _entityIndex.Owner(ResourceType.Media, id)))
            {
                return(Forbid());
            }

            var oldStatus = _entityIndex.Status(ResourceType.Media, id).GetValueOrDefault();

            if (args.Status == ContentStatus.Unpublished && oldStatus != ContentStatus.Published)
            {
                return(BadRequest(ErrorMessages.CannotBeUnpublished(ResourceType.Media)));
            }

            var ev = new MediaUpdate
            {
                Id         = id,
                UserId     = User.Identity.GetUserIdentity(),
                Properties = args,
                Timestamp  = DateTimeOffset.Now,
            };

            await _eventStore.AppendEventAsync(ev);

            return(StatusCode(204));
        }