Beispiel #1
0
        public static void ValidateData(this IHDSContext context, UpdateOrderDetailDto dto)
        {
            var errors = new StringBuilder();

            // OrderDetailID
            errors.AddIfExists(dto.OrderDetailID.ValidateRequired(ValidationMessages.OrderDetailIDRequired));
            errors.AddIfExists(context.KeyExists <OrderDetail>(dto.OrderDetailID, ValidationMessages.OrderDetailIDNotFound));
            // OrderID
            errors.AddIfExists(dto.OrderID.ValidateRequired(ValidationMessages.OrderIDRequired));
            errors.AddIfExists(context.KeyExists <Order>(dto.OrderID, ValidationMessages.OrderIDNotFound));
            // 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());
            }
        }
Beispiel #2
0
 public static void Merge(this OrderDetail entity, UpdateOrderDetailDto dto)
 {
     entity.ProductID   = dto.ProductID;
     entity.QuotedPrice = dto.QuotedPrice;
     entity.Quantity    = dto.Quantity;
     entity.QuoteNumber = dto.QuoteNumber;
     entity.Updated     = DateTime.UtcNow;
 }
        public void Update(UpdateOrderDetailDto updateOrderDetail)
        {
            _dbContext.ValidateData(updateOrderDetail);
            var orderDetail = _dbContext.OrderDetail.SingleOrDefault(o => o.OrderDetailID == updateOrderDetail.OrderDetailID);

            orderDetail.Merge(updateOrderDetail);

            _dbContext.SaveChanges();
        }
        public IActionResult UpdateDetails([Required][FromBody] UpdateOrderDetailDto updatedorderDetail)
        {
            try
            {
                _repo.Update(updatedorderDetail);

                return(Ok());
            }
            catch (Exception ex)
            {
                _logger.LogError(ex.Message);
                return(BadRequest(ex.Message));
            }
        }