public OrderDetailVerboseDto Create(CreateOrderDetailDto newOrderDetail, int orderID) { _dbContext.ValidateData(newOrderDetail); var orderDetail = newOrderDetail.ToEntity(); orderDetail.OrderID = orderID; _dbContext.OrderDetail.Add(orderDetail); _dbContext.SaveChanges(); return(orderDetail.ToVerboseDto()); }
public IActionResult Create([Required][FromBody] CreateOrderDetailDto orderDetail, [FromRoute] int orderID) { try { var result = _repo.Create(orderDetail, orderID); return(StatusCode((int)HttpStatusCode.Created, result)); } catch (Exception ex) { _logger.LogError(ex.Message); return(BadRequest(ex.Message)); } }
public static void ValidateData(this IHDSContext context, CreateOrderDetailDto dto) { var errors = new StringBuilder(); // ProductID errors.AddIfExists(dto.ProductID.ValidateRequired(ValidationMessages.ProductIDRequired)); errors.AddIfExists(context.KeyExists <Inventory>(dto.ProductID, ValidationMessages.ProductIDNotFound)); // Quoted Price errors.AddIfExists(dto.QuotedPrice.ValidatePositiveDecimal(ValidationMessages.PriceRequired)); // Quantity errors.AddIfExists(dto.Quantity.ValidateRequired(ValidationMessages.QuantityRequired)); errors.AddIfExists(dto.Quantity.ValidatePositiveInt(ValidationMessages.QuantityValid)); if (errors.Length > 0) { throw new ValidationException(errors.ToString()); } }
public static OrderDetail ToEntity(this CreateOrderDetailDto dto) { Init(); return(Mapper.Map <OrderDetail>(dto)); }