public virtual EFReturnValue Delete <T1, T2, T3, T4>(int IDIdentity1, int IDIdentity2, int IDIdentity3, int IDIdentity4) where T1 : class where T2 : class where T3 : class where T4 : class { int hasil = 0; eFReturn = new EFReturnValue { IsSuccessConnection = false, IsSuccessQuery = false, ErrorMessage = ErrorMessage.EntityCannotBeNull, ReturnValue = null }; eFReturn = new EFReturnValue { IsSuccessConnection = false, IsSuccessQuery = false, ErrorMessage = ErrorMessage.EntityCannotBeNull, ReturnValue = null }; if (IDIdentity1 > 0 & IDIdentity2 > 0 & IDIdentity3 > 0 & IDIdentity4 > 0) { using (var context = DBContextBantuan.GetInstance.CreateConnectionContext()) { using (var contextTrans = context.Database.BeginTransaction()) { try { T1 entity1 = Activator.CreateInstance <T1>(); T2 entity2 = Activator.CreateInstance <T2>(); T3 entity3 = Activator.CreateInstance <T3>(); T4 entity4 = Activator.CreateInstance <T4>(); ColumnPropSet.GetInstance.SetColValueIdentityColumn <T1>(entity1, IDIdentity1); ColumnPropSet.GetInstance.SetColValueIdentityColumn <T2>(entity2, IDIdentity2); ColumnPropSet.GetInstance.SetColValueIdentityColumn <T3>(entity3, IDIdentity3); ColumnPropSet.GetInstance.SetColValueIdentityColumn <T4>(entity4, IDIdentity4); context.Set <T1>().Attach(entity1); context.Set <T2>().Attach(entity2); context.Set <T3>().Attach(entity3); context.Set <T4>().Attach(entity4); context.Set <T1>().Remove(entity1); context.Set <T2>().Remove(entity2); context.Set <T3>().Remove(entity3); context.Set <T4>().Remove(entity4); hasil = context.SaveChanges(); contextTrans.Commit(); eFReturn = eFReturn.SetEFReturnValue(eFReturn, true, hasil, entity1, entity2, entity3, entity4); } catch (Exception ex) { eFReturn = eFReturn.SetEFReturnValue(eFReturn, false, 0, ex.Message); contextTrans.Rollback(); } } } } return(eFReturn); }
public EFReturnValue SaveUpdateDelete <T1>(T1 entity1, EnumSaveUpdateDelete enumSUDT1) where T1 : class { int hasil = 0; eFReturn = new EFReturnValue { IsSuccessConnection = false, IsSuccessQuery = false, ErrorMessage = ErrorMessage.EntityCannotBeNull, ReturnValue = null }; if (entity1 != null) { using (var context = DBContextBantuan.GetInstance.CreateConnectionContext()) { using (var contextTrans = context.Database.BeginTransaction()) { try { entity1 = this.SetEntityPreparation <T1>(entity1, enumSUDT1); List <PropertyInfo> colNotNullT1 = ColumnPropGet.GetInstance.GetPropertyColNotNull <T1>(entity1); if (enumSUDT1 == EnumSaveUpdateDelete.Save) { context.Set <T1>().Add(entity1); } if (enumSUDT1 == EnumSaveUpdateDelete.Delete) { context.Set <T1>().Attach(entity1); context.Set <T1>().Remove(entity1); } if (enumSUDT1 == EnumSaveUpdateDelete.Update) { context.Set <T1>().Attach(entity1); context.Entry(entity1).State = EntityState.Unchanged; foreach (PropertyInfo property in colNotNullT1) { if (property != null) { context.Entry(entity1).Property(property.Name).IsModified = true; } } } hasil = context.SaveChanges(); contextTrans.Commit(); eFReturn = eFReturn.SetEFReturnValue(eFReturn, true, hasil, entity1); } catch (Exception ex) { eFReturn = eFReturn.SetEFReturnValue(eFReturn, false, 0, ex.Message); contextTrans.Rollback(); } } } } return(eFReturn); }
public virtual async Task <EFReturnValue> ListDataQueryableWithEmpInfoAsync <TResult, TNoToName>(IQueryable <TResult> queryable, List <TNoToName> listTableConvert, List <ColumnConvertNoToName> listColumnConvert, List <SearchField> searchFieldList, string sortColumn, bool isAscending, int topTake) where TResult : class where TNoToName : class, IConvertNoToName { eFReturn = new EFReturnValue { IsSuccessConnection = false, IsSuccessQuery = false, ErrorMessage = ErrorMessage.EntityCannotBeNull, ReturnValue = null }; var rv = await RepoListQueryableAsync.GetInstance.ListDataQueryableAsync <TResult>(queryable, searchFieldList, sortColumn, isAscending, topTake); if (rv.IsSuccessConnection & rv.IsSuccessQuery) { var resultList = (List <TResult>)rv.ReturnValue; eFReturn = repoEmpInfo.RepoListEmp <TResult, TNoToName>(resultList, listTableConvert, listColumnConvert); } return(eFReturn); }
public virtual async Task <EFReturnValue> DeleteHeaderDetailListAsync <T, T1, T2, T3, T4>(List <int> listIDIdentity, string idReferenceColName) where T : class where T1 : class where T2 : class where T3 : class where T4 : class { int hasil = 0; eFReturn = new EFReturnValue { IsSuccessConnection = false, IsSuccessQuery = false, ErrorMessage = ErrorMessage.EntityCannotBeNull, ReturnValue = null }; if (listIDIdentity.Count > 0 & !string.IsNullOrEmpty(idReferenceColName)) { using (var context = DBContextBantuan.GetInstance.CreateConnectionContext()) { using (var contextTrans = context.Database.BeginTransaction()) { try { T entity = Activator.CreateInstance <T>(); ColumnPropSet.GetInstance.SetColValueIdentityColumn <T>(entity, listIDIdentity); List <T1> listEntity1 = this.GetListData <T1>(listIDIdentity, idReferenceColName); List <T2> listEntity2 = this.GetListData <T2>(listIDIdentity, idReferenceColName); List <T3> listEntity3 = this.GetListData <T3>(listIDIdentity, idReferenceColName); List <T4> listEntity4 = this.GetListData <T4>(listIDIdentity, idReferenceColName); context.Set <T>().Attach(entity); context.Set <T>().Remove(entity); context.Set <T1>().AttachRange(listEntity1); context.Set <T1>().RemoveRange(listEntity1); context.Set <T2>().AttachRange(listEntity2); context.Set <T2>().RemoveRange(listEntity2); context.Set <T3>().AttachRange(listEntity3); context.Set <T3>().RemoveRange(listEntity3); context.Set <T4>().AttachRange(listEntity4); context.Set <T4>().RemoveRange(listEntity4); hasil = await context.SaveChangesAsync().ConfigureAwait(false); contextTrans.Commit(); eFReturn = eFReturn.SetEFReturnValue(eFReturn, true, hasil, entity, listEntity1, listEntity2, listEntity3, listEntity4); } catch (Exception ex) { eFReturn = eFReturn.SetEFReturnValue(eFReturn, false, 0, ex.Message); contextTrans.Rollback(); } } } } return(eFReturn); }
public virtual EFReturnValue UpdateAllList <T1, T2, T3, T4>(List <T1> listEntity1, List <T2> listEntity2, List <T3> listEntity3, List <T4> listEntity4) where T1 : class where T2 : class where T3 : class where T4 : class { int hasil = 0; eFReturn = new EFReturnValue { IsSuccessConnection = false, IsSuccessQuery = false, ErrorMessage = ErrorMessage.EntityCannotBeNull, ReturnValue = null }; if (listEntity1 != null & listEntity2 != null & listEntity3 != null & listEntity4 != null) { using (var context = DBContextBantuan.GetInstance.CreateConnectionContext()) { using (var contextTrans = context.Database.BeginTransaction()) { try { listEntity1 = EntityPreparationBantuan.GetInstance.DictEntityPreparation["updatedefined"].SetPreparationEntity <T1>(listEntity1); listEntity2 = EntityPreparationBantuan.GetInstance.DictEntityPreparation["updatedefined"].SetPreparationEntity <T2>(listEntity2); listEntity3 = EntityPreparationBantuan.GetInstance.DictEntityPreparation["updatedefined"].SetPreparationEntity <T3>(listEntity3); listEntity4 = EntityPreparationBantuan.GetInstance.DictEntityPreparation["updatedefined"].SetPreparationEntity <T4>(listEntity4); foreach (var item in listEntity1) { context.Set <T1>().Attach(item); context.Entry(item).State = EntityState.Modified; } foreach (var item in listEntity2) { context.Set <T2>().Attach(item); context.Entry(item).State = EntityState.Modified; } foreach (var item in listEntity3) { context.Set <T3>().Attach(item); context.Entry(item).State = EntityState.Modified; } foreach (var item in listEntity4) { context.Set <T4>().Attach(item); context.Entry(item).State = EntityState.Modified; } hasil = context.SaveChanges(); contextTrans.Commit(); eFReturn = eFReturn.SetEFReturnValue(eFReturn, true, hasil, listEntity1, listEntity2, listEntity3, listEntity4); } catch (Exception ex) { eFReturn = eFReturn.SetEFReturnValue(eFReturn, false, 0, ex.Message); contextTrans.Rollback(); } } } } return(eFReturn); }
public virtual EFReturnValue ListData <TSource, TResult>(List <SearchField> searchFieldList, string sortColumn, bool isAscending, int topTake) where TSource : class where TResult : class { using (var context = DBContextBantuan.GetInstance.CreateConnectionContext()) { using (var cmd = context.Database.GetDbConnection().CreateCommand()) { try { if (cmd.Connection.State == ConnectionState.Open) { cmd.Connection.Close(); } if (cmd.Connection.State == ConnectionState.Closed) { cmd.Connection.Open(); } cmd.CommandTimeout = MiscClass.MiscClass.CommandTimeOut; var queryResult = DBCommandListQuery.GetInstance.CreateQueryList <TSource, TResult>(searchFieldList, sortColumn, isAscending, topTake); cmd.CommandText = queryResult.SelectQuery; queryResult.ListParameters = queryResult.ListParameters.Distinct().ToList(); foreach (var sqlParameter in queryResult.ListParameters) { cmd.Parameters.Add(sqlParameter); } List <ColumnListInfo> listColumn = ColumnPropGet.GetInstance.GetColumnList <TResult>(); List <TResult> listResult = new List <TResult>(); using (var dataReader = cmd.ExecuteReader()) { if (dataReader.HasRows) { listResult = convertResult.ConvertDataReaderToList <TResult>(dataReader); } } eFReturn = eFReturn.SetEFReturnValue(eFReturn, true, 1, listResult); } catch (Exception ex) { eFReturn = eFReturn.SetEFReturnValue(eFReturn, false, 0, ex.Message); } finally { if (cmd.Connection.State == ConnectionState.Open) { cmd.Connection.Close(); } } } } return(eFReturn); }
public virtual EFReturnValue SaveHeaderDetailList <T, T1, T2, T3, T4>(T tblHeader, string idReferenceColName, List <T1> listTblDetail1, List <T2> listTblDetail2, List <T3> listTblDetail3, List <T4> listTblDetail4) where T : class where T1 : class where T2 : class where T3 : class where T4 : class { object objIDColumnHeader = null; eFReturn = new EFReturnValue { IsSuccessConnection = false, IsSuccessQuery = false, ErrorMessage = ErrorMessage.EntityCannotBeNull, ReturnValue = null }; if (tblHeader != null & !string.IsNullOrEmpty(idReferenceColName) & listTblDetail1 != null) { RepoSave repoSave = new RepoSave(); tblHeader = EntityPreparationBantuan.GetInstance.DictEntityPreparation["save"].SetPreparationEntity <T>(tblHeader); var saveMainTable = repoSave.Save <T>(tblHeader); // Safe first in main table RepoSaveList repoSaveList = new RepoSaveList(); if (saveMainTable.IsSuccessConnection & saveMainTable.IsSuccessQuery) { var propIdColumnHeader = ColumnPropGet.GetInstance.GetIdentityColumnProps <T>(); objIDColumnHeader = propIdColumnHeader != null?propIdColumnHeader.GetValue(tblHeader) : null; if (objIDColumnHeader != null) { ColumnPropSet.GetInstance.SetColValue <List <T1> >(listTblDetail1, idReferenceColName, objIDColumnHeader); // set value ref id to tbldetails ColumnPropSet.GetInstance.SetColValue <List <T2> >(listTblDetail2, idReferenceColName, objIDColumnHeader); // set value ref id to tbldetails ColumnPropSet.GetInstance.SetColValue <List <T3> >(listTblDetail3, idReferenceColName, objIDColumnHeader); // set value ref id to tbldetails ColumnPropSet.GetInstance.SetColValue <List <T4> >(listTblDetail4, idReferenceColName, objIDColumnHeader); // set value ref id to tbldetails listTblDetail1 = EntityPreparationBantuan.GetInstance.DictEntityPreparation["save"].SetPreparationEntity <T1>(listTblDetail1); listTblDetail2 = EntityPreparationBantuan.GetInstance.DictEntityPreparation["save"].SetPreparationEntity <T2>(listTblDetail2); listTblDetail3 = EntityPreparationBantuan.GetInstance.DictEntityPreparation["save"].SetPreparationEntity <T3>(listTblDetail3); listTblDetail4 = EntityPreparationBantuan.GetInstance.DictEntityPreparation["save"].SetPreparationEntity <T4>(listTblDetail4); var saveDetailTable = repoSaveList.SaveList <T1, T2, T3, T4>(listTblDetail1, listTblDetail2, listTblDetail3, listTblDetail4);//save to T1 & others if (saveDetailTable.IsSuccessConnection & saveDetailTable.IsSuccessQuery) { eFReturn = eFReturn.SetEFReturnValue(eFReturn, true, 1, listTblDetail1); } else { eFReturn = eFReturn.SetEFReturnValue(eFReturn, false, 0, ErrorMessage.SaveHeaderDetailFailed); RepoDelete repoDelete = new RepoDelete(); repoDelete.Delete <T>(tblHeader); } } } } return(eFReturn); }
public virtual async Task <EFReturnValue> SaveHeaderDetailAsync <T, T1, T2, T3>(T tblHeader, string idReferenceColName, T1 tblDetail1, T2 tblDetail2, T3 tblDetail3) where T : class where T1 : class where T2 : class where T3 : class { object objIDColumnHeader = null; eFReturn = new EFReturnValue { IsSuccessConnection = false, IsSuccessQuery = false, ErrorMessage = ErrorMessage.EntityCannotBeNull, ReturnValue = null }; bool resultDetail = false; if (tblHeader != null & !string.IsNullOrEmpty(idReferenceColName) & tblDetail1 != null) { RepoSaveAsync repoSave = new RepoSaveAsync(); tblHeader = EntityPreparationBantuan.GetInstance.DictEntityPreparation["save"].SetPreparationEntity <T>(tblHeader); var saveMainTable = await repoSave.SaveAsync <T>(tblHeader).ConfigureAwait(false); // Safe first in main table if (saveMainTable.IsSuccessConnection & saveMainTable.IsSuccessQuery) { var propIdColumnHeader = ColumnPropGet.GetInstance.GetIdentityColumnProps <T>(); objIDColumnHeader = propIdColumnHeader != null?propIdColumnHeader.GetValue(tblHeader) : null; if (objIDColumnHeader != null) { ColumnPropSet.GetInstance.SetColValue <T1>(tblDetail1, idReferenceColName, objIDColumnHeader); // set value ref id to tbldetails ColumnPropSet.GetInstance.SetColValue <T2>(tblDetail2, idReferenceColName, objIDColumnHeader); // set value ref id to tbldetails ColumnPropSet.GetInstance.SetColValue <T3>(tblDetail3, idReferenceColName, objIDColumnHeader); // set value ref id to tbldetails tblDetail1 = EntityPreparationBantuan.GetInstance.DictEntityPreparation["save"].SetPreparationEntity <T1>(tblDetail1); tblDetail2 = EntityPreparationBantuan.GetInstance.DictEntityPreparation["save"].SetPreparationEntity <T2>(tblDetail2); tblDetail3 = EntityPreparationBantuan.GetInstance.DictEntityPreparation["save"].SetPreparationEntity <T3>(tblDetail3); var saveDetailTable = await repoSave.SaveAsync <T1, T2, T3>(tblDetail1, tblDetail2, tblDetail3).ConfigureAwait(false);//save to T1 if (resultDetail) { eFReturn = eFReturn.SetEFReturnValue(eFReturn, true, 1, tblDetail1, tblDetail2, tblDetail3); } else { RepoDeleteAsync repoDelete = new RepoDeleteAsync(); await repoDelete.DeleteAsync <T>(tblHeader).ConfigureAwait(false); eFReturn = eFReturn.SetEFReturnValue(eFReturn, false, 0, ErrorMessage.SaveHeaderDetailFailed); } } } } return(eFReturn); }
public virtual EFReturnValue DeleteSave <TDelete, T1, T2, T3, T4>(List <SearchField> deleteParameters, T1 entitySave1, T2 entitySave2, T3 entitySave3, T4 entitySave4) where TDelete : class where T1 : class where T2 : class where T3 : class where T4 : class { int hasil = 0; eFReturn = new EFReturnValue { IsSuccessConnection = false, IsSuccessQuery = false, ErrorMessage = ErrorMessage.EntityCannotBeNull, ReturnValue = null }; if (entitySave1 != null & entitySave2 != null & entitySave3 != null & entitySave4 != null) { using (var context = DBContextBantuan.GetInstance.CreateConnectionContext()) { using (var contextTrans = context.Database.BeginTransaction()) { try { List <TDelete> listDelete = new List <TDelete>(); var listDeleteRV = RepoList.GetInstance.ListData <TDelete>(deleteParameters); if (listDeleteRV.IsSuccessConnection & listDeleteRV.IsSuccessQuery) { listDelete = (List <TDelete>)listDeleteRV.ReturnValue[0].ReturnValue; } //for delete will be delete physicallay entitySave1 = EntityPreparationBantuan.GetInstance.DictEntityPreparation["save"].SetPreparationEntity <T1>(entitySave1); entitySave2 = EntityPreparationBantuan.GetInstance.DictEntityPreparation["save"].SetPreparationEntity <T2>(entitySave2); entitySave3 = EntityPreparationBantuan.GetInstance.DictEntityPreparation["save"].SetPreparationEntity <T3>(entitySave3); entitySave4 = EntityPreparationBantuan.GetInstance.DictEntityPreparation["save"].SetPreparationEntity <T4>(entitySave4); context.Set <T1>().Add(entitySave1); context.Set <T2>().Add(entitySave2); context.Set <T3>().Add(entitySave3); context.Set <T4>().Add(entitySave4); context.Set <TDelete>().AttachRange(listDelete); context.Set <TDelete>().RemoveRange(listDelete); hasil = context.SaveChanges(); contextTrans.Commit(); eFReturn = eFReturn.SetEFReturnValue(eFReturn, true, hasil, listDelete, entitySave1, entitySave2, entitySave3, entitySave4); } catch (Exception ex) { eFReturn = eFReturn.SetEFReturnValue(eFReturn, false, 0, ex.Message); contextTrans.Rollback(); } } } } return(eFReturn); }
public async Task <EFReturnValue> SaveUpdateListAsync <T1>(List <T1> listEntity1, bool isSaveT1) where T1 : class { int hasil = 0; eFReturn = new EFReturnValue { IsSuccessConnection = false, IsSuccessQuery = false, ErrorMessage = ErrorMessage.EntityCannotBeNull, ReturnValue = null }; if (listEntity1 != null) { using (var context = DBContextBantuan.GetInstance.CreateConnectionContext()) { using (var contextTrans = context.Database.BeginTransaction()) { try { listEntity1 = this.SetEntityPreparation <T1>(listEntity1, isSaveT1); if (isSaveT1) { await context.Set <T1>().AddRangeAsync(listEntity1); } if (!isSaveT1) { for (int i = 0; i < listEntity1.Count; i++) { List <PropertyInfo> colNotNullT1 = ColumnPropGet.GetInstance.GetPropertyColNotNull <T1>(listEntity1[i]); context.Set <T1>().Attach(listEntity1[i]); context.Entry(listEntity1[i]).State = EntityState.Unchanged; foreach (PropertyInfo property in colNotNullT1) { if (property != null) { context.Entry(listEntity1[i]).Property(property.Name).IsModified = true; } } } } hasil = await context.SaveChangesAsync().ConfigureAwait(false); contextTrans.Commit(); eFReturn = eFReturn.SetEFReturnValue(eFReturn, true, hasil, listEntity1); } catch (Exception ex) { eFReturn = eFReturn.SetEFReturnValue(eFReturn, false, 0, ex.Message); contextTrans.Rollback(); } } } } return(eFReturn); }
public override EFReturnValue ListData <T>(List <SearchField> searchFieldList) { eFReturn = new EFReturnValue { IsSuccessConnection = false, IsSuccessQuery = false, ErrorMessage = ErrorMessage.EntityCannotBeNull, ReturnValue = null }; if (!ColumnPropGet.GetInstance.GetCheckIsDBCommandList <T>(searchFieldList)) { eFReturn = base.ListData <T>(searchFieldList); } else { eFReturn = listDBCommand.ListData <T>(searchFieldList); } return(eFReturn); }
public override EFReturnValue ListData <TSource, TResult>(List <SearchField> searchFieldList, string sortColumn, bool isAscending, int topTake) { eFReturn = new EFReturnValue { IsSuccessConnection = false, IsSuccessQuery = false, ErrorMessage = ErrorMessage.EntityCannotBeNull, ReturnValue = null }; if (!ColumnPropGet.GetInstance.GetCheckIsDBCommandList <TSource>(searchFieldList)) { eFReturn = base.ListData <TSource, TResult>(searchFieldList, sortColumn, isAscending, topTake); } else { eFReturn = listDBCommand.ListData <TSource, TResult>(searchFieldList, sortColumn, isAscending, topTake); } return(eFReturn); }
public override async Task <EFReturnValue> ListDataAsync <T>(List <SearchField> searchFieldList, string sortColumn, bool isAscending, int topTake) { eFReturn = new EFReturnValue { IsSuccessConnection = false, IsSuccessQuery = false, ErrorMessage = ErrorMessage.EntityCannotBeNull, ReturnValue = null }; if (!ColumnPropGet.GetInstance.GetCheckIsDBCommandList <T>(searchFieldList)) { eFReturn = await base.ListDataAsync <T>(searchFieldList, sortColumn, isAscending, topTake).ConfigureAwait(false); } else { eFReturn = await listDBCommand.ListDataAsync <T>(searchFieldList, sortColumn, isAscending, topTake).ConfigureAwait(false); } return(eFReturn); }
public virtual EFReturnValue ListDataQueryable <TResult>(IQueryable <TResult> queryable) where TResult : class { eFReturn = new EFReturnValue { IsSuccessConnection = false, IsSuccessQuery = false, ErrorMessage = ErrorMessage.EntityCannotBeNull, ReturnValue = null }; try { QueryGenerator query = new QueryGenerator(); queryable = query.QueryGeneratorList <TResult>(queryable, null, string.Empty, false, 0); var result = queryable.ToList(); eFReturn = eFReturn.SetEFReturnValue(eFReturn, true, 1, result); } catch (Exception ex) { eFReturn = eFReturn.SetEFReturnValue(eFReturn, false, 0, ex.Message); } return(eFReturn); }
public virtual EFReturnValue ListDataQueryable <TResult>(IQueryable <TResult> queryable, List <SearchField> searchFieldList, string sortColumn, bool isAscending, int topTake) where TResult : class { eFReturn = new EFReturnValue { IsSuccessConnection = false, IsSuccessQuery = false, ErrorMessage = ErrorMessage.EntityCannotBeNull, ReturnValue = null }; try { QueryGenerator query = new QueryGenerator(); queryable = query.QueryGeneratorList <TResult>(queryable, searchFieldList, sortColumn, isAscending, topTake); var result = queryable.ToList(); eFReturn = eFReturn.SetEFReturnValue(eFReturn, true, 1, result); } catch (Exception ex) { eFReturn = eFReturn.SetEFReturnValue(eFReturn, false, 0, ex.Message); } return(eFReturn); }
public virtual async Task <EFReturnValue> SaveListAsync <T1, T2, T3, T4, T5>(List <T1> listEntity1, List <T2> listEntity2, List <T3> listEntity3, List <T4> listEntity4, List <T5> listEntity5) where T1 : class where T2 : class where T3 : class where T4 : class where T5 : class { int hasil = 0; eFReturn = new EFReturnValue { IsSuccessConnection = false, IsSuccessQuery = false, ErrorMessage = ErrorMessage.EntityCannotBeNull, ReturnValue = null }; if (listEntity1 != null & listEntity2 != null & listEntity3 != null) { using (var context = DBContextBantuan.GetInstance.CreateConnectionContext()) { using (var contextTrans = context.Database.BeginTransaction()) { try { listEntity1 = EntityPreparationBantuan.GetInstance.DictEntityPreparation["save"].SetPreparationEntity <T1>(listEntity1); listEntity2 = EntityPreparationBantuan.GetInstance.DictEntityPreparation["save"].SetPreparationEntity <T2>(listEntity2); listEntity3 = EntityPreparationBantuan.GetInstance.DictEntityPreparation["save"].SetPreparationEntity <T3>(listEntity3); listEntity4 = EntityPreparationBantuan.GetInstance.DictEntityPreparation["save"].SetPreparationEntity <T4>(listEntity4); listEntity5 = EntityPreparationBantuan.GetInstance.DictEntityPreparation["save"].SetPreparationEntity <T5>(listEntity5); await context.Set <T1>().AddRangeAsync(listEntity1); await context.Set <T2>().AddRangeAsync(listEntity2); await context.Set <T3>().AddRangeAsync(listEntity3); await context.Set <T4>().AddRangeAsync(listEntity4); await context.Set <T5>().AddRangeAsync(listEntity5); hasil = await context.SaveChangesAsync().ConfigureAwait(false); contextTrans.Commit(); eFReturn = eFReturn.SetEFReturnValue(eFReturn, true, hasil, listEntity1, listEntity2, listEntity3, listEntity4, listEntity5); } catch (Exception ex) { eFReturn = eFReturn.SetEFReturnValue(eFReturn, false, 0, ex.Message); contextTrans.Rollback(); } } } } return(eFReturn); }
public virtual async Task <EFReturnValue> DeleteActiveBoolListAsync <T>(List <int> listIDIdentity) where T : class { int hasil = 0; eFReturn = new EFReturnValue { IsSuccessConnection = false, IsSuccessQuery = false, ErrorMessage = ErrorMessage.EntityCannotBeNull, ReturnValue = null }; if (listIDIdentity != null) { using (var context = DBContextBantuan.GetInstance.CreateConnectionContext()) { using (var contextTrans = context.Database.BeginTransaction()) { try { List <T> listEntity = ColumnPropGet.GetInstance.GetInstanceWithIDColumnList <T>(listIDIdentity); listEntity = EntityPreparationBantuan.GetInstance.DictEntityPreparation["delete"].SetPreparationEntity <T>(listEntity); foreach (var item in listEntity) { var propUpdateDate1 = ColumnPropGet.GetInstance.GetColumnProps <T>(MiscClass.MiscClass.ArrayUpdateDate); var propActiveBool1 = ColumnPropGet.GetInstance.GetColumnProps <T>(MiscClass.MiscClass.ArrayActiveBool); context.Set <T>().Attach(item); context.Entry(item).State = EntityState.Unchanged; if (propUpdateDate1 != null) { context.Entry(item).Property(propUpdateDate1.Name).IsModified = true; } if (propActiveBool1 != null) { context.Entry(item).Property(propActiveBool1.Name).IsModified = true; } } hasil = await context.SaveChangesAsync().ConfigureAwait(false); contextTrans.Commit(); eFReturn = eFReturn.SetEFReturnValue(eFReturn, true, hasil, listEntity); } catch (Exception ex) { eFReturn = eFReturn.SetEFReturnValue(eFReturn, false, 0, ex.Message); contextTrans.Rollback(); } } } } return(eFReturn); }
public virtual async Task <EFReturnValue> UpdateAsync <T>(T entity) where T : class { int hasil = 0; eFReturn = new EFReturnValue { IsSuccessConnection = false, IsSuccessQuery = false, ErrorMessage = ErrorMessage.EntityCannotBeNull, ReturnValue = null }; if (entity != null) { using (var context = DBContextBantuan.GetInstance.CreateConnectionContext()) { using (var contextTrans = context.Database.BeginTransaction()) { try { var cekIsContinue = await multiple.IsContinueUpdateAfterMultiplePKAsync <T>(entity); if (cekIsContinue) { entity = EntityPreparationBantuan.GetInstance.DictEntityPreparation["updatedefined"].SetPreparationEntity <T>(entity); var colNotNull = ColumnPropGet.GetInstance.GetPropertyColNotNull <T>(entity);//will update except activebool boolactive insertby insertbyid context.Set <T>().Attach(entity); context.Entry(entity).State = EntityState.Unchanged; foreach (PropertyInfo property in colNotNull) { if (property != null) { context.Entry(entity).Property(property.Name).IsModified = true; } } hasil = await context.SaveChangesAsync().ConfigureAwait(false); contextTrans.Commit(); eFReturn = eFReturn.SetEFReturnValue(eFReturn, true, hasil, entity); } else { eFReturn = eFReturn.SetEFReturnValue(eFReturn, false, 0, this.multipleErrorMessage); } } catch (Exception ex) { eFReturn = eFReturn.SetEFReturnValue(eFReturn, false, 0, ex.Message); contextTrans.Rollback(); } } } } return(eFReturn); }
public virtual EFReturnValue Delete <T1, T2, T3, T4, T5>(T1 entity1, T2 entity2, T3 entity3, T4 entity4, T5 entity5) where T1 : class where T2 : class where T3 : class where T4 : class where T5 : class { int hasil = 0; eFReturn = new EFReturnValue { IsSuccessConnection = false, IsSuccessQuery = false, ErrorMessage = ErrorMessage.EntityCannotBeNull, ReturnValue = null }; eFReturn = new EFReturnValue { IsSuccessConnection = false, IsSuccessQuery = false, ErrorMessage = ErrorMessage.EntityCannotBeNull, ReturnValue = null }; if (entity1 != null & entity2 != null & entity3 != null & entity4 != null & entity5 != null) { using (var context = DBContextBantuan.GetInstance.CreateConnectionContext()) { using (var contextTrans = context.Database.BeginTransaction()) { try { context.Set <T1>().Attach(entity1); context.Set <T2>().Attach(entity2); context.Set <T3>().Attach(entity3); context.Set <T4>().Attach(entity4); context.Set <T5>().Attach(entity5); context.Set <T1>().Remove(entity1); context.Set <T2>().Remove(entity2); context.Set <T3>().Remove(entity3); context.Set <T4>().Remove(entity4); context.Set <T5>().Remove(entity5); hasil = context.SaveChanges(); contextTrans.Commit(); eFReturn = eFReturn.SetEFReturnValue(eFReturn, true, hasil, entity1, entity2, entity3, entity4, entity5); } catch (Exception ex) { eFReturn = eFReturn.SetEFReturnValue(eFReturn, false, 0, ex.Message); contextTrans.Rollback(); } } } } return(eFReturn); }
public virtual EFReturnValue ListData <T>() where T : class { eFReturn = new EFReturnValue { IsSuccessConnection = false, IsSuccessQuery = false, ErrorMessage = ErrorMessage.EntityCannotBeNull, ReturnValue = null }; using (var context = DBContextBantuan.GetInstance.CreateConnectionContext()) { try { var queryable = context.Set <T>().AsQueryable(); QueryGenerator query = new QueryGenerator(); queryable = query.QueryGeneratorList <T>(queryable, null, string.Empty, false, 0); var result = queryable.ToList(); eFReturn = eFReturn.SetEFReturnValue(eFReturn, true, 1, result); } catch (Exception ex) { eFReturn = eFReturn.SetEFReturnValue(eFReturn, false, 0, ex.Message); } } return(eFReturn); }
public virtual EFReturnValue ListData <TSource, TResult>(List <SearchField> searchFieldList, string sortColumn, bool isAscending, int topTake) where TSource : class where TResult : class { eFReturn = new EFReturnValue { IsSuccessConnection = false, IsSuccessQuery = false, ErrorMessage = ErrorMessage.EntityCannotBeNull, ReturnValue = null }; using (var context = DBContextBantuan.GetInstance.CreateConnectionContext()) { try { var queryable = context.Set <TSource>().AsQueryable(); QueryGenerator query = new QueryGenerator(); var result = query.QueryGeneratorList <TSource, TResult>(queryable, searchFieldList, sortColumn, false, topTake).ToList(); } catch (Exception ex) { eFReturn = eFReturn.SetEFReturnValue(eFReturn, false, 0, ex.Message); } } return(eFReturn); }