示例#1
0
        public static PostingDto UpdateStatus(RioDbContext dbContext, int postingID,
                                              PostingUpdateStatusDto postingUpdateStatusDto, int?availableQuantity)
        {
            var posting = dbContext.Posting
                          .Single(x => x.PostingID == postingID);

            posting.PostingStatusID = postingUpdateStatusDto.PostingStatusID;
            if (availableQuantity.HasValue)
            {
                posting.AvailableQuantity = availableQuantity.Value;
            }
            dbContext.SaveChanges();
            dbContext.Entry(posting).Reload();
            return(GetByPostingID(dbContext, postingID));
        }
示例#2
0
        public ActionResult <PostingDto> ClosePosting([FromRoute] int postingID, [FromBody] PostingUpdateStatusDto postingUpdateStatusDto)
        {
            if (!_allowTrading)
            {
                return(BadRequest());
            }

            var postingDto = Posting.GetByPostingID(_dbContext, postingID);

            if (ThrowNotFound(postingDto, "Posting", postingID, out var actionResult))
            {
                return(actionResult);
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var updatedPostingDto = Posting.UpdateStatus(_dbContext, postingID, postingUpdateStatusDto, null);

            return(Ok(updatedPostingDto));
        }