Example #1
0
        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));
            }
        }