コード例 #1
0
        public async Task <IActionResult> PutOrdersItem(long id, OrdersItem ordersItem)
        {
            if (id != ordersItem.TicketId)
            {
                return(BadRequest());
            }

            _context.Entry(ordersItem).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!OrdersItemExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
コード例 #2
0
        public async Task <IActionResult> PlaceAnOrder(long id, OrdersItem ordersItem)
        {
            if (id != ordersItem.TicketId)
            {
                return(BadRequest());
            }

            var entity = _context.OrdersItems.Find(ordersItem.TicketId);

            _context.OrdersItems.Attach(entity);
            entity.UserId = ordersItem.UserId;
            entity.Status = 1;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!OrdersItemExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(Content("you have booked a ticket, please pay for it."));
        }
コード例 #3
0
        public async Task <IActionResult> DeleteATicket(long id, OrdersItem ordersItem)
        {
            if (id != ordersItem.TicketId)
            {
                return(BadRequest());
            }

            var entity = _context.OrdersItems.Find(ordersItem.TicketId);

            _context.OrdersItems.Attach(entity);
            entity.Status = -1;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!OrdersItemExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(Content("delete the ticket successfully"));
        }
コード例 #4
0
        /// <summary>
        /// 确认订单是否有效
        ///
        /// TODO
        /// </summary>
        private bool ConfirmOrder(OrdersItem order)
        {
            string querenURL = "http://api.dev.zonghejiaofei.net/api/Channel/RechargeConfirm";
            string pwdKey    = "ChannelId" + GetAppConfig("acount") + "OrderId" + order.OrderId + "Secretkey" + GetAppConfig("password");
            string reqData   = "ChannelId=" + GetAppConfig("acount") + "&OrderId=" + order.OrderId + "&Hmac=" + GetMD5(pwdKey);
            //string result = HttpUtils.postRequest(querenURL, reqData);



            //从接口上发送请求和data
            string jsonData = HttpUtils.OpenReadWithHttps(querenURL, reqData, "utf-8");
            // JSON 解析
            ConfirmEntity confirmResult = JsonConvert.DeserializeObject <ConfirmEntity>(jsonData);

            if (confirmResult.Result.Equals("Success"))
            {
                // TODO
                // 返回 false 应该是表示订单已处理
                if (confirmResult.Data.Res)
                {
                    rtbOrderInfo.Invoke(new updateListDele(UpdateList), new object[] { "订单确认成功,状态:" + confirmResult.Data.Res, GetThreadID() });
                    return(true);
                }
                else
                {
                    rtbOrderInfo.Invoke(new updateListDele(UpdateList), new object[] { "订单确认成功,状态:" + confirmResult.Data.Res + "; 已跳过处理", GetThreadID() });
                    return(false);
                }
            }

            rtbOrderInfo.Invoke(new updateListDele(UpdateList), new object[] { "订单确认异常,错误信息:" + confirmResult.Message, GetThreadID() });
            return(false);
        }
コード例 #5
0
        /// <summary>
        /// GetItemDetailByOrderID
        /// </summary>
        /// <param name="orderID"></param>
        ///  <param name="tenantID"></param>
        ///  <param name="userID"></param>
        /// <returns></returns>
        public OrdersItemDetails GetItemDetailByOrderID(int orderID, int tenantID, int userID)
        {
            DataSet           ds                = new DataSet();
            MySqlCommand      cmd               = new MySqlCommand();
            List <OrdersItem> lstOrdersItem     = new List <OrdersItem>();
            OrdersItemDetails ordersItemDetails = new OrdersItemDetails();

            try
            {
                conn.Open();
                cmd.Connection = conn;
                MySqlCommand sqlcmd = new MySqlCommand("SP_PHYGetItemDetailByOrderID", conn);
                sqlcmd.CommandType = CommandType.StoredProcedure;

                sqlcmd.Parameters.AddWithValue("order_ID", orderID);
                sqlcmd.Parameters.AddWithValue("tenant_ID", tenantID);
                sqlcmd.Parameters.AddWithValue("user_ID", userID);

                MySqlDataAdapter da = new MySqlDataAdapter();
                da.SelectCommand = sqlcmd;
                da.Fill(ds);

                if (ds != null && ds.Tables[0] != null)
                {
                    for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
                    {
                        OrdersItem ordersItems = new OrdersItem
                        {
                            ID        = ds.Tables[0].Rows[i]["ID"] == DBNull.Value ? 0 : Convert.ToInt32(ds.Tables[0].Rows[i]["ID"]),
                            ItemID    = ds.Tables[0].Rows[i]["ItemID"] == DBNull.Value ? string.Empty : Convert.ToString(ds.Tables[0].Rows[i]["ItemID"]),
                            ItemName  = ds.Tables[0].Rows[i]["ItemName"] == DBNull.Value ? string.Empty : Convert.ToString(ds.Tables[0].Rows[i]["ItemName"]),
                            ItemPrice = ds.Tables[0].Rows[i]["ItemPrice"] == DBNull.Value ? string.Empty : Convert.ToString(ds.Tables[0].Rows[i]["ItemPrice"]),
                            Quantity  = ds.Tables[0].Rows[i]["Quantity"] == DBNull.Value ? 0 : Convert.ToInt32(ds.Tables[0].Rows[i]["Quantity"]),
                            OrderID   = ds.Tables[0].Rows[i]["OrderID"] == DBNull.Value ? 0 : Convert.ToInt32(ds.Tables[0].Rows[i]["OrderID"]),
                            Disable   = ds.Tables[0].Rows[i]["Disable"] == DBNull.Value ? 0 : Convert.ToInt32(ds.Tables[0].Rows[i]["Disable"]),
                            Checked   = ds.Tables[0].Rows[i]["Checked"] == DBNull.Value ? false : Convert.ToBoolean(ds.Tables[0].Rows[i]["Checked"]),
                        };

                        lstOrdersItem.Add(ordersItems);
                    }
                    ordersItemDetails.OrdersItems = lstOrdersItem;
                }
                if (ds != null && ds.Tables[1] != null)
                {
                    ordersItemDetails.InvoiceNumber = ds.Tables[1].Rows[0]["InvoiceNo"] == DBNull.Value ? string.Empty : Convert.ToString(ds.Tables[1].Rows[0]["InvoiceNo"]);
                }
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                if (conn != null)
                {
                    conn.Close();
                }
            }
            return(ordersItemDetails);
        }
コード例 #6
0
        public async Task <ActionResult <OrdersItem> > PostOrdersItem(OrdersItem ordersItem)
        {
            _context.OrdersItems.Add(ordersItem);
            await _context.SaveChangesAsync();

            // return CreatedAtAction("GetOrdersItem", new { id = ordersItem.ID }, ordersItem);
            return(CreatedAtAction(nameof(GetOrdersItem), new { id = ordersItem.TicketId }, ordersItem));
        }
コード例 #7
0
        public static void InsertOrder(OrdersItem order)
        {
            // 这里应该不会有 SQL 注入问题
            string sql = "INSERT INTO orders(orderid,account,money,starttime,endtime,remark,state,userid) VALUES (@orderid,@account,@money,@starttime,@endtime,@remark,@state,@userid)";

            MySqlParameter[] sqlParameter = GetParameterArray(new string[] { "@orderid", "@account", "@money", "@starttime", "@endtime", "@remark", "@state", "@userid" },
                                                              new object[] { order.OrderId, order.Account, order.Amount, DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss"), DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss"), "", "3", ConfigurationManager.AppSettings["acount"] });

            ConnHelper.GetcomPara(sql, sqlParameter);
        }
