public IActionResult Register(Dictionary <string, string> profile) { Models.Security security = new Models.Security(); DatabaseConnection connection = new DatabaseConnection(); try { if (CheckCredentials(profile)) { connection.AddUserToDatabase(profile["email"], security.Encrypt(profile["password"])); ConcreteOwnerBuilder ownerBuilder = new ConcreteOwnerBuilder(); ownerBuilder.AddEmail(profile["email"]); ownerBuilder.AddFirstName(profile["firstName"]); ownerBuilder.AddSecondName(profile["secondName"]); Random random = new Random(); ownerBuilder.AddID(random.Next(100, 999)); connection.AddOwnerToDatabase(ownerBuilder.BuildOwner()); return(new StatusCodeResult(StatusCodes.Status201Created)); } else { throw new Exception(); } } catch (SqlException) { return(new StatusCodeResult(StatusCodes.Status409Conflict)); } catch (Exception) { return(new StatusCodeResult(StatusCodes.Status400BadRequest)); } }