public ResponseBo <List <ProductCategoryListBo> > GetCategoryList(PersonProductCategoryGetListCriteriaBo criteriaBo)
        {
            ResponseBo <List <ProductCategoryListBo> > responseBo = new ResponseBo <List <ProductCategoryListBo> >();

            try
            {
                using (SqlConnection conn = DbAccess.Connection.GetConn())
                {
                    var p = new DynamicParameters();
                    base.AddStandartSpParams(ref p, criteriaBo);

                    p.Add("@ProductTypeId", criteriaBo.ProductTypeId, DbType.Int32, ParameterDirection.Input);
                    p.Add("@PersonId", criteriaBo.PersonId, DbType.Int64, ParameterDirection.Input);

                    p.Add("@IsSaleForOnline", criteriaBo.IsSaleForOnline, DbType.Boolean, ParameterDirection.Input);
                    p.Add("@IsTemporarilyUnavaible", criteriaBo.IsTemporarilyUnavaible, DbType.Boolean, ParameterDirection.Input);

                    p.Add("@StockStatId", criteriaBo.StockStatId, DbType.Int32, ParameterDirection.Input);

                    p.Add("@ProductNameCode", criteriaBo.ProductNameCode, DbType.String, ParameterDirection.Input, 255);

                    responseBo.Bo        = conn.Query <ProductCategoryListBo>("spPersonProductCategoryList", p, commandType: CommandType.StoredProcedure).ToList();
                    responseBo.Message   = p.Get <string>("@Message");
                    responseBo.IsSuccess = p.Get <bool>("@IsSuccess");
                }
            }
            catch (Exception ex)
            {
                responseBo = base.SaveExLog(ex, this.GetType(), MethodBase.GetCurrentMethod().Name, criteriaBo).ToResponse <List <ProductCategoryListBo> >();
            }

            return(responseBo);
        }
        public ResponseDto <List <ProductCategoryListDto> > GetCategoryList(PersonProductCategoryGetListCriteriaDto criteriaDto)
        {
            PersonProductCategoryGetListCriteriaBo criteriaBo = new PersonProductCategoryGetListCriteriaBo()
            {
                ProductTypeId = criteriaDto.ProductTypeId,
                PersonId      = criteriaDto.PersonId,

                IsSaleForOnline        = criteriaDto.IsSaleForOnline,
                IsTemporarilyUnavaible = criteriaDto.IsTemporarilyUnavaible,

                StockStatId = criteriaDto.StockStatId,

                ProductNameCode = criteriaDto.ProductNameCode,

                Session = Session
            };

            ResponseBo <List <ProductCategoryListBo> > responseBo = personProductBusiness.GetCategoryList(criteriaBo);

            ResponseDto <List <ProductCategoryListDto> > responseDto = responseBo.ToResponseDto <List <ProductCategoryListDto>, List <ProductCategoryListBo> >();

            if (responseBo.IsSuccess && responseBo.Bo != null)
            {
                responseDto.Dto = new List <ProductCategoryListDto>();

                foreach (ProductCategoryListBo itemBo in responseBo.Bo.Where(x => x.IsLast))
                {
                    responseDto.Dto.Add(new ProductCategoryListDto()
                    {
                        Id   = itemBo.Id,
                        Name = itemBo.Name, //+ " - " + GetFullName(itemBo, responseBo.Bo),

                        UrlName = itemBo.UrlName,

                        IsLast = itemBo.IsLast
                    });
                }
            }

            return(responseDto);
        }