Ejemplo n.º 1
0
        public ResponseBo <List <BasketListBo> > GetList(BasketGetListCriteriaBo criteriaBo)
        {
            ResponseBo <List <BasketListBo> > responseBo = new ResponseBo <List <BasketListBo> >();

            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("@DebtPersonId", criteriaBo.DebtPersonId, DbType.Int64, ParameterDirection.Input);

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

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

                    p.Add("@ApiSessionId", criteriaBo.Session.ApiSessionId, DbType.Int64, 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 <BasketListBo>("spBasketList", p, commandType: CommandType.StoredProcedure).ToList();
                    responseBo.Message   = p.Get <string>("@Message");
                    responseBo.IsSuccess = p.Get <bool>("@IsSuccess");

                    if (responseBo.IsNotNull() && responseBo.Bo.IsNotNull())
                    {
                        foreach (BasketListBo itemBo in responseBo.Bo)
                        {
                            if (itemBo.CodeListRawJson.IsNotNull())
                            {
                                itemBo.CodeList = JsonConvert.DeserializeObject <List <ProductCodeBo> >(itemBo.CodeListRawJson);
                            }
                            if (itemBo.OptionListRawJson.IsNotNull())
                            {
                                itemBo.OptionList = JsonConvert.DeserializeObject <List <OptionBo> >(itemBo.OptionListRawJson);
                            }
                            if (itemBo.IncludeExcludeListRawJson.IsNotNull())
                            {
                                itemBo.IncludeExcludeList = JsonConvert.DeserializeObject <List <IncludeExcludeBo> >(itemBo.IncludeExcludeListRawJson);
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                responseBo = base.SaveExLog(ex, this.GetType(), MethodBase.GetCurrentMethod().Name, criteriaBo).ToResponse <List <BasketListBo> >();
            }

            return(responseBo);
        }
Ejemplo n.º 2
0
        public ResponseDto <List <BasketListDto> > GetList(BasketGetListCriteriaDto criteriaDto)
        {
            BasketGetListCriteriaBo criteriaBo = new BasketGetListCriteriaBo()
            {
                DebtPersonId = criteriaDto.DebtPersonId,
                CurrencyId   = criteriaDto.CurrencyId,
                BasketId     = criteriaDto.BasketId,

                Session = Session
            };

            ResponseBo <List <BasketListBo> > responseBo = basketBusiness.GetList(criteriaBo);

            ResponseDto <List <BasketListDto> > responseDto = responseBo.ToResponseDto <List <BasketListDto>, List <BasketListBo> >();

            if (responseBo.IsSuccess && responseBo.Bo != null)
            {
                responseDto.Dto = responseBo.Bo.
                                  GroupBy(x => x.BasketId).Select(x => x.First()).
                                  Select(
                    x => new BasketListDto()
                {
                    Id = x.BasketId,

                    DebtPersonId = x.DebtPersonId,
                    CurrencyId   = x.CurrencyId,
                    GrandTotal   = x.GrandTotal,

                    ShopId        = x.ShopId,
                    ShopFullName  = x.ShopFullName,
                    ShopStarCount = x.ShopStarCount,
                    ShopStarSum   = x.ShopStarSum,
                    ShopUrlName   = x.ShopUrlName,

                    CreateDateNumber = x.CreateDate.ToNumberFromDateTime(),
                    UpdateDateNumber = x.UpdateDate.ToNumberFromDateTimeNull(),

                    ProductList = responseBo.Bo.Where(y => y.BasketId == x.BasketId).Select(
                        y => new BasketProductListDto()
                    {
                        Id         = y.BasketProductId,
                        Quantity   = y.Quantity,
                        UnitPrice  = y.UnitPrice,
                        GrandTotal = y.RowGrandTotal,
                        Notes      = y.Notes,

                        ProductId     = y.ProductId,
                        ProductName   = y.ProductName,
                        ProductTypeId = y.ProductTypeId,

                        PersonProductId = y.PersonProductId,
                        CategoryId      = y.CategoryId,
                        Balance         = y.Balance,
                        StarCount       = y.StarCount,
                        StarSum         = y.StarSum,

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

                        CodeList = (from z in y.CodeList
                                    select new ProductCodeDto()
                        {
                            Code = z.Code,
                            ProductCodeTypeId = z.ProductCodeTypeId,
                            ProductId = z.ProductId
                        }).ToList(),

                        OptionList = y.OptionList == null ? null :
                                     (from o in y.OptionList
                                      select new OptionDto()
                        {
                            OptionId = o.OptionId,
                            PriceGap = o.PriceGap
                        }).ToList(),
                        IncludeExcludeList = y.IncludeExcludeList == null ? null :
                                             (from i in y.IncludeExcludeList
                                              select new IncludeExcludeDto()
                        {
                            Id = i.Id,
                            PriceGap = i.PriceGap,
                            Name = i.Name,
                            IsInclude = i.IsInclude
                        }).ToList()
                    }).ToList()
                }).ToList();
            }

            return(responseDto);
        }