public static void SetImageWay(RichRecord record)
 {
     RecordAccess.SetImageWay(record);
 }
 public static void AddNewRecord(RichRecord record)
 {
     RecordAccess.AddNewRecord(record);
 }
 public static int GetIdRecord(RichRecord record)
 {
     return RecordAccess.GetIdRecord(record);
 }
 public static bool SetImageWay(RichRecord record)
 {
     const string QUARY = @"Exec dbo.SetImage @ID_Record, @Image";
     var connectionString = GetConnectionString();
     using (var connection = new SqlConnection(connectionString))
     {
         using (var command = new SqlCommand(QUARY, connection))
         {
             command.Parameters.Add("@ID_Record", SqlDbType.Int);
             command.Parameters["@ID_Record"].Value = record.IDRecord;
             command.Parameters.Add("@Image", SqlDbType.NVarChar);
             command.Parameters["@Image"].Value = record.Image;
             command.Connection.Open();
             int count;
             try
             {
                 count = command.ExecuteNonQuery();
             }
             catch (InvalidCastException)
             {
                 return false;
             }
             if (count == 1)
             {
                 return true;
             }
             return false;
         }
     }
 }
 public static RichRecord GetRecordByID(int id)
 {
     const string QUARY = @"Exec dbo.GetRecordById @ID_Record";
     var connectionString = GetConnectionString();
     using (var connection = new SqlConnection(connectionString))
     {
         using (var command = new SqlCommand(QUARY, connection))
         {
             command.Parameters.Add("@ID_Record", SqlDbType.Int);
             command.Parameters["@ID_Record"].Value = id;
             command.Connection.Open();
             RichRecord result = null;
             using (var reader = command.ExecuteReader())
             {
                 while (reader.Read())
                 {
                     result = new RichRecord
                     {
                         Author = reader["Author"].ToString(),
                         Format = reader["Format"].ToString(),
                         IDRecord = (int) reader["ID_Record"],
                         Name = reader["Name"].ToString(),
                         Type = reader["Type"].ToString(),
                         Year = (int) reader["Year"],
                         FileWay = reader["FileWay"].ToString(),
                         Image = reader["Image"]==null? null : reader["Image"].ToString(),
                         UploadBy = (int) reader["UploadBy"],
                         UploadDate = (DateTime) reader["UploadDate"]
                     };
                 }
                 reader.Close();
             }
             return result;
         }
     }
 }
 public static int GetIdRecord(RichRecord record)
 {
     const string QUARY = @"Exec dbo.GetIdRecord @UploadDate";
     var connectionString = GetConnectionString();
     using (var connection = new SqlConnection(connectionString))
     {
         using (var command = new SqlCommand(QUARY, connection))
         {
             command.Parameters.Add("@UploadDate", SqlDbType.DateTime);
             command.Parameters["@UploadDate"].Value = record.UploadDate;
             command.Connection.Open();
             int result = 0;
             using (var reader = command.ExecuteReader())
             {
                 while (reader.Read())
                 {
                     result = (int) reader["ID_Record"];
                 }
                 reader.Close();
             }
             return result;
         }
     }
 }
 public static bool AddNewRecord(RichRecord record)
 {
     const string QUARY = @"Exec dbo.AddNewRecord @Name, @Author, @Year, @UploadBy, @UploadDate, @Type, @Format ";
     var connectionString = GetConnectionString();
     using (var connection = new SqlConnection(connectionString))
     {
         using (var command = new SqlCommand(QUARY, connection))
         {
             command.Parameters.Add("@Name", SqlDbType.NVarChar);
             command.Parameters["@Name"].Value = record.Name;
             command.Parameters.Add("@Author", SqlDbType.NVarChar);
             command.Parameters["@Author"].Value = record.Author;
             command.Parameters.Add("@Year", SqlDbType.Int);
             command.Parameters["@Year"].Value = record.Year;
             command.Parameters.Add("@UploadBy", SqlDbType.Int);
             command.Parameters["@UploadBy"].Value = record.UploadBy;
             command.Parameters.Add("@UploadDate", SqlDbType.DateTime);
             command.Parameters["@UploadDate"].Value = record.UploadDate;
             command.Parameters.Add("@Type", SqlDbType.NVarChar);
             command.Parameters["@Type"].Value = record.Type;
             command.Parameters.Add("@Format", SqlDbType.NVarChar);
             command.Parameters["@Format"].Value = record.Format;
             command.Connection.Open();
             int count;
             try
             {
                 count = command.ExecuteNonQuery();
             }
             catch (InvalidCastException)
             {
                 return false;
             }
             if (count == 1)
             {
                 return true;
             }
             return false;
         }
     }
 }