src/RumahScarlett/RumahScarlett.Infrastructure/DataAccess/CommonRepositories/DbHelper.cs
/// <summary>
/// Method untuk mengambil maksimal id dari database
/// sesuai dengan tanggal sekarang
/// </summary>
/// <param name="context">DbContext object</param>
/// <param name="transaction">Db transaction object</param>
/// <param name="table">Nama table</param>
/// <param name="column">Nama column</param>
/// <returns>Mengembalikan maksimal id sesuai tanggal sekarang
/// contoh: 19870327000002</returns>
Method untuk mengambil maksimal id dari database
sesuai dengan tanggal sekarang
Method untuk mengambil maksimal id dari database sesuai dengan tanggal sekarang
public static string GetMaxID(DbContext context, IDbTransaction transaction, string table, string column = "id")
      {
         var maxID = default(int);
         var today = default(string);
         today = DateTime.Now.ToString("yyyyMMdd"); 
         var max = context.Conn.Query<string>($"SELECT max({column}) as maxID from {table} " +
                                              $"WHERE {column} LIKE '{today}%'", transaction).FirstOrDefault();
         if (max != null)
            maxID = int.Parse(max.Substring(8, 6));
         else
            maxID = 0;
         maxID++;
         return today + maxID.ToString().PadLeft(6, '0');
      }
public static string GetMaxID ( DbContext context , IDbTransaction transaction , string table , string column = " " ) { var maxID = default ( int ) ; var today = default ( string ) ; today = DateTime . Now . ToString ( " " ) ; var max = context . Conn . Query < string > ( $" SELECT max( { column } ) as maxID from  { table } " + $" WHERE  { column }  LIKE ' { today } %' " , transaction ) . FirstOrDefault ( ) ; if ( max != null ) maxID = int . Parse ( max . Substring ( 8 , 6 ) ) ; else maxID = 0 ; maxID ++ ; return today + maxID . ToString ( ) . PadLeft ( 6 , ' ' ) ; }
Method untuk mengambil maksimal id dari database
sesuai dengan tanggal sekarang
Method untuk mengambil maksimal id dari database sesuai dengan tanggal sekarang
// Tanggal sekarang // Jika ditemukan maka, ambil 6 digit angka terakhir // lalu max id ditambahkan satu, // Sebaliknya jika tidak ditemukkan maka buat id baru
Mengembalikan maksimal id sesuai tanggal sekarang
contoh: 19870327000002
Mengembalikan maksimal id sesuai tanggal sekarang contoh : 19870327000002
context
DbContext
None
transaction
IDbTransaction
Db transaction object
Db transaction object
table
string
None
column
string
None