public static void ValidateData(this IHDSContext context, CreateCustomerAddressDto dto, int id) { var errors = new StringBuilder(); // CustomerID errors.AddIfExists(context.KeyExists <Customer>(id, ValidationMessages.CustomerIDNotFound)); // AddressTypeID errors.AddIfExists(dto.AddressTypeID.ValidateRequired(ValidationMessages.AddressTypeIDRequired)); errors.AddIfExists(context.KeyExists <AddressType>(dto.AddressTypeID, ValidationMessages.AddressTypeIDNotFound)); // Address if (dto.Address != null) { // Street Address errors.AddIfExists(dto.Address?.StreetAddress.ValidateRequired(ValidationMessages.StreetAddressRequired)); errors.AddIfExists(dto.Address?.StreetAddress.ValidateLength(100, ValidationMessages.StreetAddressRequired)); // City errors.AddIfExists(dto.Address?.City.ValidateRequired(ValidationMessages.CityRequired)); errors.AddIfExists(dto.Address?.City.ValidateLength(50, ValidationMessages.CityLength)); // State errors.AddIfExists(dto.Address?.State.ValidateRequired(ValidationMessages.StateRequired)); errors.AddIfExists(dto.Address?.State.ValidateLength(50, ValidationMessages.StateLength)); // PostCode errors.AddIfExists(dto.Address?.PostalCode.ValidateRequired(ValidationMessages.PostalCodeRequired)); errors.AddIfExists(dto.Address?.PostalCode.ValidateLength(10, ValidationMessages.PostalCodeLength)); } else { errors.AddIfExists(ValidationMessages.AddressRequired); } if (errors.Length > 0) { throw new ValidationException(errors.ToString()); } }
public IActionResult Create([FromRoute] int customerID, [FromBody] CreateCustomerAddressDto dto) { try { var result = _repo.Create(customerID, dto); return(StatusCode((int)HttpStatusCode.Created, result)); } catch (Exception ex) { _logger.LogError(ex.Message); return(BadRequest(ex.Message)); } }
public CustomerAddressDto Create(int customerID, CreateCustomerAddressDto dto) { _dbContext.ValidateData(dto, customerID); if (dto.Primary == true) { FlipPrimaryIfNeeded(null, EntityType.Customer, customerID); } var entity = dto.ToEntity(); entity.CustomerID = customerID; _dbContext.CustomerAddress.Add(entity); _dbContext.SaveChanges(); return(entity.ToDto()); }
public static CustomerAddress ToEntity(this CreateCustomerAddressDto dto) { Init(); return(Mapper.Map <CustomerAddress>(dto)); }