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()); } }
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)); } }