示例#1
0
        public async Task <IActionResult> UpdateOrderInfo(int orderInfoId,
                                                          [FromBody] Models.OrderInfo orderInfoMod)
        {
            if (orderInfoMod == null)
            {
                return(BadRequest());
            }

            var orderInfoEnt = await _ordService.GetOrderInfoAsync(orderInfoId);

            if (orderInfoEnt == null)
            {
                return(NotFound(new { Error = $"An with Id '{orderInfoId}' could not be found." }));
            }

            TryValidateModel(orderInfoMod);

            // Add validation
            if (!ModelState.IsValid)
            {
                return(new UnprocessableEntityObjectResult(ModelState));
            }

            _ordMapper.MapOrderInfoModelToEntity(orderInfoMod, orderInfoEnt);

            _ordService.UpdateOrderInfo(orderInfoEnt);

            if (!await _ordService.SaveOrderInfoChangesAsync())
            {
                throw new Exception($"Error updating order info with Id '{orderInfoEnt.Id}'.");
            }

            return(NoContent());
        }
示例#2
0
        public async Task <IActionResult> AddOrderInfo([FromBody] Models.OrderInfo orderInfoMod)
        {
            if (orderInfoMod == null)
            {
                return(BadRequest());
            }

            if (!ModelState.IsValid)
            {
                return(new UnprocessableEntityObjectResult(ModelState));
            }

            // Map restaurant model to entity.
            var orderInfoEnt = _ordMapper.OrderInfoModelToEntity(orderInfoMod);

            _ordService.AddOrderInfo(orderInfoEnt);

            if (!await _ordService.SaveOrderInfoChangesAsync())
            {
                throw new Exception($"Could not add order info for order Id '{orderInfoMod.OrderId}'.");
            }

            // Map newly saved restaurant back to model.
            orderInfoMod = _ordMapper.OrderInfoEntityToModel(orderInfoEnt);

            return(CreatedAtRoute("GetOrderInfo",
                                  new { orderId = orderInfoMod.Id },
                                  orderInfoMod));
        }
        public void MapOrderInfoModelToEntity(Models.OrderInfo orderInfoMod, Entities.OrderInfo orderInfoEnt)
        {
            var mapper = new MapperConfiguration(configure =>
                                                 configure.CreateMap <Models.OrderInfo, Entities.OrderInfo>())
                         .CreateMapper();

            mapper.Map(orderInfoMod, orderInfoEnt);
        }
 public Entities.OrderInfo OrderInfoModelToEntity(Models.OrderInfo orderInfo)
 => new MapperConfiguration(cfg => cfg.CreateMap <Models.OrderInfo,
                                                  Entities.OrderInfo>())
 .CreateMapper()
 .Map <Entities.OrderInfo>(orderInfo);