public static void ValidateData(this IHDSContext context, CreateEmployeeAddressDto dto, int id) { var errors = new StringBuilder(); // EmployeeID errors.AddIfExists(context.KeyExists <Employee>(id, ValidationMessages.EmployeeIDNotFound)); // 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 employeeID, [FromBody] CreateEmployeeAddressDto dto) { try { var result = _repo.Create(employeeID, dto); return(StatusCode((int)HttpStatusCode.Created, result)); } catch (Exception ex) { _logger.LogError(ex.Message); return(BadRequest(ex.Message)); } }
public EmployeeAddressDto Create(int employeeID, CreateEmployeeAddressDto dto) { _dbContext.ValidateData(dto, employeeID); if (dto.Primary == true) { FlipPrimaryIfNeeded(null, EntityType.Employee, employeeID); } var entity = dto.ToEntity(); entity.EmployeeID = employeeID; _dbContext.EmployeeAddress.Add(entity); _dbContext.SaveChanges(); return(entity.ToDto()); }
public static EmployeeAddress ToEntity(this CreateEmployeeAddressDto dto) { Init(); return(Mapper.Map <EmployeeAddress>(dto)); }