コード例 #1
0
        public async Task <HoldingDTO> PutHolding(HoldingDTO holdingDTO)
        {
            var currentHolding = await _context.Holdings.FindAsync(holdingDTO.Id);

            if (currentHolding == null)
            {
                return(new HoldingDTO {
                    Message = "Holding not found"
                });
            }

            currentHolding.Name = holdingDTO.Name ?? currentHolding.Name;

            var success = await _context.SaveChangesAsync() > 0;

            if (success)
            {
                return(_mapper.Map <Holding, HoldingDTO>(currentHolding));
            }
            else
            {
                return new HoldingDTO {
                           Message = "Error updating holding"
                }
            };
        }
コード例 #2
0
        public async Task <HoldingDTO> PostHolding(HoldingDTO holdingDTO)
        {
            var user = await _context.Users.SingleOrDefaultAsync(x => x.UserName == _usersApp.GetCurrentUsername());

            var holding = new Holding
            {
                Id   = holdingDTO.Id,
                Name = holdingDTO.Name,
                User = user
            };

            _context.Holdings.Add(holding);


            var success = await _context.SaveChangesAsync() > 0;

            if (success)
            {
                return(_mapper.Map <Holding, HoldingDTO>(holding));
            }
            else
            {
                return(null);
            }
        }
コード例 #3
0
        public async Task <ActionResult> Put(Guid id, HoldingDTO holdingDTO)
        {
            holdingDTO.Id = id;
            var updatedHoldingDTO = await _holdingsApp.PutHolding(holdingDTO);

            if (updatedHoldingDTO.Message != null)
            {
                return(BadRequest(updatedHoldingDTO.Message));
            }

            return(Ok(updatedHoldingDTO));
        }
コード例 #4
0
        public async Task <ActionResult> Post(HoldingDTO holdingDTO)
        {
            var createdHoldingDTO = await _holdingsApp.PostHolding(holdingDTO);

            if (createdHoldingDTO == null)
            {
                return(BadRequest("Error creating new holding"));
            }
            else
            {
                return(CreatedAtAction(nameof(Get), new { id = createdHoldingDTO.Id }, createdHoldingDTO));
            }
        }