Exemple #1
0
        /// <summary>
        /// Adds new Patron to the database.
        /// </summary>
        /// <param name="user">Patron, which is going to be added.</param>
        /// <param name="login">Login of the patron.</param>
        /// <param name="password">Password of the patron.</param>
        public static bool AddUser(IUser user, string login, string password)
        {
            if (user == null)
            {
                throw new ArgumentNullException();
            }

            using (IDbConnection connection = new System.Data.SqlClient.SqlConnection(Helper.CnnVal("LibraryDB")))
            {
                var output = connection.Query <bool>("dbo.spUsers_IsUserInTable @FirstName, @SecondName, @Phone",
                                                     new
                                                     { FirstName = user.FirstName, SecondName = user.SecondName, Phone = user.Phone }).ToList();
                if (!output[0])
                {
                    long cardNumber = CredentialsManager.AddUserCredentials(login, password);

                    user.CardNumber = cardNumber;
                    connection.Execute("dbo.spUsers_AddUser @FirstName, @SecondName, @CardNumber, @Phone, @Address, @Type",
                                       new
                    {
                        FirstName  = user.FirstName,
                        SecondName = user.SecondName,
                        CardNumber = user.CardNumber,
                        Phone      = user.Phone,
                        Address    = user.Address,
                        Type       = user.GetType().ToString().Split('.').Last()
                    });
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
        }