/// <summary> /// Adds new user to database /// </summary> /// <param name="user">User which we are going to add to database</param> public void Add(User user) { try { if (user.Equals(null)) { throw new NullReferenceException("Passed user is null"); } if (user.Name == string.Empty) { throw new ArgumentException("User name can't be empty"); } using (SqlConnection connection = Conector.GetConnection()) { SqlCommand cmd = new SqlCommand(StoredProcedureNames.AddUser, connection); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add(new SqlParameter("@Id", SqlDbType.Int)).Value = user.Id; cmd.Parameters.Add(new SqlParameter("@Name", SqlDbType.VarChar, 255)).Value = user.Name; cmd.Parameters.Add(new SqlParameter("@Pass", SqlDbType.VarChar, 64)).Value = user.Password; cmd.Parameters.Add(new SqlParameter("@AuthentificationMode", SqlDbType.Int)).Value = user.AuthentificationMode; cmd.ExecuteNonQuery(); } } catch (Exception ex) { Log.Error("Failed to add user", ex); throw; } }
/// <summary> /// Returns total count of instances in database /// </summary> /// <returns>Number of instances in db</returns> public int Count() { int instancesCount = 0; try { using (SqlConnection connection = Conector.GetConnection()) { SqlCommand cmd = new SqlCommand(StoredProcedureNames.InstancesCount, connection) { CommandType = CommandType.StoredProcedure }; cmd.Parameters.Add(new SqlParameter("@RowsCount", SqlDbType.Int)); cmd.Parameters["@RowsCount"].Direction = ParameterDirection.Output; cmd.ExecuteNonQuery(); instancesCount = (int)cmd.Parameters["@RowsCount"].Value; } } catch (Exception ex) { Log.Error("Can't get count of instances", ex); throw; } return(instancesCount); }