コード例 #1
0
        public async Task <IActionResult> Create([FromBody] ShippingResource shippingResource)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var shipping = _mapper.Map <ShippingResource, Shipping>(shippingResource);

            await _unitOfWork.ShippingRepository.AddAsync(shipping);

            // if something happens and the new item can not be saved, return the error
            if (!await _unitOfWork.CompleteAsync())
            {
                _logger.LogMessage(LoggingEvents.SavedFail, ApplicationConstants.ControllerName.Shipping, shipping.Id);
                return(FailedToSave(shipping.Id));
            }

            shipping = await _unitOfWork.ShippingRepository.GetShipping(shipping.Id);

            var result = _mapper.Map <Shipping, ShippingResource>(shipping);

            _logger.LogMessage(LoggingEvents.Created, ApplicationConstants.ControllerName.Shipping, shipping.Id);
            return(CreatedAtRoute(ApplicationConstants.ControllerName.Shipping, new { id = shipping.Id }, result));
        }
コード例 #2
0
        public async Task <IActionResult> CreateShipping([FromBody] ShippingResource shippingResource)
        {
            var shipping = mapper.Map <ShippingResource, Shipping>(shippingResource);

            repository.AddShipping(shipping);
            await unitOfWork.CompleteAsync();

            shipping = await repository.GetShippingById(shipping.Id);

            var result = mapper.Map <Shipping, ShippingResource>(shipping);

            return(Ok(result));
        }
コード例 #3
0
        public async Task <IActionResult> Update(string id, [FromBody] ShippingResource shippingResource)
        {
            bool isValid = Guid.TryParse(id, out var shippingId);

            if (!isValid)
            {
                return(InvalidId(id));
            }

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

            var shipping = await _unitOfWork.ShippingRepository.GetShipping(shippingId);

            if (shipping == null)
            {
                return(NullOrEmpty());
            }

            _mapper.Map(shippingResource, shipping);

            if (!await _unitOfWork.CompleteAsync())
            {
                _logger.LogMessage(LoggingEvents.SavedFail, ApplicationConstants.ControllerName.Shipping, shipping.Id);
                return(FailedToSave(shipping.Id));
            }

            shipping = await _unitOfWork.ShippingRepository.GetShipping(shipping.Id);

            var result = _mapper.Map <Shipping, ShippingResource>(shipping);

            _logger.LogMessage(LoggingEvents.Updated, ApplicationConstants.ControllerName.Shipping, shipping.Id);
            return(Ok(result));
        }