コード例 #1
0
        public ResetScheduledTradeResponse ResetScheduledTrade(ResetScheduledTradeRequest request)
        {
            ResetScheduledTradeResponse response = new ResetScheduledTradeResponse
            {
                Success = true,
                Error   = ""
            };

            Trade_Trades trade = db.Trade_Trades.FirstOrDefault(t => t.TradeNr == request.TradeNr && t.UserNr == request.UserNr);

            if (trade == null)
            {
                response.Success = false;
                response.Error   = "No such trade found";
                return(response);
            }

            try
            {
                trade.TradeStatus = (int)TradeStatusTypeEnum.Pending;
                db.SaveChanges();
            }
            catch (Exception e)
            {
                _logger.ErrorFormat($"error happend error: {e.Message} stacktrace: {e.StackTrace}");
                response.Success = false;
                response.Error   = "An error occured in user creation please check logs for more details";
            }

            return(response);
        }
コード例 #2
0
        public DeleteScheduledTradeResponse DeleteScheduledTrade(DeleteScheduledTradeRequest request)
        {
            DeleteScheduledTradeResponse response = new DeleteScheduledTradeResponse
            {
                Success = true,
                Error   = ""
            };

            Trade_Trades trade = db.Trade_Trades.FirstOrDefault(t => t.TradeNr == request.TradeNr && t.UserNr == request.UserNr);

            if (trade == null)
            {
                response.Success = false;
                response.Error   = "No such trade found";
                return(response);
            }

            List <Trade_Criteria> criterias = db.Trade_Criteria.Where(c => c.TradeNr == trade.TradeNr).ToList();

            try
            {
                db.Trade_Criteria.RemoveRange(criterias);
                db.Trade_Trades.Remove(trade);
                db.SaveChanges();
            }
            catch (Exception e)
            {
                _logger.ErrorFormat($"error happend error: {e.Message} stacktrace: {e.StackTrace}");
                response.Success = false;
                response.Error   = "An error occured in user creation please check logs for more details";
            }

            return(response);
        }
コード例 #3
0
        public CreateScheduledTradesResponse CreateScheduledTrade(CreateScheduledTradesRequest request)
        {
            CreateScheduledTradesResponse response = new CreateScheduledTradesResponse
            {
                Success = true,
                Error   = ""
            };

            if (request.Trade == null)
            {
                response.Success = false;
                response.Error   = "No trade provided";
                return(response);
            }

            List <Trade_Criteria> newCriterias = new List <Trade_Criteria>();

            foreach (var tradeCriteria in request.Trade.TradeCriteria)
            {
                newCriterias.Add(new Trade_Criteria
                {
                    EcoIndexType      = tradeCriteria.EcoIndexType,
                    CriteriaValueType = tradeCriteria.CriteriaValueType,
                    Value             = tradeCriteria.Value,
                    Weight            = tradeCriteria.Weight
                });
            }

            Exchange_Pairs pair = db.Exchange_Pairs.FirstOrDefault(p => p.Symbol1.ToLower() == request.Trade.ExchangePair.Symbol1.ToLower() &&
                                                                   p.Symbol2.ToLower() == request.Trade.ExchangePair.Symbol2.ToLower() &&
                                                                   p.ExchangeType == request.Trade.ExchangePair.ExchangeType);

            Trade_Trades newTrade = new Trade_Trades
            {
                UserNr         = request.UserNr,
                CreationDate   = DateTime.Now,
                Value          = request.Trade.Value,
                ExchangePairNr = pair.PairNr,
                TradeAction    = request.Trade.TradeAction,
                TradeStatus    = (int)TradeStatusTypeEnum.Pending,
                Trade_Criteria = newCriterias
            };

            try
            {
                db.Trade_Trades.Add(newTrade);
                db.SaveChanges();
            }
            catch (Exception e)
            {
                _logger.ErrorFormat($"error happend error: {e.Message} stacktrace: {e.StackTrace}");
                response.Success = false;
                response.Error   = "An error occured in user creation please check logs for more details";
            }

            return(response);
        }