public async Task <ActionResult <string> > RegisterBuilder([FromBody] BuilderRegisterModel builderRegisterModel) { string builderId; try { builderId = await _buildersService.RegisterBuilderAsync(builderRegisterModel); } catch (Exception e) { return(BadRequest($"Can't regster the builder: {e.Message}")); } return(Ok(builderId)); }
private async Task <string> RegisterToDatabase(BuilderRegisterModel builderRegisterModel) { Builder databaseBuilder = new Builder() { UserId = builderRegisterModel.UserId, CandidatingDate = DateTime.Now, Status = BuilderStatus.Candidating, Step = BuilderSteps.Preselected, Situation = builderRegisterModel.Situation, Description = builderRegisterModel.Description }; await _builders.InsertOneAsync(databaseBuilder); return(databaseBuilder.Id); }
// Register the builder public async Task <string> RegisterBuilderAsync(BuilderRegisterModel builderRegisterModel) { if (!UserExist(builderRegisterModel.UserId)) { throw new Exception("The user doesn't existe"); } if (BuilderExist(builderRegisterModel.UserId)) { throw new Exception("The builder already exists"); } string builderId = await RegisterToDatabase(builderRegisterModel); await _formsService.RegisterFormToDatabseAsync(builderRegisterModel.UserId, builderRegisterModel.FormQAs); return(builderId); }