GenesisTools 1.0.0
dotnet add package GenesisTools --version 1.0.0
NuGet\Install-Package GenesisTools -Version 1.0.0
<PackageReference Include="GenesisTools" Version="1.0.0" />
paket add GenesisTools --version 1.0.0
#r "nuget: GenesisTools, 1.0.0"
// Install GenesisTools as a Cake Addin
#addin nuget:?package=GenesisTools&version=1.0.0
// Install GenesisTools as a Cake Tool
#tool nuget:?package=GenesisTools&version=1.0.0
This package provide database tools to access MSSQL Databases using ADO.Net. For those that do not want to use EF or other ORM's
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET Framework | net46 is compatible. net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
This package has no dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.0.0 | 1,244 | 8/12/2017 |
Example of repository :
public partial class titlesRepository : ABaseRepository, ItitlesReadRepository, ItitlesWriteRepository
{
#region CTOR
public titlesRepository():base(pubsDatabaseConfig.DEFAULT_CONNECTION_NAME){}
public titlesRepository(string connectionName):base(connectionName){}
public titlesRepository(ConnectionSet connectionSet):base(connectionSet){}
#endregion
//************************************************************************
#region Genesis T4 Generated : Filltitles()
partial void FilltitlesExtension(IDataReader reader, titles item);
// Item must be already instanciated
protected void Filltitles(IDataReader reader, titles item)
{
if (item == null) throw new ArgumentException($"{nameof(Filltitles)} -> item to map is null");
item.title_id = reader.ValueAs<String>("title_id");
item.advance = reader.ValueAs<Decimal>("advance");
item.notes = reader.ValueAs<String>("notes");
item.price = reader.ValueAs<Decimal>("price");
item.pub_id = reader.ValueAs<String>("pub_id");
item.pubdate = reader.ValueAs<DateTime>("pubdate");
item.royalty = reader.ValueAs<Int32>("royalty");
item.title = reader.ValueAs<String>("title");
item.type = reader.ValueAs<String>("type");
item.ytd_sales = reader.ValueAs<Int32>("ytd_sales");
// For custom developper Treatment
FilltitlesExtension(reader, item);
}
#endregion
//************************************************************************
//************************************************************************
#region Genesis T4 Generated : Get
public titles Get(System.String title_id)
{
return GetBuilder(ConnectionMode.ReadOnly).BuildCommand<titles>(Procedures.SP_GET_ITEM)
.AddParameter("@title_id", title_id)
.SetMapper(Filltitles)
.Get();
}
// Pk Columns : 1
// Type : System.String
#endregion
//************************************************************************
//************************************************************************
#region Genesis T4 Generated : GetList()
public List<titles> GetList()
{
return GetBuilder(ConnectionMode.ReadOnly).BuildCommand<titles>(Procedures.SP_GET_LIST)
.SetMapper(Filltitles)
.GetList();
}
#endregion
#region GetDictionary{
public Dictionary<String, titles> GetDictionary()
{
return GetList().ToDictionary(itm => itm.title_id);
}
#endregion
//************************************************************************
//************************************************************************
#region Genesis T4 Generated : GetListBypub_id
public List<titles> GetListBypub_id(System.String pub_id)
{
return GetBuilder(ConnectionMode.ReadOnly).BuildCommand<titles>(Procedures.SP_GET_LIST_BY_PUB_ID)
.AddParameter("@pub_id",@pub_id)
.SetMapper(Filltitles)
.GetList();
}
#endregion
#region Genesis T4 Generated : GetListBystor_id
public List<titles> GetListBystor_id(System.String stor_id)
{
return GetBuilder(ConnectionMode.ReadOnly).BuildCommand<titles>(Procedures.SP_GET_LIST_BY_STOR_ID)
.AddParameter("@stor_id",@stor_id)
.SetMapper(Filltitles)
.GetList();
}
#endregion
#region Genesis T4 Generated : GetListByau_id
public List<titles> GetListByau_id(System.String au_id)
{
return GetBuilder(ConnectionMode.ReadOnly).BuildCommand<titles>(Procedures.SP_GET_LIST_BY_AU_ID)
.AddParameter("@au_id",@au_id)
.SetMapper(Filltitles)
.GetList();
}
#endregion
//************************************************************************
#region CRUD
//************************************************************************
#region Fill Insert Parameters
private void FillInsertParams<T>(IParameterizableCommand<T> cmd, titles item)
{
cmd.AddParameter("@pub_id", (object) item.pub_id ?? DBNull.Value );
cmd.AddParameter("@title_id", item.title_id );
cmd.AddParameter("@type", item.type );
cmd.AddParameter("@ytd_sales", (object) item.ytd_sales ?? DBNull.Value );
cmd.AddParameter("@advance", (object) item.advance ?? DBNull.Value );
cmd.AddParameter("@notes", (object) item.notes ?? DBNull.Value );
cmd.AddParameter("@price", (object) item.price ?? DBNull.Value );
cmd.AddParameter("@pubdate", item.pubdate );
cmd.AddParameter("@royalty", (object) item.royalty ?? DBNull.Value );
cmd.AddParameter("@title", item.title );
}
#endregion
#region Genesis T4 Generated : Insert(titles item)
bool ItitlesWriteRepository.Insert(titles item)
{
var command = GetBuilder(ConnectionMode.Write).BuildCommand<titles>(Procedures.SP_INSERT);
FillInsertParams(command, item);
return command.ExecuteNonQuery() > 0;
}
#endregion
#region Genesis T4 Generated : InsertAndFill(titles item)
bool ItitlesWriteRepository.InsertAndFill(titles item)
{
var command = GetBuilder(ConnectionMode.Write).BuildCommand<titles>(Procedures.SP_INSERT);
FillInsertParams(command, item);
command.ObjectCreation((reader) => { return item; });
command.SetMapper(Filltitles);
return command.Get() != null;
}
titles ItitlesWriteRepository.InsertAndGet(titles item)
{
var command = GetBuilder(ConnectionMode.Write).BuildCommand<titles>(Procedures.SP_INSERT);
FillInsertParams(command, item);
command.SetMapper(Filltitles);
return command.Get();
}
#endregion
#region Genesis T4 Generated : InsertAndRetrievePK({table-name} item)
String ItitlesWriteRepository.InsertAndRetrievePK(titles item)
{
var command = GetBuilder(ConnectionMode.Write).BuildCommand(Procedures.SP_INSERT);
FillInsertParams(command, item);
return command.GetScalar<String>();
}
#endregion
//************************************************************************
#region Genesis T4 Generated : Update(titles item)
bool ItitlesWriteRepository.Update(titles item)
{
return GetBuilder(ConnectionMode.Write).BuildCommand<titles>(Procedures.SP_UPDATE)
.AddParameter("@pub_id", (object) item.pub_id ?? DBNull.Value )
.AddParameter("@title_id", item.title_id )
.AddParameter("@type", item.type )
.AddParameter("@ytd_sales", (object) item.ytd_sales ?? DBNull.Value )
.AddParameter("@advance", (object) item.advance ?? DBNull.Value )
.AddParameter("@notes", (object) item.notes ?? DBNull.Value )
.AddParameter("@price", (object) item.price ?? DBNull.Value )
.AddParameter("@pubdate", item.pubdate )
.AddParameter("@royalty", (object) item.royalty ?? DBNull.Value )
.AddParameter("@title", item.title )
.ExecuteNonQuery() > 0;
}
#endregion
#region Genesis T4 Generated : UpdateAndFill(titles item)
bool ItitlesWriteRepository.UpdateAndFill(titles item)
{
var insertedItem = GetBuilder(ConnectionMode.Write).BuildCommand<titles>(Procedures.SP_UPDATE)
.AddParameter("@pub_id", (object) item.pub_id ?? DBNull.Value )
.AddParameter("@title_id", item.title_id )
.AddParameter("@type", item.type )
.AddParameter("@ytd_sales", (object) item.ytd_sales ?? DBNull.Value )
.AddParameter("@advance", (object) item.advance ?? DBNull.Value )
.AddParameter("@notes", (object) item.notes ?? DBNull.Value )
.AddParameter("@price", (object) item.price ?? DBNull.Value )
.AddParameter("@pubdate", item.pubdate )
.AddParameter("@royalty", (object) item.royalty ?? DBNull.Value )
.AddParameter("@title", item.title )
.ObjectCreation((reader) => { return item; })
.SetMapper(Filltitles)
.Get();
return insertedItem != null;
}
titles ItitlesWriteRepository.UpdateAndGet(titles item)
{
return GetBuilder(ConnectionMode.Write).BuildCommand<titles>(Procedures.SP_UPDATE)
.AddParameter("@pub_id", (object) item.pub_id ?? DBNull.Value )
.AddParameter("@title_id", item.title_id )
.AddParameter("@type", item.type )
.AddParameter("@ytd_sales", (object) item.ytd_sales ?? DBNull.Value )
.AddParameter("@advance", (object) item.advance ?? DBNull.Value )
.AddParameter("@notes", (object) item.notes ?? DBNull.Value )
.AddParameter("@price", (object) item.price ?? DBNull.Value )
.AddParameter("@pubdate", item.pubdate )
.AddParameter("@royalty", (object) item.royalty ?? DBNull.Value )
.AddParameter("@title", item.title )
.SetMapper(Filltitles)
.Get();
}
#endregion
bool ItitlesWriteRepository.Delete(String title_id){
return GetBuilder(ConnectionMode.ReadOnly).BuildCommand(Procedures.SP_DELETE)
.AddParameter("@title_id", title_id)
.ExecuteNonQuery() >0;
}
#endregion // CRUD
public partial class Procedures
{
public static Dictionary<string, string> StoredProcedures = new Dictionary<string, string>();
static partial void RegisterCustomSps();
static Procedures()
{
StoredProcedures[nameof(SP_INSERT)] = SP_INSERT;
StoredProcedures[nameof(SP_UPDATE)] = SP_UPDATE;
StoredProcedures[nameof(SP_DELETE)] = SP_DELETE;
StoredProcedures[nameof(SP_GET_LIST)] = SP_GET_LIST;
StoredProcedures[nameof(SP_GET_ITEM)] = SP_GET_ITEM;
StoredProcedures[nameof(SP_GET_LIST_BY_PUB_ID)] = SP_GET_LIST_BY_PUB_ID;
StoredProcedures[nameof(SP_GET_LIST_BY_STOR_ID)] = SP_GET_LIST_BY_STOR_ID;
StoredProcedures[nameof(SP_GET_LIST_BY_AU_ID)] = SP_GET_LIST_BY_AU_ID;
RegisterCustomSps();
}
public const string SP_INSERT = "proc_titles_Insert";
public const string SP_UPDATE = "proc_titles_Update";
public const string SP_DELETE = "proc_titles_Delete";
public const string SP_GET_LIST = "proc_titles_GetList";
public const string SP_GET_ITEM = "proc_titles_Get";
public const string SP_GET_LIST_BY_PUB_ID = "proc_titles_GetListBy_pub_id";
public const string SP_GET_LIST_BY_STOR_ID = "proc_titles_GetListBy_stor_id";
public const string SP_GET_LIST_BY_AU_ID = "proc_titles_GetListBy_au_id";
}
#region Validation CRUD
public bool Insert(titles item)
{
titlesInsertValidation dummyResult = null;
return Insert(item, out dummyResult);
}
public bool Insert(titles item, out titlesInsertValidation result)
{
result = new titlesInsertValidation(item);
if (result.IsValid)
{
try
{
result.Item = (this as ItitlesWriteRepository).InsertAndGet(item);
return result.Item != null;
}
// Add Constraints Checks
catch (System.Data.SqlClient.SqlException ex)
{
}
}
return false;
}
public bool Update(titles item)
{
titlesUpdateValidation dummyResult = null;
return Update(item, out dummyResult);
}
public bool Update(titles item,out titlesUpdateValidation result)
{
result = new titlesUpdateValidation(item);
if (result.IsValid)
{
try
{
result.Item = (this as ItitlesWriteRepository).UpdateAndGet(item);
return result.Item !=null;
}
// Add Constraints Checks
catch (System.Data.SqlClient.SqlException ex)
{
}
}
return false;
}
public bool Delete(String title_id) => (this as ItitlesWriteRepository).Delete(title_id);
#endregion
}