public ServicesResponse <IEnumerable <InvoiceHeaderReponseModel> > GetAllDataByFilterV2(InvoiceHeaderRequestModel requestModel)
        {
            var methodName = MethodBase.GetCurrentMethod().GetMethodName();

            try
            {
                var invoiceHeaders = connectionFactory.CreateConnection().GetAll <InvoiceHeaderEntity>().AsQueryable();
                var customers      = customerInfoManager.GetAllDataByFilter(null, requestModel.CustomerNo).ResultData;
                var users          = usersInfoManager.GetAllData().ResultData;

                #region Filter Condition
                var predicate = PredicateBuilderHelper.True <InvoiceHeaderEntity>();
                if (!requestModel.InvoiceNo.IsNullOrLessOrEqToZero())
                {
                    predicate = predicate.Or(q => q.InvoiceNo == requestModel.InvoiceNo);
                }

                if (!requestModel.CustomerNo.IsNullOrLessOrEqToZero())
                {
                    var cus = customers.FirstOrDefault(q => q.CustomerNo == requestModel.CustomerNo);
                    if (cus != null)
                    {
                        predicate = predicate.Or(q => q.CustomerId == cus.Id);
                    }
                }
                if (requestModel.StartDate.HasValue && requestModel.EndDate.HasValue)
                {
                    predicate = predicate.Or(q => q.CreatedDate >= requestModel.StartDate.Value && q.CreatedDate <= requestModel.EndDate.Value);
                }
                #endregion

                var result = invoiceHeaders.Where(predicate).Select(q => new InvoiceHeaderReponseModel
                {
                    Currency    = q.Currency,
                    Address     = customers.FirstOrDefault(p => p.Id == q.Id).CutomerCity,
                    CustomerNo  = customers.FirstOrDefault(p => p.Id == q.Id).CustomerNo,
                    GrandTotal  = q.GrandTotal,
                    InvoiceNo   = q.InvoiceNo,
                    CreatedDate = q.CreatedDate,
                    CreatedBy   = users.FirstOrDefault(p => p.Id == q.CreatedUser).UserNo
                }).AsEnumerable();

                return(GlobalHelper.CreateServicesResponse(result));
            }
            catch (FattalDbException ex)
            {
                logger.AddErrorLog(LogTypeEnum.Error, methodName, null, ex.ExceptionMessageProp, ex);
                return(GlobalHelper.CreateServicesErrorResponse <IEnumerable <InvoiceHeaderReponseModel> >(ex.ExceptionMessageProp, ex.ErrorTypeProp));
            }
            catch (KnownException ex)
            {
                return(GlobalHelper.CreateServicesErrorResponse <IEnumerable <InvoiceHeaderReponseModel> >(ex.ExceptionMessageProp, ex.ErrorTypeProp));
            }
            catch (Exception ex)
            {
                logger.AddErrorLog(LogTypeEnum.Error, methodName, null, ex.Message, ex);
                return(GlobalHelper.CreateServicesErrorResponse <IEnumerable <InvoiceHeaderReponseModel> >());
            }
        }
        public ServicesResponse <IEnumerable <CustomerInfoModel> > GetAllDataByFilter(int?customerId = null, string customerNo = "")
        {
            var methodName = MethodBase.GetCurrentMethod().GetMethodName();

            try
            {
                var data      = cache.GetAllCachedData().AsQueryable();
                var predicate = PredicateBuilderHelper.True <CustomerInfoModel>();

                #region Filter Condition
                if (!customerId.IsNullOrLessOrEqToZero())
                {
                    predicate = predicate.Or(q => q.Id == customerId);
                }
                else if (!customerNo.IsNullOrEmpty())
                {
                    predicate = predicate.Or(q => q.CustomerNo == customerNo);
                }
                #endregion
                var result = data.Where(predicate).AsEnumerable();
                return(GlobalHelper.CreateServicesResponse(result));
            }
            catch (FattalDbException ex)
            {
                logger.AddErrorLog(LogTypeEnum.Error, methodName, null, ex.ExceptionMessageProp, ex);
                return(GlobalHelper.CreateServicesErrorResponse <IEnumerable <CustomerInfoModel> >(ex.ExceptionMessageProp, ex.ErrorTypeProp));
            }
            catch (KnownException ex)
            {
                return(GlobalHelper.CreateServicesErrorResponse <IEnumerable <CustomerInfoModel> >(ex.ExceptionMessageProp, ex.ErrorTypeProp));
            }
            catch (Exception ex)
            {
                logger.AddErrorLog(LogTypeEnum.Error, methodName, null, ex.Message, ex);
                return(GlobalHelper.CreateServicesErrorResponse <IEnumerable <CustomerInfoModel> >());
            }
        }
        public ServicesResponse <IEnumerable <UserInfoModel> > GetAllData()
        {
            var methodName = MethodBase.GetCurrentMethod().GetMethodName();

            try
            {
                var data = cache.GetAllCachedData();
                return(GlobalHelper.CreateServicesResponse(data));
            }
            catch (FattalDbException ex)
            {
                logger.AddErrorLog(LogTypeEnum.Error, methodName, null, ex.ExceptionMessageProp, ex);
                return(GlobalHelper.CreateServicesErrorResponse <IEnumerable <UserInfoModel> >(ex.ExceptionMessageProp, ex.ErrorTypeProp));
            }
            catch (KnownException ex)
            {
                return(GlobalHelper.CreateServicesErrorResponse <IEnumerable <UserInfoModel> >(ex.ExceptionMessageProp, ex.ErrorTypeProp));
            }
            catch (Exception ex)
            {
                logger.AddErrorLog(LogTypeEnum.Error, methodName, null, ex.Message, ex);
                return(GlobalHelper.CreateServicesErrorResponse <IEnumerable <UserInfoModel> >());
            }
        }