Example #1
0
    /// <summary>
    /// This function is used to simplify the 2 REST interfaces if changes are needed!
    /// </summary>
    /// <param name="context"></param>
    /// <param name="whatToDo"></param>
    /// <returns></returns>
    private IHttpContext storeInDatabase(IHttpContext context, BUYORSELL whatToDo)
    {
        string  payload = context.Request.Payload.ToString();               //Liefert einen JSON String mit escaped zeichen zurück
        JToken  token   = JToken.Parse(payload);
        JObject json    = JObject.Parse(token.ToString());

        if (payload == null || payload.Equals(""))
        {
            context.Response.SendResponse(Grapevine.Shared.HttpStatusCode.InternalServerError, "Oops, something went wrong!");
            return(context);
        }
        Order orderObject = JsonConvert.DeserializeObject <Order>(json.ToString());
        bool  isPresent   = checkIfStockExists(orderObject);

        if (isPresent)
        {
            //Die Order ins Orderbuch eintragen.
            try
            {
                var       dbOrders  = dbConnectionOrders._db;
                MainOrder mainOrder = new MainOrder(orderObject, whatToDo);
                var       test      = new BsonDocument()
                {
                    { "orderID", mainOrder.receivedOrder.orderID.ToString() },
                    { "aktienID", mainOrder.receivedOrder.aktienID.ToString() },
                    { "amount", mainOrder.receivedOrder.amount },
                    { "limit", mainOrder.receivedOrder.limit },
                    { "timestamp", mainOrder.receivedOrder.timestamp },
                    { "hash", mainOrder.receivedOrder.hash ?? "" },
                    { "useCase", mainOrder.useCase },
                    { "statusOfOrder", mainOrder.statusOfOrder }
                };
                dbOrders.InsertOne(test);
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex);
                context.Response.SendResponse(Grapevine.Shared.HttpStatusCode.InternalServerError, "Oops, something went wrong!");
                return(context);
            }

            context.Response.SendResponse(Grapevine.Shared.HttpStatusCode.Ok, "Check again with /check");
            return(context);
        }
        else
        {
            context.Response.SendResponse(Grapevine.Shared.HttpStatusCode.NotFound, "aktienID not found");
            return(context);
        }
    }
Example #2
0
        }                                                  // 0 if successfull, 1 in progress, 2 denied, 3 not enough goods, 4 wrong price

        public MainOrder(Order orderObject, BUYORSELL buy, int status = 1)
        {
            receivedOrder = orderObject;
            useCase       = buy;
            statusOfOrder = status;
        }