public ResponseDto <List <PersonProductActivityListDto> > GetActivityList(PersonProductActivityGetListCriteriaDto criteriaDto)
        {
            PersonProductActivityGetListCriteriaBo criteriaBo = new PersonProductActivityGetListCriteriaBo()
            {
                OwnerPersonId = criteriaDto.OwnerPersonId,
                ProductIdList = criteriaDto.ProductIdList,

                ApprovalStatIdList = criteriaDto.ApprovalStatIdList,

                QuantityTotalMin = criteriaDto.QuantityTotalMin,
                QuantityTotalMax = criteriaDto.QuantityTotalMax,

                IssueDateStart = criteriaDto.IssueDateStartNumber.ToDateTimeFromNumberNull(),
                IssueDateEnd   = criteriaDto.IssueDateEndNumber.ToDateTimeFromNumberNull(),

                PageOffSet = criteriaDto.PageOffSet,

                Session = Session
            };

            ResponseBo <List <PersonProductActivityListBo> > responseBo = personProductBusiness.GetActivityList(criteriaBo);

            ResponseDto <List <PersonProductActivityListDto> > responseDto = responseBo.ToResponseDto <List <PersonProductActivityListDto>, List <PersonProductActivityListBo> >();

            if (responseBo.IsSuccess && responseBo.Bo != null)
            {
                responseDto.Dto = new List <PersonProductActivityListDto>();
                foreach (PersonProductActivityListBo itemBo in responseBo.Bo)
                {
                    responseDto.Dto.Add(new PersonProductActivityListDto()
                    {
                        Id       = itemBo.Id,
                        Quantity = itemBo.Quantity,

                        ProductId     = itemBo.ProductId,
                        ProductName   = itemBo.ProductName,
                        ProductTypeId = itemBo.ProductTypeId,
                        IsDebt        = itemBo.IsDebt,

                        OwnerPersonId = itemBo.OwnerPersonId,

                        FicheId              = itemBo.FicheId,
                        FicheCurrencyId      = itemBo.FicheCurrencyId,
                        FicheApprovalStatId  = itemBo.FicheApprovalStatId,
                        FicheIssueDateNumber = itemBo.FicheIssueDate.ToNumberFromDateTime()
                    });
                }
            }

            return(responseDto);
        }
        public ResponseBo <List <PersonProductActivityListBo> > GetActivityList(PersonProductActivityGetListCriteriaBo criteriaBo)
        {
            ResponseBo <List <PersonProductActivityListBo> > responseBo = new ResponseBo <List <PersonProductActivityListBo> >();

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

                    p.Add("@OwnerPersonId", criteriaBo.OwnerPersonId, DbType.Int64, ParameterDirection.Input);
                    p.Add("@ProductIdList", criteriaBo.ProductIdList.ToStrSeparated(), DbType.String, ParameterDirection.Input, 4000);

                    p.Add("@ApprovalStatIdList", criteriaBo.ApprovalStatIdList.ToStrSeparated(), DbType.String, ParameterDirection.Input, 50);

                    p.Add("@IssueDateStart", criteriaBo.IssueDateStart?.Date, DbType.Date, ParameterDirection.Input);
                    p.Add("@IssueDateEnd", criteriaBo.IssueDateEnd?.Date, DbType.Date, ParameterDirection.Input);

                    p.Add("@QuantityTotalMin", criteriaBo.QuantityTotalMin, DbType.Decimal, ParameterDirection.Input);
                    p.Add("@QuantityTotalMax", criteriaBo.QuantityTotalMax, DbType.Decimal, ParameterDirection.Input);

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

                    responseBo.Bo        = conn.Query <PersonProductActivityListBo>("spPersonProductActivityList", 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 <PersonProductActivityListBo> >();
            }

            return(responseBo);
        }