public async Task <ActionResult <MediaPost> > PostMediaPost(MediaPost mediaPost)
        {
            _context.MediaPost.Add(mediaPost);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetMediaPost", new { id = mediaPost.PostId }, mediaPost));
        }
 private static void MapUpdatedValues(MediaPost existingMediaPost, MediaPost updatedMediaPost)
 {
     existingMediaPost.Subject     = updatedMediaPost.Subject;
     existingMediaPost.Description = updatedMediaPost.Description;
     existingMediaPost.ImageUrls   = updatedMediaPost.ImageUrls;
     existingMediaPost.VideoUrl    = updatedMediaPost.VideoUrl;
 }
        public async Task <IActionResult> PutMediaPost(int id, MediaPost mediaPost)
        {
            if (id != mediaPost.PostId)
            {
                return(BadRequest());
            }

            _context.Entry(mediaPost).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!MediaPostExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
        public async Task <MediaPost> Create(MediaPost newMediaPost)
        {
            await _mediaPosts.AddAsync(newMediaPost);

            await _context.SaveChangesAsync();

            return(newMediaPost);
        }
示例#5
0
        public IRequisiteCmd GetMethod()
        {
            string bodyJson = body != null?body.ToString() : null;

            IRequisiteCmd requisiteCmd = null;

            switch (operationTable)
            {
            case OperateTable.PagePost:
                var page = new Page();
                try
                {
                    page = JsonHelper.JsonDeserilize <Page>(bodyJson);
                }
                catch (Exception e) { }
                PagePost pagePost = new PagePost(page, Db);
                requisiteCmd = pagePost as IRequisiteCmd;
                break;

            case OperateTable.NewsItemPost:
                var newsItem = new NewsItem();
                try
                {
                    newsItem = JsonHelper.JsonDeserilize <NewsItem>(bodyJson);
                }
                catch (Exception e) { }
                NewsItemPost newsItemPost = new NewsItemPost(newsItem, Db);
                requisiteCmd = newsItemPost as IRequisiteCmd;
                break;

            case OperateTable.NewsDetailPost:
                var newsDetail = new NewsDetail();
                try
                {
                    newsDetail = JsonHelper.JsonDeserilize <NewsDetail>(bodyJson);
                }
                catch (Exception e) { }
                NewsDetailPost newsDetailPost = new NewsDetailPost(newsDetail, Db);
                requisiteCmd = newsDetailPost as IRequisiteCmd;
                break;

            case OperateTable.MediaPost:
                var media = new Media();
                try
                {
                    media = JsonHelper.JsonDeserilize <Media>(bodyJson);
                }
                catch (Exception e) { }
                MediaPost mediaPost = new MediaPost(media, Db);
                requisiteCmd = mediaPost as IRequisiteCmd;
                break;

            default:
                break;
            }
            return(requisiteCmd);
        }
        public async Task <MediaPost> Update(MediaPost updatedMediaPost)
        {
            var existingMediaPost = _mediaPosts.FirstOrDefault(c => c.Id == updatedMediaPost.Id);

            _mediaPosts.Update(existingMediaPost);
            MapUpdatedValues(existingMediaPost, updatedMediaPost);

            await _context.SaveChangesAsync();

            return(existingMediaPost);
        }
示例#7
0
        private async Task <bool> PostMediaAsync(InstaMedia media, string caption)
        {
            MediaPost mediaPost = GetMediaPost(media);

            InstaImage[] instaImages = LoadImagesAsync(mediaPost.URICollection);

            bool postResult = await UploadPostAsync(instaImages, caption);

            //TODO delete all loaded images

            return(postResult);
        }
示例#8
0
        private MediaPost GetMediaPost(InstaMedia media)
        {
            MediaPost mediaPost = new MediaPost();

            if (media.IsMultiPost)
            {
                mediaPost.URICollection = media.Carousel.Select(x => x.Images?.FirstOrDefault()?.URI).ToList();
            }
            else
            {
                mediaPost.URICollection = new[] { media.Images.FirstOrDefault()?.URI };
            }

            return(mediaPost);
        }
        public async Task <IActionResult> Post([FromBody] MediaPost value)
        {
            var applicationUser = await _userManager.GetUserAsync(HttpContext.User);

            if (applicationUser == null)
            {
                return(Unauthorized());
            }
            var user = _userService.GetUserById(applicationUser.Id);

            value.PostAuthor   = user;
            value.CreationTime = DateTime.Now;
            var mediaPost = await _service.Create(value);

            return(Ok(mediaPost));
        }
        public async Task <IActionResult> Update([FromBody] MediaPost mediaPost)
        {
            var updatedMediaPost = await _service.Update(mediaPost);

            return(Ok(updatedMediaPost));
        }
示例#11
0
        public async Task <MediaPost> Update(MediaPost mediaPost)
        {
            var updatedMediaPost = await _repository.Update(mediaPost);

            return(updatedMediaPost);
        }
示例#12
0
        public async Task <MediaPost> Create(MediaPost mediaPost)
        {
            var newMediaPost = await _repository.Create(mediaPost);

            return(newMediaPost);
        }