コード例 #1
0
        public FTSerListResult GetListWithPaging(WCFAuthInfoVM entity_WCFAuthInfoVM, FunctionTypeVM entity_SearchCriteria, int int_CurrentPage, int int_PageSize, string str_SortColumn, string str_SortDir, List <string> str_CustomFilter)
        {
            try
            {
                //Restore Server Session by token
                RetrieveServerSideSession(entity_WCFAuthInfoVM);

                //Flag Success or Fail
                bool ret = false;

                //Define error list
                List <string> strList_Error = new List <string>();

                //Instantiate  FTSerListResult
                FTSerListResult returnResult = new FTSerListResult();

                CoolPrivilegeControlContext dbContext = CoolPrivilegeControlContext.CreateContext();

                FunctionTypeRespository entityRepos_FT = new FunctionTypeRespository(dbContext, entity_BaseSession.ID);

                #region [ Check Privilege ]
                ret = CheckAccPrivilege(entity_BaseSession.ID, entity_WCFAuthInfoVM.RequestFunKey, entity_WCFAuthInfoVM.RequestFunTypeKey, ref strList_Error);
                #endregion

                //Initialize FTSerListResult instance
                returnResult.StrList_Error             = strList_Error;
                returnResult.Int_TotalRecordCount      = 0;
                returnResult.EntityList_FunctionTypeVM = new List <FunctionTypeVM>();

                //Success
                if (ret)
                {
                    int recordCount = 0;

                    List <FunctionTypeVM> vmList = entityRepos_FT.GetEntityListByPage(entity_SearchCriteria, int_CurrentPage, int_PageSize, str_SortColumn, str_SortDir, out recordCount, str_CustomFilter);

                    //Assign data to FTSerListResult instance
                    returnResult.EntityList_FunctionTypeVM = vmList;
                    returnResult.Int_TotalRecordCount      = recordCount;
                }

                return(returnResult);
            }
            catch (Exception ex)
            {
                throw new FaultException <WCFErrorContract>(new WCFErrorContract(ex), ex.Message);
            }
        }
        public FTSerListResult GetListWithPaging(WCFAuthInfoVM entity_WCFAuthInfoVM, FunctionTypeVM entity_SearchCriteria, int int_CurrentPage, int int_PageSize, string str_SortColumn, string str_SortDir, List <string> str_CustomFilter)
        {
            try
            {
                //Restore Server Session by token
                RetrieveServerSideSession(entity_WCFAuthInfoVM);

                //Flag Success or Fail
                bool ret = false;

                //Define error list
                List <string> strList_Error = new List <string>();

                //Instantiate  FTSerListResult
                FTSerListResult returnResult = new FTSerListResult();

                CoolPrivilegeControlContext dbContext = CoolPrivilegeControlContext.CreateContext();

                FunctionTypeRespository entityRepos_FT = new FunctionTypeRespository(dbContext, entity_BaseSession.ID);

                #region [ Check Privilege ]
                ret = CheckAccPrivilege(entity_BaseSession.ID, entity_WCFAuthInfoVM.RequestFunKey, entity_WCFAuthInfoVM.RequestFunTypeKey, ref strList_Error);
                #endregion

                bool allowEdit = entity_BaseSession.CheckAccessRight("FTManage", "Edit", "", null);
                bool allowDel  = entity_BaseSession.CheckAccessRight("FTManage", "Delete", "", null);

                //Initialize FTSerListResult instance
                returnResult.StrList_Error             = strList_Error;
                returnResult.Int_TotalRecordCount      = 0;
                returnResult.EntityList_FunctionTypeVM = new List <FunctionTypeVM>();

                //Success
                if (ret)
                {
                    int recordCount = 0;

                    if (entity_SearchCriteria == null)
                    {
                        entity_SearchCriteria = new FunctionTypeVM();
                    }

                    if (!string.IsNullOrWhiteSpace(entity_SearchCriteria.FunctionType) && str_CustomFilter.Count == 0)
                    {
                        str_CustomFilter.Add(String.Format("{0}.StartsWith(\"{1}\")", "FT_Name", entity_SearchCriteria.FunctionType));
                    }

                    List <FunctionTypeVM> vmList = entityRepos_FT.GetEntityListByPage(entity_SearchCriteria, int_CurrentPage, int_PageSize, str_SortColumn, str_SortDir, out recordCount, str_CustomFilter, null, null, (entityList_FunTypeVM) =>
                    {
                        foreach (var item in entityList_FunTypeVM)
                        {
                            item.AllowDel  = allowDel;
                            item.AllowEdit = allowEdit;
                        }

                        return(entityList_FunTypeVM);
                    });

                    //Assign data to FTSerListResult instance
                    returnResult.EntityList_FunctionTypeVM = vmList;
                    returnResult.Int_TotalRecordCount      = recordCount;
                }

                return(returnResult);
            }
            catch (Exception ex)
            {
                throw new WebFaultException <WCFErrorContract>(new WCFErrorContract(ex), System.Net.HttpStatusCode.ExpectationFailed);
            }
        }