public async Task <IActionResult> SaveApplicantDetails([FromBody] CreateApplicantRequestModel model)
        {
            //Validate
            if (!ModelState.IsValid)
            {
                return(ApiValidationError());
            }
            //TODO Future: Additional validation eg. Unique email

            try
            {
                //Save to DB
                var newUserId   = _idGenerator.GetRandomLong();
                var saveCommand = new SaveApplicantCommand(model, newUserId);
                await saveCommand.ExecuteAsync();

                //Return
                var result = new ApiApplicantCreatedResult
                {
                    Success = true,
                    UserId  = newUserId
                };
                return(Ok(result));
            }
            catch (Exception ex)
            {
                return(ApiServerError(ex.Message));
            }
        }
 public SaveApplicantCommand(CreateApplicantRequestModel applicantModel, long userId)
 {
     _applicantModel = applicantModel;
     _userId         = userId;
 }