public ResponseBo <List <ProductFilterPoolListBo> > GetPoolList(ProductFilterPoolGetListCriteriaBo criteriaBo)
        {
            ResponseBo <List <ProductFilterPoolListBo> > responseBo = new ResponseBo <List <ProductFilterPoolListBo> >();

            try
            {
                using (SqlConnection conn = DbAccess.Connection.GetConn())
                {
                    var p = new DynamicParameters();
                    p.Add("@Message", dbType: DbType.String, direction: ParameterDirection.Output, size: 255);
                    p.Add("@IsSuccess", dbType: DbType.Boolean, direction: ParameterDirection.Output);

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

                    p.Add("@OnlyInInventory", criteriaBo.OnlyInInventory, DbType.Boolean, ParameterDirection.Input);
                    p.Add("@OnlyInStock", criteriaBo.OnlyInStock, DbType.Boolean, ParameterDirection.Input);

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

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

                    p.Add("@MyPersonId", criteriaBo.Session.MyPerson.Id, DbType.Int64, ParameterDirection.Input);
                    p.Add("@OperatorRealId", criteriaBo.Session.RealPerson.Id, DbType.Int64, ParameterDirection.Input);
                    p.Add("@LanguageId", criteriaBo.Session.RealPerson.LanguageId, DbType.Int32, ParameterDirection.Input);

                    responseBo.Bo        = conn.Query <ProductFilterPoolListBo>("spProductFilterPoolList", p, commandType: CommandType.StoredProcedure).ToList();
                    responseBo.Message   = p.Get <string>("@Message");
                    responseBo.IsSuccess = p.Get <bool>("@IsSuccess");

                    if (responseBo.Bo != null)
                    {
                        foreach (ProductFilterPoolListBo item in responseBo.Bo)
                        {
                            if (item.ProductCodeListRawJson.IsNull())
                            {
                                continue;
                            }

                            item.ProductCodeList = JsonConvert.DeserializeObject <List <ProductCodeBo> >(item.ProductCodeListRawJson);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                responseBo = base.SaveExLog(ex, this.GetType(), MethodBase.GetCurrentMethod().Name, criteriaBo).ToResponse <List <ProductFilterPoolListBo> >();
            }

            return(responseBo);
        }
示例#2
0
        public ResponseDto <List <ProductFilterPoolListDto> > GetPoolList(ProductFilterPoolGetListCriteriaDto criteriaDto)
        {
            ProductFilterPoolGetListCriteriaBo criteriaBo = new ProductFilterPoolGetListCriteriaBo()
            {
                ProductNameCode   = criteriaDto.ProductNameCode,
                ProductTypeId     = criteriaDto.ProductTypeId,
                ProductCategoryId = criteriaDto.ProductCategoryId,

                OnlyInInventory = criteriaDto.OnlyInInventory,
                OnlyInStock     = criteriaDto.OnlyInStock,

                PersonId = criteriaDto.PersonId,

                PageOffSet = criteriaDto.PageOffSet,

                Session = Session
            };

            ResponseBo <List <ProductFilterPoolListBo> > responseBo = productFilterBusiness.GetPoolList(criteriaBo);

            ResponseDto <List <ProductFilterPoolListDto> > responseDto = responseBo.ToResponseDto <List <ProductFilterPoolListDto>, List <ProductFilterPoolListBo> >();

            if (responseBo.IsSuccess && responseBo.Bo != null)
            {
                responseDto.Dto = new List <ProductFilterPoolListDto>();
                foreach (ProductFilterPoolListBo itemBo in responseBo.Bo)
                {
                    responseDto.Dto.Add(new ProductFilterPoolListDto()
                    {
                        ProductId     = itemBo.ProductId,
                        ProductName   = itemBo.ProductName,
                        ProductTypeId = itemBo.ProductTypeId,

                        PortraitImageUniqueIdStr = base.GetImageName(itemBo.PortraitImageUniqueId, itemBo.PortraitImageFileTypeId),

                        CategoryId      = itemBo.CategoryId,
                        ProductCodeList = (from x in itemBo.ProductCodeList // cannot be null
                                           select new ProductCodeDto
                        {
                            ProductCodeTypeId = x.ProductCodeTypeId,
                            Code = x.Code
                        }).ToList(),

                        PersonProductId = itemBo.PersonProductId,
                        Balance         = itemBo.Balance
                    });
                }
            }

            return(responseDto);
        }