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); }
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); }