Esempio n. 1
0
        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);
        }
Esempio n. 5
0
        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);
        }
Esempio n. 6
0
        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);
        }
Esempio n. 8
0
        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);
        }
Esempio n. 9
0
        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);
        }
Esempio n. 10
0
        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);
        }
Esempio n. 11
0
 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);
 }
Esempio n. 12
0
 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);
 }
Esempio n. 13
0
 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);
 }
Esempio n. 14
0
        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);
        }
Esempio n. 15
0
        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);
        }
Esempio n. 16
0
        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);
        }
Esempio n. 18
0
        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);
        }
Esempio n. 19
0
        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);
        }
Esempio n. 20
0
 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);
 }
Esempio n. 21
0
 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);
 }