コード例 #8
0
        /// <summary>
        /// 更新订单的状态信息
        ///
        /// 更新最后的时间和状态,根据订单编号
        /// </summary>
        /// <param name="order"></param>
        public static void UpdateOrder(OrdersItem order, string state, string remark)
        {
            // 这里应该不会有 SQL 注入问题
            string sql = "UPDATE orders SET endtime=@endtime,remark=@remark,state=@state WHERE orderid=@orderid";

            MySqlParameter[] sqlParameter = GetParameterArray(new string[] { "@endtime", "@remark", "@state", "@orderid" },
                                                              new object[] { DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss"), remark, state, order.OrderId });

            ConnHelper.GetcomPara(sql, sqlParameter);


            //string sql = "UPDATE orders SET account=@account,money=@money,endtime=@endtime,remark=@remark,state=@state WHERE orderid=@orderid";
            //MySqlParameter[] sqlParameter = getParameterArray(new string[] { "@account", "@money", "@endtime", "@remark", "@state", "@orderid" },
            //new object[] { order.Account, order.Amount, DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss"), "", state, order.OrderId });
        }
コード例 #9
0
ファイル: CartService.cs プロジェクト: fenyopeti/webshop
        public void Checkout(string userName)
        {
            var user  = db.Users.FirstOrDefault(u => u.UserName == userName);
            var order = new Order
            {
                id     = Guid.NewGuid(),
                Date   = DateTime.Now,
                amount = GetCartPrice(),
                User   = user
            };

            db.Orders.Add(order);
            db.SaveChanges();

            var cartItems = GetCartItems();

            foreach (var item in cartItems)
            {
                var orderItem = new OrdersItem
                {
                    Id         = Guid.NewGuid(),
                    MenuItemId = item.MenuItemId,
                    OrderId    = order.id,
                    Quantity   = item.Quantity
                };

                db.OrdersItems.Add(orderItem);
                db.SaveChanges();

                var menuItem = db.MenuItems.Find(item.MenuItem.Id);
                if (menuItem.OrderedSum == null)
                {
                    menuItem.OrderedSum = item.Quantity;
                }
                else
                {
                    menuItem.OrderedSum += item.Quantity;
                }
            }
            db.SaveChanges();
        }
コード例 #10
0
        /// <summary>
        /// 返平台结果
        /// </summary>
        private void ReturnResult(OrdersItem order)
        {
            // ConfigurationManager.AppSettings["acount"] + "Secretkey" + ConfigurationManager.AppSettings["password"];
            string state = "Success";
            string url   = "http://api.dev.zonghejiaofei.net/api/Channel/Result";
            string key   = "ChannelId" + ConfigurationManager.AppSettings["acount"] + "OrderId" + order.OrderId + "Secretkey" + ConfigurationManager.AppSettings["password"] + "State" + state;

            string reqData = "ChannelId=" + ConfigurationManager.AppSettings["acount"] + "&OrderId=" + order.OrderId + "&State=" + state + "&Hmac=" + GetMD5(key);

            string result = HttpUtils.OpenReadWithHttps(url, reqData, "utf-8");

            // JSON 解析
            NetSpaceEntity netSpaceResult = JsonConvert.DeserializeObject <NetSpaceEntity>(result);

            if (netSpaceResult.Result.Equals("Success"))
            {
                rtbOrderInfo.Invoke(new updateListDele(UpdateList), new object[] { "订单处理成功,状态标记为" + netSpaceResult.Data.State, GetThreadID() });
                // 更新数据库 状态
                utils.SQLDMl.UpdateOrder(order, netSpaceResult.Data.State, "");
                return;
            }

            rtbOrderInfo.Invoke(new updateListDele(UpdateList), new object[] { "订单处理错误,异常为:" + netSpaceResult.Message, GetThreadID() });
        }
コード例 #11
0
ファイル: OrdersHandler.cs プロジェクト: longer310/code201406
        /// <summary>
        /// 获取订单列表
        /// </summary>
        public void GetOrdersList()
        {
            int start = GetInt("start");
            int limit = GetInt("limit");
            var type  = (ReqOrderStatus)(GetInt("type") + 1);
            //if (type == ReqOrderStatus.WaitDeliverGoods) type = ReqOrderStatus.End;

            var wheresql = "";//string.Format(" where Status={0} ", (int)OrderStatus.Pay)

            switch (type)
            {
            case ReqOrderStatus.Pay:
                wheresql = string.Format(" where Status={0} ", (int)OrderStatus.Pay);
                break;

            //case ReqOrderStatus.WaitDeliverGoods:
            //    wheresql = string.Format(" where OrderType={0} and Status={1} ", (int)OrderType.WaitDelivery, (int)OrderStatus.Pay);
            //    break;
            case ReqOrderStatus.DeliverGoodsed:
                wheresql = string.Format(" where OrderType={0} and Status={1} ", (int)OrderType.Deliveryed, (int)OrderStatus.Pay);
                break;

            case ReqOrderStatus.End:
                wheresql = string.Format(" where Status={0} ", (int)OrderStatus.End);
                break;

            default: break;
            }
            if (string.IsNullOrEmpty(wheresql))
            {
                wheresql = string.Format(" where sellerId={0}", CurSellerId);
            }
            else
            {
                wheresql += string.Format(" and sellerId={0}", CurSellerId);
            }

            var result = OrdersHelper.GetOrdersList(wheresql, "", start * limit, limit, 1);
            var list   = new List <OrdersItem>();

            foreach (var item in result.Results)
            {
                var i = new OrdersItem();
                i.Id         = item.Id;
                i.UserId     = item.UserId;
                i.Money      = item.TotalPrice;
                i.CreateTime = item.CreateTime.ToString("yyyy-M-d HH:mm:ss");
                i.GoodsCount = item.NumList.Sum(o => o);
                i.Status     = (int)item.GetReqStatus();
                i.Type       = (int)item.OrderType;

                list.Add(i);
            }

            var jt = new JsonTransfer();

            jt.Add("list", list);
            jt.Add("count", result.TotalCount);
            Response.Write(jt.ToJson());
            Response.End();
        }