Exemplo n.º 1
0
        public async Task <IActionResult> Post([FromBody] UserOrderModel userOrderModel)
        {
            userOrderModel.Name        = User.Identity.Name;
            userOrderModel.CreatedDate = DateTime.UtcNow;

            if (userOrderModel == null)
            {
                return(BadRequest());
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            foreach (var item in userOrderModel.UserOrderLines)
            {
                if (!productRepo.ValidateId(item.ProductId))
                {
                    return(BadRequest("Product Id was not validated."));
                }
            }

            var created = await repo.Add <UserOrder, UserOrderModel>(userOrderModel);

            return(Created("UserOrder", created));
        }
Exemplo n.º 2
0
        public UserPayQRCodeDialog(int payType) : this()
        {
            if (payType == 1)
            {
                PayTypeName.Text  = "使用支付宝支付";
                ImgPayIcon.Source = ConvertHelper.ChangeBitmapToImageSource(Properties.Resources.alipay);
            }

            if (payType == 2)
            {
                PayTypeName.Text  = "使用微信支付";
                ImgPayIcon.Source = ConvertHelper.ChangeBitmapToImageSource(Properties.Resources.wechatpay);
            }

            PayMoneyShow.Text = GlobalUser.STUDYCARD.card_price + "元";

            var result0 = WebApiProxy.GetHtmlRespInfo(ApiType.GetCardOrder, GlobalUser.USER.Token);

            UserOrderModel model = new UserOrderModel()
            {
                token    = GlobalUser.USER.Token,
                order_id = result0.retData.order_id.ToString()
            };
            var result1 = WebApiProxy.GetImage(model, ApiType.GetQrCode, null, "get");

            ImgQrCode.Source = ConvertHelper.ChangeBitmapToImageSource(result1 as Bitmap);
        }
Exemplo n.º 3
0
        public OrderStatisModel GetOrderStatisModel(List <int> status)
        {
            var orderStatisModel = new OrderStatisModel();

            using (var cmd = DataCommandManager.GetDataCommand("GetOrderStatis"))
            {
                cmd.CommandText = string.Format(cmd.CommandText, string.Join(",", status));
                using (var dr = cmd.ExecuteDataReader())
                {
                    while (dr.Read())
                    {
                        if (orderStatisModel.TotalUserCount <= 0)
                        {
                            orderStatisModel.TotalUserCount = !Convert.IsDBNull(dr["Total"])
                                ? int.Parse(dr["Total"].ToString())
                                : 0;
                        }
                        var userOrderModel = new UserOrderModel();

                        userOrderModel.RowId      = !Convert.IsDBNull(dr["RowId"]) ? int.Parse(dr["RowId"].ToString()) : 0;
                        userOrderModel.UserId     = !Convert.IsDBNull(dr["UserId"]) ? int.Parse(dr["UserId"].ToString()) : 0;
                        userOrderModel.TotalMoney = !Convert.IsDBNull(dr["TotalMoney"])
                            ? decimal.Parse(dr["TotalMoney"].ToString())
                            : 0;

                        orderStatisModel.UserOrderList.Add(userOrderModel);
                    }
                }
            }
            return(orderStatisModel);
        }
Exemplo n.º 4
0
        // GET: Aggregator/Details/5
        public async Task <ActionResult> Details(int id)
        {
            ActionResult retVal = null;
            var          client = new HttpClient(handler, false);

            try
            {
                if (id > 4)
                {
                    id = 1;
                }
                UserOrderModel userOrder = new UserOrderModel();

                var response = await client.GetAsync("http://10.44.7.243/user/" + id);

                UserModel data = JsonConvert.DeserializeObject <UserModel>(await response.Content.ReadAsStringAsync());

                var orderResponse = await client.GetAsync("http://10.44.15.88/order/" + id);

                var test = await orderResponse.Content.ReadAsStringAsync();

                OrderModel[] orders = JsonConvert.DeserializeObject <OrderModel[]>(await orderResponse.Content.ReadAsStringAsync());

                userOrder.User  = data;
                userOrder.Order = orders;
                retVal          = View("~/Views/Aggregator/Aggregator.cshtml", userOrder);
            }
            catch (BrokenCircuitException e)
            {
                retVal = View("~/Views/Shared/Error.cshtml", new ErrorViewModel {
                    RequestId = "CE001", Error = " Broken Circuit Exception: The circuit is now open. Please try again after a few minutes"
                });
            }
            return(retVal);
        }
        public IHttpActionResult Get(UserOrderModel userOrder)
        {
            var order = Manager.GetOrder(userOrder.UserId, userOrder.OrderId);

            if (order == null)
            {
                return(NotFound());
            }
            return(Ok(order));
        }
Exemplo n.º 6
0
 public async Task UpdateRequirementAsync(UserOrderModel userOrderModel)
 {
     try
     {
         var entity = dBContext.UserOrders.First(d => d.Id == userOrderModel.Id);
         mapper.Map(userOrderModel, entity);
         await dBContext.SaveChangesAsync();
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Exemplo n.º 7
0
        /// <summary>
        /// Binds the user order model.
        /// </summary>
        /// <param name="userDetail">The user detail.</param>
        /// <returns></returns>
        public static UserOrderModel BindUserOrderModel(User userDetail)
        {
            UserOrderModel userOrderModel = new UserOrderModel();

            if (userDetail != null)
            {
                userOrderModel.CompanyName  = userDetail.Companyname;
                userOrderModel.FirstName    = userDetail.FirstName;
                userOrderModel.LastName     = userDetail.LastName;
                userOrderModel.MobileNumber = userDetail.PhoneNumber;
                userOrderModel.EmailNumber  = userDetail.EmailAddress;
            }
            return(userOrderModel);
        }
Exemplo n.º 8
0
        public IActionResult LoadMockData()
        {
            MockSalesDataLoader loader = new MockSalesDataLoader();
            List <string>       lines  = loader.LoadMockData();

            for (int i = 0; i < lines.Count; i++)
            {
                string[]       line  = lines[i].Split(",");
                UserOrderModel model = new UserOrderModel();

                model.FullPrice   = Convert.ToInt32(line[0]);
                model.DateOfOrder = Convert.ToDateTime(line[1]);

                //Update statistics
                _statisticsRepository.UpdateUserOrderMean(Convert.ToDouble(line[0]));
                _statisticsRepository.UpdateTotalSalesMoney(Convert.ToDouble(line[0]));
                _statisticsRepository.UpdateTotalNumberOfOrders();

                _userOrderRepository.AddOrder(model);
            }
            return(RedirectToAction("Index", "Home"));
        }
 public IHttpActionResult Modify(UserOrderModel model)
 {
     return(Ok(Manager.ModifyOrder(model.UserId, model.OrderId)));
 }
Exemplo n.º 10
0
        public async Task <IActionResult> Checkout(CheckoutViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                //Add income to the database
                ShopIncome income = new ShopIncome();
                income.MoneyIn = viewModel.FullPrice;
                income.Date    = DateTime.Now;
                _incomeRepository.AddIncome(income);

                //Add all items to the database and update stock
                List <ShoppingCartItemModel> Items = _shoppingCartItemRepository.GetItemsByCartId(viewModel.CartId);
                for (int i = 0; i < Items.Count; i++)
                {
                    //Add ordered item
                    Items[i].Product = _productRepository.GetProduct(Items[i].ItemId);
                    UserOrderItemModel user_item = new UserOrderItemModel();
                    user_item.Ammount        = Items[i].Ammount;
                    user_item.ProductName    = Items[i].Product.Name;
                    user_item.ProductOrderId = Items[i].Product.Id;
                    user_item.OrderId        = Items[i].ShoppingCartId;
                    _userOrderItemRepository.AddOrderItem(user_item);

                    //Update stock
                    ProductModel product = _productRepository.GetProduct(Items[i].ItemId);
                    product.Quantity -= user_item.Ammount;
                    _productRepository.Update(product);
                }

                //Get user
                var user = await _userManager.GetUserAsync(HttpContext.User);

                //Create order object
                UserOrderModel user_order = new UserOrderModel();
                user_order.DateOfOrder           = DateTime.Now;
                user_order.OrderId               = viewModel.CartId;
                user_order.AdditionalInformation = viewModel.AdditionalInformation;
                user_order.FullPrice             = viewModel.FullPrice;

                //Add user information
                user_order.UserId           = user.Id;
                user_order.UserCity         = user.City;
                user_order.UserEmail        = user.Email;
                user_order.UserName         = $"{user.FirstName} {user.LastName}";
                user_order.UserPhoneNumber  = user.PhoneNumber;
                user_order.UserPostCode     = user.PostCode;
                user_order.UserStreetAdress = $"{user.StreetName} {user.StreetNumber}";
                user_order.UserCity         = user.City;

                _userOrderRepository.AddOrder(user_order);

                //Update statistics
                _statisticsRepository.UpdateUserOrderMean(viewModel.FullPrice);
                _statisticsRepository.UpdateTotalSalesMoney(viewModel.FullPrice);
                _statisticsRepository.UpdateTotalNumberOfOrders();

                //Update ordering user iformations
                user.OrdersAmmount++;
                user.MoneySpent += viewModel.FullAmmount;
                await _userManager.UpdateAsync(user);

                //Clear cart
                return(RedirectToAction("ClearCartPayment", "Cart"));
            }
            return(View(viewModel));
        }