コード例 #1
0
 public void Query()
 {
     Load();
     if (UserInformation != null)
     {
         var request = new ShoppingCartRequest();
         request.UserId = UserInformation.UserId;
         var query = ShoppingCartService.GetByUserId(request);
         if (query != null)
         {
             PageIndex = request.PageIndex;
             List      = query.ModelList.Select(x => new ListShoppingCart(x)).ToList();
             foreach (var item in List)
             {
                 if (!string.IsNullOrWhiteSpace(item.images))
                 {
                     string[] sp = item.images.Split(',');
                     if (sp.Count() > 0)
                     {
                         item.ImageUrl = ImageUrl + "/CommodityImages/" + sp[0];
                     }
                 }
             }
             Page(request.PageIndex, request.PageSize, query.TotalCount);
         }
     }
 }
コード例 #2
0
 public ServiceDataWrapper <bool> UpdateItemInCart([FromRoute] int id, [FromBody] ShoppingCartRequest cartItem)
 {
     return(new ServiceDataWrapper <bool>
     {
         value = _service.UpdateItemInCart(HttpContext.GetUserId(), cartItem).Result
     });
 }
コード例 #3
0
        public async Task <OperationResult <ShoppingCartResponse> > Put(int id, [FromBody] ShoppingCartRequest request)
        {
            var response = new OperationResult <ShoppingCartResponse>();

            try
            {
                var messages = ValidateRequest(id);
                if (messages.Count > 0)
                {
                    response.Messages = messages;
                    response.Success  = false;
                    return(response);
                }

                var dbShoppingCart = await UpdateShoppingCart(id, request);

                await DbContext.SaveChangesAsync();

                response.Success = true;
                response.Content = new ShoppingCartResponse(dbShoppingCart);
            }
            catch
            {
                response.Messages.Add("InternalError");
            }

            return(response);
        }
コード例 #4
0
        private async Task <ShoppingCart> UpdateShoppingCart(int id, ShoppingCartRequest request)
        {
            var shoppingCart = await DbContext.ShoppingCarts.FirstOrDefaultAsync(s => s.Id.Equals(id));

            shoppingCart.Purchased = request.Purchased;

            return(shoppingCart);
        }
コード例 #5
0
ファイル: CartService.cs プロジェクト: Abbas10/FashionPoint
 /// <summary>
 ///
 /// </summary>
 /// <param name="item"></param>
 /// <returns></returns>
 public async Task <bool> UpdateItemInCart(string userId, ShoppingCartRequest item)
 {
     return(await _repository.UpdateItemInCart(new ShoppingCart
     {
         CreatedBy = userId,
         ProductId = item.ProductId,
         Quantity = item.Quantity,
     }));
 }
コード例 #6
0
ファイル: CartService.cs プロジェクト: Abbas10/FashionPoint
        /// <summary>
        ///
        /// </summary>
        /// <param name="item"></param>
        /// <returns></returns>
        public async Task <bool> AddItemInCart(string userId, ShoppingCartRequest item)
        {
            var _item = new ShoppingCart
            {
                CreatedBy = userId,
                ProductId = item.ProductId,
                Quantity  = item.Quantity
            };

            return(await _repository.AddItemInCart(_item));
        }
コード例 #7
0
        private void Dialog_RequestReceived(Object sender, MessageReceivedEventArgs <ShoppingCartRequest> e)
        {
            ShoppingCartRequest request = e.Message;

            this.OnMessageReceived(request,
                                   () =>
            {
                IShoppingCartRequestedProcessState processState = new ShoppingCartRequestedProcessState(this, request);

                this.ProcessStarted?.Invoke(this, new ProcessStartedEventArgs <IShoppingCartRequestedProcessState>(processState));
            });
        }
コード例 #8
0
        public DataTables <UserShoppingCarts> GetByUserId(ShoppingCartRequest request)
        {
            SqlParameter[] param =
            {
                new SqlParameter("@UserId",    request.UserId),
                new SqlParameter("@pageIndex", request.PageIndex),
                new SqlParameter("@pageSize",  request.PageSize),
            };
            StoreProcedure sp = new StoreProcedure("P_getFz_ShoppingCartsByUserId", param);

            return(_databaseInstance.GetTables <UserShoppingCarts>(sp));
        }
コード例 #9
0
        public IShoppingCartFinishedProcessState StartProcess(ShoppingCartCriteria criteria)
        {
            ShoppingCartRequest request = this.CreateRequest(criteria);

            ShoppingCartResponse response = this.SendRequest(request,
                                                             () =>
            {
                return(this.Dialog.SendRequest(request));
            });

            return(new ShoppingCartFinishedProcessState(request, response));
        }
コード例 #10
0
        public async Task <IShoppingCartFinishedProcessState> StartProcessAsync(ShoppingCartCriteria criteria,
                                                                                CancellationToken cancellationToken = default)
        {
            ShoppingCartRequest request = this.CreateRequest(criteria);

            ShoppingCartResponse response = await this.SendRequestAsync(request,
                                                                        () =>
            {
                return(this.Dialog.SendRequestAsync(request, cancellationToken));
            }).ConfigureAwait(continueOnCapturedContext: false);

            return(new ShoppingCartFinishedProcessState(request, response));
        }
コード例 #11
0
        /// <summary>
        /// Processes an incomming shopping cart request.
        /// </summary>
        /// <param name="request">The request to be processed.</param>
        private void ProcessShoppingCartRequest(ShoppingCartRequest request)
        {
            // Set the underlying XmlObjectStream to send the response on when request.Accept() or request.Reject() is called.
            lock (_syncLock)
            {
                if (_messageObjectStream == null)
                {
                    return;
                }

                request.MessageObjectStream = _messageObjectStream;
            }

            // Raise the corresponding event.
            base.Raise("ShoppingCartRequested", _shoppingCartRequested, this, request);
        }
コード例 #12
0
 public Task <ShoppingCartResponse> SendRequestAsync(ShoppingCartRequest request, CancellationToken cancellationToken = default)
 {
     return(base.SendRequestAsync <ShoppingCartRequest, ShoppingCartResponse>(request, cancellationToken));
 }
コード例 #13
0
 public ShoppingCartResponse SendRequest(ShoppingCartRequest request)
 {
     return(base.SendRequest <ShoppingCartRequest, ShoppingCartResponse>(request));
 }
コード例 #14
0
 public ShoppingCartFinishedProcessState(ShoppingCartRequest request, ShoppingCartResponse response)
 {
     this.Request  = request;
     this.Response = response;
 }
コード例 #15
0
        public IActionResult AddItem(ShoppingCartRequest cartItem)
        {
            var flag = _cartProxy.AddItem(cartItem);

            return(Json(new { data = flag, error = "" }));
        }
コード例 #16
0
 public ShoppingCartRequestedProcessState(ShoppingCartWorkflow workflow, ShoppingCartRequest request)
 {
     this.Workflow = workflow;
     this.Request  = request;
 }
コード例 #17
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="cartItem"></param>
 /// <returns></returns>
 public bool AddItem(ShoppingCartRequest cartItem)
 {
     return(MakeRequest <bool>(_baseUrl + ApiRoutes.Cart.AddItem, _token, GetHttpContent(cartItem)));
 }
コード例 #18
0
 protected void OnRequestReceived(ShoppingCartRequest request)
 {
     this.RequestReceived?.Invoke(this, new MessageReceivedEventArgs <ShoppingCartRequest>(request, this.DialogProvider));
 }