107 lines
5.0 KiB
C#
107 lines
5.0 KiB
C#
using FamilyTreeAPI.Models;
|
|
using Microsoft.EntityFrameworkCore;
|
|
|
|
namespace FamilyTreeAPI.Repository;
|
|
|
|
public class Seed
|
|
{
|
|
private readonly FamilyTreeDBContext _context;
|
|
public Seed(FamilyTreeDBContext context)
|
|
{
|
|
_context = context;
|
|
}
|
|
|
|
public int InsertOneUser()
|
|
{
|
|
string sptext = "CREATE OR REPLACE FUNCTION public.usp_search_user( " +
|
|
" iemail character varying,ifirstname character varying,ilastname character varying) " +
|
|
" RETURNS TABLE(id integer, fistname character varying, lastname character varying, email character varying," +
|
|
" stype integer, sactive boolean, srole integer, spassword character varying) " +
|
|
" AS $$ BEGIN " +
|
|
" return query SELECT e.id, e.firstname, e.lastname, e.email, e.stype," +
|
|
" e.sactive, e.srole, e.spassword " +
|
|
" FROM public.staff e " +
|
|
" WHERE (iemail = '' or e.email ilike iemail || '%') " +
|
|
" and (ilastname = '' or e.lastname ilike ilastname || '%') " +
|
|
" and (ifirstname = '' or e.firstname ilike ifirstname || '%'); "+
|
|
"END; " +
|
|
" $$ " +
|
|
" LANGUAGE 'plpgsql'; ";
|
|
|
|
|
|
int id = -1;
|
|
//password = password
|
|
string txt = " INSERT INTO staff ( " +
|
|
"firstname, lastname, email, phone, stype, srole, spassword, sactive) " +
|
|
"VALUES" +
|
|
" ( 'kham', 'vilaythong', 'kham.vilaythong@gmail.com', '009', 1, 2, 'cGFzc3dvcmQ=', true), " +
|
|
" ( 'sy', 'vilaythong', 'sy.vilaythong@gmail.com', '007', 1, 2, 'cGFzc3dvcmQ=', true), " +
|
|
" ( 'Hung', 'Nguyen', 'hung.gnuyen@gmail.com', '008', 1, 2, 'cGFzc3dvcmQ=', true); ";
|
|
|
|
string workertxt = "INSERT INTO person ( firstname, lastname,email,phone,address,dob ,alive, fatherId, image, sex) " +
|
|
" VALUES " +
|
|
" ('Ho 1','Tran', 'Ho.Tran@hotmail.com', '002', '1 Cabramatta','1960-09-01', true, 0,'', 'M'), " +
|
|
" ('Jimmy 2','Tran', 'Ho.Tran@hotmail.com', '003', '34 Cabramatta','1980-09-01', true, 1,'','M'), " +
|
|
" ('Joe 3','Tran', 'Joe.Tran@hotmail.com', '006', '32 Cabramatta','1980-10-01', true, 1,'','M'), " +
|
|
" ('John 4','Tran', 'John.Tran@hotmail.com', '008', '30 Cabramatta','1990-12-01', true, 3,'','M')," +
|
|
" ('Lee 5','Tran', 'Lee.Tran@hotmail.com', '030', '18 Cabramatta','2000-12-01', true, 2,'','M'), " +
|
|
" ('Len 6','Nguyen', 'Len.nguyen@hotmail.com', '001', '1 Home','1950-01-01', true, 0,'','M'), " +
|
|
" ('Son 7','Nguyen', 'son.Nguyen@hotmail.com', '001', '10 Home','1980-01-01', true,6,'','M'), " +
|
|
" ('Loa 8','Tran', 'Loa.Tran@hotmail.com', '020', '11 Cabramatta','2002-12-01', true, 3,'','M'), " +
|
|
" ('Du 9','Tran', 'Du.Tran@hotmail.com', '001', '12 Cabramatta','2002-12-01', true, 4,'','M'), " +
|
|
" ('Linh 10','Tran', 'Du.Tran@hotmail.com', '001', '12 Cabramatta','2002-12-01', true, 5,'','M'), " +
|
|
" ('COA 11','Tran', 'Du.Tran@hotmail.com', '001', '12 Cabramatta','2002-12-01', true, 8,'','M'), " +
|
|
" ('Hoa 12','Tran', 'Du.Tran@hotmail.com', '001', '12 Cabramatta','2002-12-01', true, 8,'','F'), " +
|
|
" ('Nhi 13','Tran', 'Du.Tran@hotmail.com', '001', '12 Cabramatta','2002-12-01', true, 8,'','F'), " +
|
|
" ('Mai 14','Tran', 'Du.Tran@hotmail.com', '001', '12 Cabramatta','2002-12-01', true, 8,'','F'), " +
|
|
" ('Trang 15','Tran', 'Du.Tran@hotmail.com', '001', '12 Cabramatta','2002-12-01', true, 7,'','F'), " +
|
|
" ('Tom 16','Tran', 'Ho.Tran@hotmail.com', '007', '34 Cabramatta','1999-01-01', true, 2,'','M');";
|
|
|
|
|
|
try
|
|
{
|
|
int count = _context.staff.Count();
|
|
if (count < 1)
|
|
{
|
|
var conn = _context.Database.GetDbConnection();
|
|
try
|
|
{
|
|
|
|
conn.Open();
|
|
var command = conn.CreateCommand();
|
|
command.CommandText = sptext;
|
|
command.CommandType = System.Data.CommandType.Text;
|
|
command.ExecuteNonQuery();
|
|
|
|
command = conn.CreateCommand();
|
|
command.CommandText = txt;
|
|
command.CommandType = System.Data.CommandType.Text;
|
|
command.ExecuteNonQuery();
|
|
|
|
command.CommandText = workertxt;
|
|
command.CommandType = System.Data.CommandType.Text;
|
|
|
|
command.ExecuteNonQuery();
|
|
id = 9;
|
|
}
|
|
catch
|
|
{
|
|
id = -1;
|
|
}
|
|
finally
|
|
{
|
|
conn.Close();
|
|
}
|
|
}
|
|
else
|
|
id = 1;
|
|
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
id = -10;
|
|
|
|
}
|
|
return id;
|
|
}
|
|
} |