public static void ValidateData(this IHDSContext context, CreateInventoryDto dto) { var errors = new StringBuilder(); // Model errors.AddIfExists(dto.Model.ValidateRequired(ValidationMessages.ModelRequired)); errors.AddIfExists(dto.Model.ValidateLength(100, ValidationMessages.ModelLength)); // Brand errors.AddIfExists(dto.Model.ValidateRequired(ValidationMessages.BrandRequired)); errors.AddIfExists(dto.Model.ValidateLength(100, ValidationMessages.BrandLength)); // SerialNumber errors.AddIfExists(dto.Model.ValidateLength(100, ValidationMessages.SerialNumberLength)); // ProductDescription errors.AddIfExists(dto.Model.ValidateRequired(ValidationMessages.ProductDescriptionRequired)); errors.AddIfExists(dto.Model.ValidateLength(1000, ValidationMessages.ProductDescriptionLength)); // Cost errors.AddIfExists(dto.Model.ValidateRequired(ValidationMessages.CostRequired)); // Price errors.AddIfExists(dto.Model.ValidateRequired(ValidationMessages.PriceRequired)); // LocationID errors.AddIfExists(dto.Model.ValidateRequired(ValidationMessages.StoreIDRequired)); errors.AddIfExists(context.KeyExists <Store>(dto.LocationID, ValidationMessages.StoreIDNotFound)); if (errors.Length > 0) { throw new ValidationException(errors.ToString()); } }
public InventoryVerboseDto Create(CreateInventoryDto newProduct) { _dbContext.ValidateData(newProduct); var product = newProduct.ToEntity(); _dbContext.Inventory.Add(product); _dbContext.SaveChanges(); return(product.ToVerboseDto()); }
public IActionResult Create([Required][FromBody] CreateInventoryDto product) { try { var result = _repo.Create(product); return(StatusCode((int)HttpStatusCode.Created, result)); } catch (Exception ex) { _logger.LogError(ex.Message); return(BadRequest(ex.Message)); } }
public static Inventory ToEntity(this CreateInventoryDto dto) { Init(); return(Mapper.Map <Inventory>(dto)); }