Пример #1
0
        public Order CreateFactoryOrderObject(string description, long ownerId, long? transporter, long? supplier,
                                              long? receiver, OrderTypes orderType, DateTime orderDate,
                                              VesselInCompany fromVesselInCompany, VesselInCompany toVesselInCompany)
        {
            var code = _iOrderCodeGenerator.GenerateNewCode();

            var order = new Order(
                code,
                description,
                ownerId,
                transporter,
                supplier,
                receiver,
                orderType,
                orderDate,
                fromVesselInCompany,
                toVesselInCompany,
                States.Open,
                _orderConfigurator
                );

            var init = _workflowRepository.Single(c => c.WorkflowEntity == WorkflowEntities.Order && c.CurrentWorkflowStage == WorkflowStages.Initial);
            var orderWorkflow = new OrderWorkflowLog(order.Id, WorkflowEntities.Order, DateTime.Now, WorkflowActions.Init,
                //TODO: Fake ActorId
                    1101, "", init.Id, true);

            order.ApproveWorkFlows.Add(orderWorkflow);

            return order;
        }
Пример #2
0
 public static IOrder GetOrderInstance(OrderTypes orderType)
 {
     switch (orderType)
     {
         case OrderTypes.Asc:
             return new OrderAsc();
         default:
             return new OrderDesc();
     }
 }
Пример #3
0
        protected Order(int instrument, OrderTypes orderType, BuyOrSell buySell, ulong price, UInt64 quantity)
            : this()
        {
            if (instrument == null) throw new ArgumentNullException("instrument");
            if (quantity <= 0) throw new ArgumentException("order cannot be created with quantity less than or equal to 0", "quantity");
            if (price <= 0) throw new ArgumentException("price cannot be less than or equal to 0", "price");

            Instrument = instrument;
            OrderType = orderType;
            BuySell = buySell;
            Price = price;
            Quantity = quantity;
        }
        public Order Add(string description, long ownerId, long? transporter, long? supplier, long? receiver,
                         OrderTypes orderType, long? fromVesselInCompanyId, long? toVesselInCompanyId)
        {
            GetCompanies(ownerId, transporter, supplier, receiver);
            var vessels = GetVessels(fromVesselInCompanyId, toVesselInCompanyId);

            var order = iOrderFactory.CreateFactoryOrderObject(description, ownerId, transporter, supplier, receiver,
                                                                orderType, DateTime.Now,
                                                                vessels.SingleOrDefault(c => c.Id == fromVesselInCompanyId),
                                                                vessels.SingleOrDefault(c => c.Id == toVesselInCompanyId));

            orderRepository.Add(order);

            unitOfWorkScope.Commit();

            return order;
        }
Пример #5
0
        public Order(string code, string description, long ownerId, long? transporterId, long? supplierId, long? receiverId, OrderTypes _orderTypeClass, DateTime orderDate, VesselInCompany fromVesselInCompany, VesselInCompany toVesselInCompany, States state, IEntityConfigurator<Order> orderConfigurator)
        {
            Code = code;
            Description = description;
            SupplierId = supplierId;
            OwnerId = ownerId;
            TransporterId = transporterId;
            ReceiverId = receiverId;

            OrderDate = orderDate;
            FromVesselInCompanyId = fromVesselInCompany == null ? (long?)null : fromVesselInCompany.Id;
            ToVesselInCompanyId = toVesselInCompany == null ? (long?)null : toVesselInCompany.Id;
            this.OrderType = _orderTypeClass;
            State = state;
            orderConfigurator.Configure(this);
            _orderBaseType.Add(this, fromVesselInCompany, toVesselInCompany);
            ApproveWorkFlows = new List<OrderWorkflowLog>();
        }
Пример #6
0
        public SyncFolder(string pFolderPath)
        {
            FolderPath = pFolderPath;
            LastSync = new DateTime(2000, 1, 1);

            SetId = "";
            SetTitle = "";
            SetDescription = "";
            SyncMethod = StringToMethod(Properties.Settings.Default.Method);
            FilterType = FilterTypes.FilterNone;
            FilterTags = "";
            FilterStarRating = 0;
            Permission = FlickrSync.Permissions.PermDefault;
            NoDelete = Properties.Settings.Default.NoDelete;
            NoDeleteTags = Properties.Settings.Default.NoDeleteTags;
            OrderType = OrderTypes.OrderDefault;
            NoInitialReplace = false;
        }
Пример #7
0
		public Orders()
		{
			this.OrderID = 0;
			this.CustomerID = null;
			this.EmployeeID = 0;
			this.OrderDate = DateTime.MinValue;
			this.RequiredDate = DateTime.MinValue;
			this.ShippedDate = DateTime.MinValue;
			this.ShipVia = 0;
			this.Freight = 0;
			this.ShipName = null;
			this.ShipAddress = null;
			this.ShipCity = null;
			this.ShipRegion = null;
			this.ShipPostalCode = null;
			this.ShipCountry = null;
			this.OrderStatus = 0;

		}
Пример #8
0
        public OrderResponse GenerateOrder(string Ticker, int quantity, OrderTypes orderType, Decimal Price, InstrumentTypes instrumentType, ref bool RecurrenceFlag)
        {
            const string WEBSERVICE_URL = "https://homebroker-api.gbm.com/GBMP/api/Operation/RegisterCapitalOrder";

            try
            {
                if (RecurrenceFlag)
                {
                    var myHttpWebRequest = (HttpWebRequest)WebRequest.Create(WEBSERVICE_URL);
                    myHttpWebRequest.UserAgent   = "okhttp/3.10.0";
                    myHttpWebRequest.ContentType = "application/json";

                    myHttpWebRequest.Method = "POST";
                    myHttpWebRequest.Accept = "application/json";
                    myHttpWebRequest.Headers.Add("Authorization", "Bearer " + this.BearerKey);
                    myHttpWebRequest.Headers.Add("Accept-Encoding", "gzip");
                    myHttpWebRequest.Headers.Add("Mobile-platform", "android");


                    //string postData = "{\"electronicOrderId\":" + orderID + ",\"vigencia\":false,\"isPreDispatchOrder\":false}";
                    var           PostObject = new PurchaseOrderObject(ContractID, Ticker, quantity, orderType, Price, instrumentType);
                    var           postData   = PostObject.StringifyOrder();
                    ASCIIEncoding encoding   = new ASCIIEncoding();
                    byte[]        byte1      = encoding.GetBytes(postData);
                    myHttpWebRequest.ContentLength = byte1.Length;
                    Stream newStream = myHttpWebRequest.GetRequestStream();

                    newStream.Write(byte1, 0, byte1.Length);
                    // Console.WriteLine("The value of 'ContentLength' property after sending the data is {0}", myHttpWebRequest.ContentLength);

                    // Close the Stream object.

                    HttpWebResponse WebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse();
                    if (WebResponse.StatusDescription == "OK")
                    {
                        Stream responseStream = WebResponse.GetResponseStream();
                        if (WebResponse.ContentEncoding.ToLower().Contains("gzip"))
                        {
                            responseStream = new GZipStream(responseStream, CompressionMode.Decompress);
                        }
                        else if (WebResponse.ContentEncoding.ToLower().Contains("deflate"))
                        {
                            responseStream = new DeflateStream(responseStream, CompressionMode.Decompress);
                        }

                        StreamReader Reader = new StreamReader(responseStream, Encoding.Default);

                        string Html     = Reader.ReadToEnd();
                        var    JsonData = JsonConvert.DeserializeObject <OrderResponse>(Html);
                        //var definition = new { response = false };

                        // string json1 = @"{'Name':'James'}";
                        //var customer1 = JsonConvert.DeserializeAnonymousType(Html, definition);
                        //dynamic data = JObject.Parse(Html);
                        responseStream.Close();
                        return(JsonData);
                    }

                    WebResponse.Close();
                    RecurrenceFlag = false;
                }
            }
            catch (System.Net.WebException UnautorizedException)
            {
                this.Autenthicate();
                GenerateOrder(Ticker, quantity, orderType, Price, instrumentType, ref RecurrenceFlag);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
            }
            return(null);
        }
Пример #9
0
 public CCommandAddOrder(uint userId, string broker_code, string isin, string client_code, OrderTypes type, /*OrderDirection*/ EnmOrderDir dir, int amount, string price, int ext_id)
 {
     UserId      = userId;
     Broker_code = broker_code;
     Isin        = isin;
     Client_code = client_code;
     Type        = type;
     Dir         = dir;
     Amount      = amount;
     Price       = price;
     Ext_id      = ext_id;
 }
Пример #10
0
		private static Tuple<long, bool, bool> CreateOrderKey(OrderTypes type, long transactionId, bool isCancel)
		{
			if (transactionId <= 0)
				throw new ArgumentOutOfRangeException("transactionId", transactionId, LocalizedStrings.Str718);

			return Tuple.Create(transactionId, type == OrderTypes.Conditional, isCancel);
		}
Пример #11
0
        public void Update(string description, OrderTypes orderType, long ownerId, long? transporterId,
            long? supplierId, long? receiverId, VesselInCompany fromVesselInCompany, VesselInCompany toVesselInCompany, IEntityConfigurator<Order> orderConfigurator, IOrderItemDomainService orderItemDomainService)
        {
            if (OrderType != orderType)
            {

                foreach (var orderItem in OrderItems.ToList())
                {
                    orderItemDomainService.DeleteOrderItem(orderItem);
                }
            }
            OrderType = orderType;
            Description = description;
            OwnerId = ownerId;
            TransporterId = transporterId;
            ReceiverId = receiverId;
            SupplierId = supplierId;
            FromVesselInCompanyId = fromVesselInCompany == null ? (long?)null : fromVesselInCompany.Id;
            ToVesselInCompanyId = toVesselInCompany == null ? (long?)null : toVesselInCompany.Id;
            orderConfigurator.Configure(this);

            IsOnOpenState();

            _orderBaseType.Update(this, fromVesselInCompany, toVesselInCompany);
        }
Пример #12
0
        public DealerOrder(
            IFinancialInstrument instrument,
            string reddeerTradeId,
            string tradeId,
            DateTime?placedDate,
            DateTime?bookedDate,
            DateTime?amendedDate,
            DateTime?rejectedDate,
            DateTime?cancelledDate,
            DateTime?filledDate,
            DateTime?createdDate,
            string traderId,
            string dealerName,
            string notes,
            string tradeCounterParty,
            OrderTypes orderType,
            OrderDirections orderDirection,
            Currency currency,
            Currency settlementCurrency,
            OrderCleanDirty cleanDirty,
            decimal?accumulatedInterest,
            string dealerOrderVersion,
            string dealerOrderVersionLinkId,
            string dealerOrderGroupId,
            Money?limitPrice,
            Money?averageFillPrice,
            decimal?orderedVolume,
            decimal?filledVolume,
            decimal?optionStrikePrice,
            DateTime?optionExpirationDate,
            OptionEuropeanAmerican tradeOptionEuropeanAmerican)
            : base(placedDate, bookedDate, amendedDate, rejectedDate, cancelledDate, filledDate)
        {
            this.Instrument           = instrument ?? throw new ArgumentNullException(nameof(instrument));
            this.ReddeerDealerOrderId = reddeerTradeId ?? string.Empty;
            this.DealerOrderId        = tradeId ?? string.Empty;

            this.CreatedDate = createdDate;

            this.DealerId            = traderId ?? string.Empty;
            this.DealerName          = dealerName ?? string.Empty;
            this.Notes               = notes ?? string.Empty;
            this.DealerCounterParty  = tradeCounterParty ?? string.Empty;
            this.OrderType           = orderType;
            this.OrderDirection      = orderDirection;
            this.Currency            = currency;
            this.SettlementCurrency  = settlementCurrency;
            this.CleanDirty          = cleanDirty;
            this.AccumulatedInterest = accumulatedInterest;

            this.DealerOrderVersion       = dealerOrderVersion;
            this.DealerOrderVersionLinkId = dealerOrderVersionLinkId;
            this.DealerOrderGroupId       = dealerOrderGroupId;

            this.LimitPrice             = limitPrice;
            this.AverageFillPrice       = averageFillPrice;
            this.OrderedVolume          = orderedVolume;
            this.FilledVolume           = filledVolume;
            this.OptionStrikePrice      = optionStrikePrice;
            this.OptionExpirationDate   = optionExpirationDate;
            this.OptionEuropeanAmerican = tradeOptionEuropeanAmerican;
        }
Пример #13
0
        public static STIPriceTypes ToSterlingPriceType(this OrderTypes type, SterlingOrderCondition condition)
        {
            switch (type)
            {
            case OrderTypes.Limit:
                return(STIPriceTypes.ptSTILmt);

            case OrderTypes.Market:
                return(STIPriceTypes.ptSTIMkt);

            case OrderTypes.Conditional:
            {
                if (condition == null)
                {
                    throw new ArgumentNullException("condition");
                }

                switch (condition.ExtendedOrderType)
                {
                case SterlingExtendedOrderTypes.MarketOnClose:
                    return(STIPriceTypes.ptSTIMktClo);

                case SterlingExtendedOrderTypes.MarketOrBetter:
                    return(STIPriceTypes.ptSTIMktOb);

                case SterlingExtendedOrderTypes.MarketNoWait:
                    return(STIPriceTypes.ptSTIMktWow);

                case SterlingExtendedOrderTypes.LimitOnClose:
                    return(STIPriceTypes.ptSTILmtClo);

                case SterlingExtendedOrderTypes.Stop:
                    return(STIPriceTypes.ptSTILmtStp);

                case SterlingExtendedOrderTypes.StopLimit:
                    return(STIPriceTypes.ptSTILmtStpLmt);

                case SterlingExtendedOrderTypes.LimitOrBetter:
                    return(STIPriceTypes.ptSTILmtOb);

                case SterlingExtendedOrderTypes.LimitNoWait:
                    return(STIPriceTypes.ptSTILmtWow);

                case SterlingExtendedOrderTypes.Nyse:
                    return(STIPriceTypes.ptSTIBas);

                case SterlingExtendedOrderTypes.Close:
                    return(STIPriceTypes.ptSTIClo);

                case SterlingExtendedOrderTypes.Pegged:
                    return(STIPriceTypes.ptSTIPegged);

                case SterlingExtendedOrderTypes.ServerStop:
                    return(STIPriceTypes.ptSTISvrStp);

                case SterlingExtendedOrderTypes.ServerStopLimit:
                    return(STIPriceTypes.ptSTISvrStpLmt);

                case SterlingExtendedOrderTypes.TrailingStop:
                    return(STIPriceTypes.ptSTITrailStp);

                case SterlingExtendedOrderTypes.NoWait:
                    return(STIPriceTypes.ptSTIWow);

                case SterlingExtendedOrderTypes.Last:
                    return(STIPriceTypes.ptSTILast);

                case null:
                    throw new ArgumentException(LocalizedStrings.Str3803, "condition");

                default:
                    throw new ArgumentOutOfRangeException("condition", condition.ExtendedOrderType, LocalizedStrings.Str2500);
                }
            }

            default:
                throw new ArgumentOutOfRangeException("type");
            }
        }
Пример #14
0
        private Tuple <Order, bool, bool, bool> GetOrderInfo(Security security, OrderTypes type, long transactionId, long orderId, string orderStringId, Func <long, Order> createOrder, out bool isNew, bool newOrderRaised = false)
        {
            if (createOrder == null)
            {
                throw new ArgumentNullException("createOrder");
            }

            if (transactionId == 0 && orderId == 0 && orderStringId.IsEmpty())
            {
                throw new ArgumentException(LocalizedStrings.Str719);
            }

            var isNew2 = false;
            var orders = _cache.GetData(security).Orders;

            var cancelKey   = CreateOrderKey(type, transactionId, true);
            var registerKey = CreateOrderKey(type, transactionId, false);

            var cancelledOrder = (Order)orders.TryGetValue(cancelKey);

            // проверяем не отмененная ли заявка пришла
            if (cancelledOrder != null && (cancelledOrder.Id == orderId || (!cancelledOrder.StringId.IsEmpty() && cancelledOrder.StringId.CompareIgnoreCase(orderStringId))))
            {
                isNew = false;
                return(Tuple.Create(cancelledOrder, true, (Order)orders.TryGetValue(registerKey) != null, false));
            }

            var order = orders.SafeAdd(registerKey, key =>
            {
                isNew2 = true;

                var o = createOrder(transactionId);

                if (o == null)
                {
                    throw new InvalidOperationException(LocalizedStrings.Str720Params.Put(transactionId));
                }

                //TODO o.Connector = this;

                if (o.ExtensionInfo == null)
                {
                    o.ExtensionInfo = new Dictionary <object, object>();
                }

                _cache.AddOrder(o);

                // с таким же номером транзакции может быть заявка по другому инструменту
                _cache.AllOrdersByTransactionId.TryAdd(Tuple.Create(transactionId, type == OrderTypes.Conditional), o);

                return(new OrderInfo(o));
            });

            var raiseNewOrder = order.RaiseNewOrder;

            if (raiseNewOrder && newOrderRaised)
            {
                order.RaiseNewOrder = false;
            }

            isNew = isNew2;
            return(Tuple.Create((Order)order, false, false, raiseNewOrder));
        }
Пример #15
0
        public Order GetOrder(Security security, long transactionId, long?orderId, string orderStringId, OrderTypes orderType = OrderTypes.Limit, bool isCancel = false)
        {
            if (security == null)
            {
                throw new ArgumentNullException(nameof(security));
            }

            if (transactionId == 0 && orderId == null && orderStringId.IsEmpty())
            {
                throw new ArgumentException(LocalizedStrings.Str719);
            }

            var data = GetData(security);

            Order order = null;

            if (transactionId != 0)
            {
                order = data.Orders.TryGetValue(CreateOrderKey(orderType, transactionId, isCancel))?.Order;
            }

            if (order != null)
            {
                return(order);
            }

            if (orderId != null)
            {
                order = data.OrdersById.TryGetValue(orderId.Value);
            }

            if (order != null)
            {
                return(order);
            }

            return(orderStringId == null ? null : data.OrdersByStringId.TryGetValue(orderStringId));
        }
Пример #16
0
        public static void ReadOrderType(this IBSocket socket, out OrderTypes type, out IBOrderCondition.ExtendedOrderTypes?extendedType)
        {
            var str = socket.ReadStr();

            switch (str.ToUpperInvariant())
            {
            case "LMT":
                type         = OrderTypes.Limit;
                extendedType = IBOrderCondition.ExtendedOrderTypes.Empty;
                break;

            case "MKT":
                type         = OrderTypes.Market;
                extendedType = IBOrderCondition.ExtendedOrderTypes.Empty;
                break;

            case "MOC":
                type         = OrderTypes.Conditional;
                extendedType = IBOrderCondition.ExtendedOrderTypes.MarketOnClose;
                break;

            case "LMTCLS":
                type         = OrderTypes.Conditional;
                extendedType = IBOrderCondition.ExtendedOrderTypes.LimitOnClose;
                break;

            case "PEGMKT":
                type         = OrderTypes.Conditional;
                extendedType = IBOrderCondition.ExtendedOrderTypes.PeggedToMarket;
                break;

            case "STP":
                type         = OrderTypes.Conditional;
                extendedType = IBOrderCondition.ExtendedOrderTypes.Stop;
                break;

            case "STP LMT":
                type         = OrderTypes.Conditional;
                extendedType = IBOrderCondition.ExtendedOrderTypes.StopLimit;
                break;

            case "TRAIL":
                type         = OrderTypes.Conditional;
                extendedType = IBOrderCondition.ExtendedOrderTypes.TrailingStop;
                break;

            case "REL":
                type         = OrderTypes.Conditional;
                extendedType = IBOrderCondition.ExtendedOrderTypes.Relative;
                break;

            case "VWAP":
                type         = OrderTypes.Conditional;
                extendedType = IBOrderCondition.ExtendedOrderTypes.VolumeWeightedAveragePrice;
                break;

            case "TRAILLIMIT":
                type         = OrderTypes.Conditional;
                extendedType = IBOrderCondition.ExtendedOrderTypes.TrailingStopLimit;
                break;

            case "VOL":
                type         = OrderTypes.Conditional;
                extendedType = IBOrderCondition.ExtendedOrderTypes.Volatility;
                break;

            case "NONE":
                type         = OrderTypes.Conditional;
                extendedType = null;
                break;

            case "":
                type         = OrderTypes.Conditional;
                extendedType = IBOrderCondition.ExtendedOrderTypes.Empty;
                break;

            case "Default":
                type         = OrderTypes.Conditional;
                extendedType = IBOrderCondition.ExtendedOrderTypes.Default;
                break;

            case "SCALE":
                type         = OrderTypes.Conditional;
                extendedType = IBOrderCondition.ExtendedOrderTypes.Scale;
                break;

            case "MIT":
                type         = OrderTypes.Conditional;
                extendedType = IBOrderCondition.ExtendedOrderTypes.MarketIfTouched;
                break;

            case "LIT":
                type         = OrderTypes.Conditional;
                extendedType = IBOrderCondition.ExtendedOrderTypes.LimitIfTouched;
                break;

            default:
                throw new InvalidOperationException(LocalizedStrings.Str2504Params.Put(str));
            }
        }
Пример #17
0
		public Order GetOrder(Security security, long transactionId, long? orderId, string orderStringId, OrderTypes orderType = OrderTypes.Limit, bool isCancel = false)
		{
			if (security == null)
				throw new ArgumentNullException(nameof(security));

			if (transactionId == 0 && orderId == null && orderStringId.IsEmpty())
				throw new ArgumentException(LocalizedStrings.Str719);

			var data = GetData(security);

			Order order = null;

			if (transactionId != 0)
				order = (Order)data.Orders.TryGetValue(CreateOrderKey(orderType, transactionId, isCancel));

			if (order != null)
				return order;

			if (orderId != null)
				order = data.OrdersById.TryGetValue(orderId.Value);

			if (order != null)
				return order;

			return orderStringId == null ? null : data.OrdersByStringId.TryGetValue(orderStringId);
		}
Пример #18
0
 private void AssignValues(OrderTypes pvtOrderType)
 {
     dialog = DialogResult.OK;
     mOrderType = pvtOrderType;
     this.Hide();
 }
Пример #19
0
 public EquityOrder(int instrument, OrderTypes orderType, BuyOrSell buySell, ulong price,
                    UInt64 quantity)
     : base(instrument, orderType, buySell, price, quantity)
 {
 }
Пример #20
0
 public ConsumptionLogModel(Ordersss orders)
 {
     this.typeName = OrderTypes.GetName(orders.type);
     this.amount   = orders.payAmount.ToString();
     this.subTime  = orders.subTime.ToString("yyyy-MM-dd");
 }
Пример #21
0
 private void AssignValues(OrderTypes pvtOrderType)
 {
     dialog     = DialogResult.OK;
     mOrderType = pvtOrderType;
     this.Hide();
 }
Пример #22
0
		private void RegisterTransaction(Transaction transaction, MessageTypes messageType, long transactionId, OrderTypes type)
		{
			if (transactionId <= 0 || transactionId > uint.MaxValue)
				throw new InvalidOperationException(LocalizedStrings.Str1700Params.Put(transactionId));

			_transactions.Add(transactionId, transaction);

			_requests.Enqueue(new LuaRequest
			{
				MessageType = messageType,
				TransactionId = transactionId,
				OrderType = type,
				Value = transaction.SetTransactionId(transactionId).ToLuaString()
			});
		}
Пример #23
0
 public static SetOrderResponse CreateOrder(long exampleId, OrderTypes orderType, double? takeProfit, double? stopLoss)
 {
     using(var ctx = new DataModelContext())
     {
         var example = ctx.StatsExamples.Include("StatsType").Include("Orders").Single(e => e.Id == exampleId);
         // Check if example is not valid
         if(!example.IsValid)
         {
             return new SetOrderResponse {Error = SetOrderErrors.Other};
         }
         //
         var index = example.Orders.Count;
         if(index >= ctx.GetTransactionsCount())
             return new SetOrderResponse {Error = SetOrderErrors.Other};
         //
         var price = PricesProvider.GetPrice(example.StatsType.TypeId);
         if(!price.HasValue)
             return new SetOrderResponse {Error = SetOrderErrors.PriceError};
         //
         var buyPrice = PricesProvider.GetBuyPrice(price.Value, example.StatsType.TypeId);
         var sellPrice = PricesProvider.GetSellPrice(price.Value, example.StatsType.TypeId);
         if(orderType == OrderTypes.Buy)
         {
             var error = SetOrderErrors.None;
             // Check take profit value
             if(takeProfit.HasValue && takeProfit.Value <= sellPrice)
                 error |= SetOrderErrors.WrongTakeProfitValue;
             // Check Stop loss value
             if(stopLoss.HasValue && stopLoss.Value >= sellPrice)
                 error |= SetOrderErrors.WrongStopLossValue;
             //
             if(error != SetOrderErrors.None)
                 return new SetOrderResponse {Error = error};
             // Create order
             var order = new Order
             {
                 OpenPrice = buyPrice,
                 Index = index,
                 OrderType = orderType,
                 StatsExampleId = exampleId,
                 TakeProfit = takeProfit,
                 StopLoss = stopLoss
             };
             ctx.Orders.Add(order);
             // log
             var log = OrderLog.CreateLog(order, OrderLogTypes.Open);
             ctx.OrderLogs.Add(log);
             //
             ctx.SaveChanges();
             //
             lock(_openOrders)
             {
                 _openOrders.Add(new OpenOrder
                 {
                     SymbolId = example.StatsType.TypeId,
                     Order = order
                 });
             }
             //
             LogManager.GetCurrentClassLogger().Debug("Order created [0]", order.Id);
             //
             return new SetOrderResponse {Order = order, Error = SetOrderErrors.None};
         } else
         {
             var error = SetOrderErrors.None;
             // Check take profit value
             if(takeProfit.HasValue && takeProfit.Value >= buyPrice)
                 error |= SetOrderErrors.WrongTakeProfitValue;
             // Check Stop loss value
             if(stopLoss.HasValue && stopLoss.Value <= buyPrice)
                 error |= SetOrderErrors.WrongStopLossValue;
             //
             if(error != SetOrderErrors.None)
                 return new SetOrderResponse {Error = error};
             // Create order
             var order = new Order
             {
                 OpenPrice = sellPrice,
                 Index = index,
                 OrderType = orderType,
                 StatsExampleId = exampleId,
                 TakeProfit = takeProfit,
                 StopLoss = stopLoss
             };
             ctx.Orders.Add(order);
             // log
             var log = OrderLog.CreateLog(order, OrderLogTypes.Open);
             ctx.OrderLogs.Add(log);
             //
             ctx.SaveChanges();
             //
             lock(_openOrders)
             {
                 _openOrders.Add(new OpenOrder
                 {
                     SymbolId = example.StatsType.TypeId,
                     Order = order
                 });
             }
             //
             LogManager.GetCurrentClassLogger().Debug("Order created [0]", order.Id);
             //
             return new SetOrderResponse {Order = order, Error = SetOrderErrors.None};
         }
     }
 }
Пример #24
0
        public Order(
            FinancialInstrument instrument,
            Market market,
            int?reddeerOrderId,
            string orderId,
            DateTime?created,
            string orderVersion,
            string orderVersionLinkId,
            string orderGroupId,
            DateTime?placedDate,
            DateTime?bookedDate,
            DateTime?amendedDate,
            DateTime?rejectedDate,
            DateTime?cancelledDate,
            DateTime?filledDate,
            OrderTypes orderType,
            OrderDirections orderDirection,
            Currency orderCurrency,
            Currency?orderSettlementCurrency,
            OrderCleanDirty orderCleanDirty,
            decimal?orderAccumulatedInterest,
            Money?orderLimitPrice,
            Money?orderAverageFillPrice,
            decimal?orderOrderedVolume,
            decimal?orderFilledVolume,
            string orderTraderId,
            string orderTraderName,
            string orderClearingAgent,
            string orderDealingInstructions,
            IOrderBroker orderBroker,
            Money?orderOptionStrikePrice,
            DateTime?orderOptionExpirationDate,
            OptionEuropeanAmerican orderOptionEuropeanAmerican,
            IReadOnlyCollection <DealerOrder> trades)
            : base(placedDate, bookedDate, amendedDate, rejectedDate, cancelledDate, filledDate)
        {
            // keys
            this.Instrument     = instrument ?? throw new ArgumentNullException(nameof(instrument));
            this.Market         = market ?? throw new ArgumentNullException(nameof(market));
            this.ReddeerOrderId = reddeerOrderId;
            this.OrderId        = orderId ?? string.Empty;

            // versioning
            this.OrderVersion       = orderVersion ?? string.Empty;
            this.OrderVersionLinkId = orderVersionLinkId ?? string.Empty;
            this.OrderGroupId       = orderGroupId ?? string.Empty;

            // dates
            this.CreatedDate = created;

            // order fundamentals
            this.OrderType                = orderType;
            this.OrderDirection           = orderDirection;
            this.OrderCurrency            = orderCurrency;
            this.OrderSettlementCurrency  = orderSettlementCurrency;
            this.OrderCleanDirty          = orderCleanDirty;
            this.OrderAccumulatedInterest = orderAccumulatedInterest;
            this.OrderLimitPrice          = orderLimitPrice;
            this.OrderAverageFillPrice    = orderAverageFillPrice;
            this.OrderOrderedVolume       = orderOrderedVolume;
            this.OrderFilledVolume        = orderFilledVolume;
            this.OrderBroker              = orderBroker;

            // order trader and post trade
            this.OrderTraderId            = orderTraderId ?? string.Empty;
            this.OrderTraderName          = orderTraderName ?? string.Empty;
            this.OrderClearingAgent       = orderClearingAgent ?? string.Empty;
            this.OrderDealingInstructions = orderDealingInstructions ?? string.Empty;

            // options
            this.OrderOptionStrikePrice      = orderOptionStrikePrice;
            this.OrderOptionExpirationDate   = orderOptionExpirationDate;
            this.OrderOptionEuropeanAmerican = orderOptionEuropeanAmerican;

            // associated dealer orders
            this.DealerOrders = trades ?? new DealerOrder[0];
        }
Пример #25
0
 public UnitOrder(AbstractGameObject unit, TilePosition to, OrderTypes orderType)
 {
     _moveTo    = to;
     _obj       = unit;
     _orderType = orderType;
 }
Пример #26
0
 public OrderType GetOrderTypeByOrderTypeEnum(OrderTypes orderType)
 {
     return(DatabaseCommandDirectory.Instance.GetAllOrderTypes().SingleOrDefault(t => t.OrderTypeEnum == orderType));
 }
Пример #27
0
 public UnitOrder(AbstractGameObject unit, TilePosition to, OrderTypes orderType, Ability ability)
     : this(unit, to, orderType)
 {
     castAbility = ability;
 }
Пример #28
0
        public Order GetOrder(Security security, long transactionId, long orderId, string orderStringId, OrderTypes orderType = OrderTypes.Limit, bool isCancel = false)
        {
            if (security == null)
            {
                throw new ArgumentNullException("security");
            }

            if (transactionId == 0 && orderId == 0 && orderStringId.IsEmpty())
            {
                throw new ArgumentException(LocalizedStrings.Str719);
            }

            var data = _cache.GetData(security);

            if (transactionId != 0)
            {
                return((Order)data.Orders.TryGetValue(CreateOrderKey(orderType, transactionId, isCancel)));
            }

            if (orderId != 0)
            {
                return(data.OrdersById.TryGetValue(orderId));
            }

            return(data.OrdersByStringId.TryGetValue(orderStringId));
        }
Пример #29
0
        public void ReRegisterOrder(long oldOrderId, string portfName, decimal price, decimal volume, long transId, bool allOrNone, DateTimeOffset?expiryDate, OrderTypes type, ETradeOrderCondition cond)
        {
            var newOrder = new BusinessEntities.Order
            {
                Portfolio = new Portfolio {
                    Name = portfName
                },
                Price         = price,
                Volume        = volume,
                TransactionId = transId,
                TimeInForce   = allOrNone ? TimeInForce.MatchOrCancel : TimeInForce.PutInQueue,
                ExpiryDate    = expiryDate,
                Type          = type,
                Condition     = cond
            };

            _orderModule.ExecuteUserRequest(new ETradeReRegisterOrderRequest((int)oldOrderId, newOrder), response =>
            {
                OrderReRegisterResult.SafeInvoke(transId, response.Data, response.Exception);
                _orderModule.ResetOrderUpdateSettings(portfName, false);
            });
        }
Пример #30
0
        private void RegisterTransaction(Transaction transaction, MessageTypes messageType, long transactionId, OrderTypes type)
        {
            if (transactionId <= 0 || transactionId > uint.MaxValue)
            {
                throw new InvalidOperationException(LocalizedStrings.Str1700Params.Put(transactionId));
            }

            _transactions.Add(transactionId, transaction);

            _requests.Enqueue(new LuaRequest
            {
                MessageType   = messageType,
                TransactionId = transactionId,
                OrderType     = type,
                Value         = transaction.SetTransactionId(transactionId).ToLuaString()
            });
        }
Пример #31
0
 /// <summary>
 /// Gibt die Anzahl der noch Offenen Aufträge zurück
 /// </summary>
 /// <param name="dbContext"></param>
 /// <param name="OrdertypeName">z. B Zulassung</param>
 /// <returns>Int</returns>
 public static int getUnfineshedOrdersCount(DataClasses1DataContext dbContext, OrderTypes orderType, OrderStatusTypes orderStatus)
 {
     return dbContext.Order.Count(q => q.Status == (int)orderStatus &&
         q.OrderType.Id == (int)orderType && q.HasError.GetValueOrDefault(false) != true);
 }
Пример #32
0
        public void LoadFromXPath(XPathNavigator nav)
        {
            nav.MoveToFirstChild();

            do
            {
                if (nav.Name == "FolderPath")
                {
                    FolderPath = XmlDecode(nav.Value);
                }
                else if (nav.Name == "LastSync")
                {
                    try
                    {
                        LastSync = DateTime.ParseExact(nav.Value, "yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture);
                    }
                    catch (Exception)
                    {
                        LastSync = DateTime.Parse(nav.Value); //old method
                    }
                }
                else if (nav.Name == "SetId")
                {
                    SetId = nav.Value;
                }
                else if (nav.Name == "SetTitle")
                {
                    SetTitle = XmlDecode(nav.Value);
                }
                else if (nav.Name == "SetDescription")
                {
                    SetDescription = XmlDecode(nav.Value);
                }
                else if (nav.Name == "SyncMethod")
                {
                    if (nav.Value == "SyncFilename")
                    {
                        SyncMethod = SyncFolder.Methods.SyncFilename;
                    }
                    else if (nav.Value == "SyncDateTaken")
                    {
                        SyncMethod = SyncFolder.Methods.SyncDateTaken;
                    }
                    else if (nav.Value == "SyncTitleOrFilename")
                    {
                        SyncMethod = SyncFolder.Methods.SyncTitleOrFilename;
                    }
                }
                else if (nav.Name == "FilterType")
                {
                    if (nav.Value == "FilterNone")
                    {
                        FilterType = SyncFolder.FilterTypes.FilterNone;
                    }
                    else if (nav.Value == "FilterIncludeTags")
                    {
                        FilterType = SyncFolder.FilterTypes.FilterIncludeTags;
                    }
                    else if (nav.Value == "FilterStarRating")
                    {
                        FilterType = SyncFolder.FilterTypes.FilterStarRating;
                    }
                }
                else if (nav.Name == "FilterTags")
                {
                    FilterTags = nav.Value;
                }
                else if (nav.Name == "FilterStarRating")
                {
                    FilterStarRating = nav.ValueAsInt;
                }
                else if (nav.Name == "Permissions")
                {
                    if (nav.Value == "PermDefault")
                    {
                        Permission = FlickrSync.Permissions.PermDefault;
                    }
                    else if (nav.Value == "PermPublic")
                    {
                        Permission = FlickrSync.Permissions.PermPublic;
                    }
                    else if (nav.Value == "PermFamilyFriends")
                    {
                        Permission = FlickrSync.Permissions.PermFamilyFriends;
                    }
                    else if (nav.Value == "PermFriends")
                    {
                        Permission = FlickrSync.Permissions.PermFriends;
                    }
                    else if (nav.Value == "PermFamily")
                    {
                        Permission = FlickrSync.Permissions.PermFamily;
                    }
                    else if (nav.Value == "PermPrivate")
                    {
                        Permission = FlickrSync.Permissions.PermPrivate;
                    }
                }
                else if (nav.Name == "NoDelete")
                {
                    NoDelete = nav.ValueAsBoolean;
                }
                else if (nav.Name == "NoDeleteTags")
                {
                    NoDeleteTags = nav.ValueAsBoolean;
                }
                else if (nav.Name == "OrderType")
                {
                    if (nav.Value == "OrderDefault")
                    {
                        OrderType = OrderTypes.OrderDefault;
                    }
                    else if (nav.Value == "OrderDateTaken")
                    {
                        OrderType = OrderTypes.OrderDateTaken;
                    }
                    else if (nav.Value == "OrderTitle")
                    {
                        OrderType = OrderTypes.OrderTitle;
                    }
                    else if (nav.Value == "OrderTag")
                    {
                        OrderType = OrderTypes.OrderTag;
                    }
                }
                else if (nav.Name == "SetNaming")
                {
                    if (nav.Value == "NamingDefault")
                    {
                        SetNaming = SetNamings.NamingDefault;
                    }
                    else if (nav.Value == "NonUniqueSetNames")
                    {
                        SetNaming = SetNamings.NonUniqueSetNames;
                    }
                    else if (nav.Value == "UniqueSetNames")
                    {
                        SetNaming = SetNamings.UniqueSetNames;
                    }
                }
                else if (nav.Name == "NoInitialReplace")
                {
                    NoInitialReplace = nav.ValueAsBoolean;
                }
            } while (nav.MoveToNext());
        }
Пример #33
0
        public Double BuyInAktieEntfernt(Double buyIn, double alteAnzahl, double neueGesamtAnzahl, double preis, double neueAnzahl, double?fremdkosten, OrderTypes orderTypes)
        {
            var BuyIn = Math.Round(((buyIn * alteAnzahl) - ((preis * neueAnzahl) - fremdkosten.GetValueOrDefault(0))) / neueGesamtAnzahl, 3, MidpointRounding.AwayFromZero);

            if (BuyIn >= 2 && orderTypes != OrderTypes.Sparplan)
            {
                BuyIn = Math.Round(((buyIn * alteAnzahl) - ((preis * neueAnzahl) - fremdkosten.GetValueOrDefault(0))) / neueGesamtAnzahl, 2, MidpointRounding.AwayFromZero);
            }

            return(BuyIn);
        }
Пример #34
0
 public EquityOrder(int instrument, OrderTypes orderType, BuyOrSell buySell, ulong price,
                    UInt64 quantity)
     : base(instrument, orderType, buySell, price, quantity)
 {
 }
Пример #35
0
        public List <string> CrearDocumento(long OrderID, string TipoDoc)
        {
            List <string> ls = new List <string>();

            try
            {
                #region Variables Modelo
                Tickets              tck = contexdb.Get <Tickets>(x => x.TicketId == OrderID);
                QuickServeCustomers  quickServeCustomers = contexdb.Get <QuickServeCustomers>(x => x.TicketId == tck.TicketId);
                CustomerDetails      customerDetails     = contexdb.Get <CustomerDetails>(x => x.CustomerID == tck.CustomerDetailsId);
                OrderTypes           tipoOrden           = contexdb.Get <OrderTypes>(x => x.OrderTypeId == tck.OrderTypeId);
                SeatingChartDetails  mesa      = contexdb.Get <SeatingChartDetails>(x => x.SeatingChartId == tck.SeatingChartId);
                List <TicketDetails> detaOrden = contexdb.GetAll <TicketDetails>(x => x.TicketID == tck.TicketId && x.ItemStatusId != 3 && x.Price != 0).OrderBy(x => x.TicketDetailsId).ToList();
                var detalle = detaOrden.GroupBy(x => x.ItemName)
                              .Select(g => new
                {
                    DetaID   = g.Key,
                    Cantidad = g.Sum(y => y.Quantity),
                    Producto = g.Key,
                    Total    = g.Sum(y => y.Quantity * y.Price)
                });
                #endregion

                ls.Add(Texto.Centrar(Config.Obtener.NomComer, Config.Obtener.CantCar_Tck));
                ls.Add("");
                ls.Add(Texto.Centrar(Config.Obtener.NomEmpre, Config.Obtener.CantCar_Tck));
                foreach (string s in Config.Obtener.Encabezado)
                {
                    ls.Add(Texto.Centrar(s, Config.Obtener.CantCar_Tck));
                }
                ls.Add(Texto.Centrar("GIRO: " + Config.Obtener.Giro, Config.Obtener.CantCar_Tck));
                ls.Add(Texto.Centrar("CAJA: " + 0, Config.Obtener.CantCar_Tck));
                ls.Add("");
                ls.Add(Texto.Centrar("RES. Nº: ", "0", Config.Obtener.CantCar_Tck));
                ls.Add(Texto.Centrar("FECHA RESOL.: ", "0", Config.Obtener.CantCar_Tck));
                ls.Add(Texto.Centrar("SERIE: ", "0", Config.Obtener.CantCar_Tck));
                ls.Add(Texto.Centrar("RANGO : ", "0", Config.Obtener.CantCar_Tck));
                ls.Add(Texto.Centrar(" ", Config.Obtener.CantCar_Tck));


                ls.Add(Texto.Centrar("ATENDIO: " + tck.Users.FirstName + " " + tck.Users.LastName, "ESTACIÓN: " + tck.TerminalId, Config.Obtener.CantCar_Tck));
                ls.Add(Texto.Repetir('*', Config.Obtener.CantCar_Tck));
                ls.Add(Texto.Centrar("TICKET Nº : " + 0, "ESTACIÓN: " + tipoOrden.OrderType, Config.Obtener.CantCar_Tck));
                if (mesa != null)
                {
                    ls.Add(Texto.Centrar("MESA : " + mesa.TableCaption, "PERSONAS: " + tck.Guests, Config.Obtener.CantCar_Tck));
                }
                ls.Add(Texto.Repetir('*', Config.Obtener.CantCar_Tck));
                ls.Add(Texto.EncabDetalle("CNT", "PRODUCTO", "TOTAL", Config.Obtener.CantCar_Tck));
                ls.Add(Texto.Repetir('.', Config.Obtener.CantCar_Tck));

                foreach (var d in detalle)
                {
                    ls.Add(Texto.Detalle(d.Cantidad.ToString(), d.Producto, d.Total.ToString(), Config.Obtener.CantCar_Tck));
                }

                ls.Add(Texto.Repetir('.', Config.Obtener.CantCar_Tck));
                ls.Add(Texto.Centrar("TOTAL VENTAS:", tck.Subtotal.ToString(), Config.Obtener.CantCar_Tck));



                return(ls);
            }
            catch (Exception e)
            {
                throw new Exception(e.Message);
            }
        }
Пример #36
0
		public static IBSocket SendOrderType(this IBSocket socket, OrderTypes orderType, IBOrderCondition.ExtendedOrderTypes? extendedOrderType)
		{
			switch (orderType)
			{
				case OrderTypes.Limit:
					return socket.Send("LMT");
				case OrderTypes.Market:
					return socket.Send("MKT");
				case OrderTypes.Conditional:
				{
					if (extendedOrderType == null)
						return socket.Send("NONE");

					switch (extendedOrderType)
					{
						case IBOrderCondition.ExtendedOrderTypes.MarketOnClose:
							return socket.Send("MOC");
						case IBOrderCondition.ExtendedOrderTypes.LimitOnClose:
							return socket.Send("LMTCLS");
						case IBOrderCondition.ExtendedOrderTypes.PeggedToMarket:
							return socket.Send("PEGMKT");
						case IBOrderCondition.ExtendedOrderTypes.Stop:
							return socket.Send("STP");
						case IBOrderCondition.ExtendedOrderTypes.StopLimit:
							return socket.Send("STP LMT");
						case IBOrderCondition.ExtendedOrderTypes.TrailingStop:
							return socket.Send("TRAIL");
						case IBOrderCondition.ExtendedOrderTypes.Relative:
							return socket.Send("REL");
						case IBOrderCondition.ExtendedOrderTypes.VolumeWeightedAveragePrice:
							return socket.Send("VWAP");
						case IBOrderCondition.ExtendedOrderTypes.TrailingStopLimit:
							return socket.Send("TRAILLIMIT");
						case IBOrderCondition.ExtendedOrderTypes.Volatility:
							return socket.Send("VOL");
						case IBOrderCondition.ExtendedOrderTypes.Empty:
							return socket.Send("");
						case IBOrderCondition.ExtendedOrderTypes.Default:
							return socket.Send("Default");
						case IBOrderCondition.ExtendedOrderTypes.Scale:
							return socket.Send("SCALE");
						case IBOrderCondition.ExtendedOrderTypes.MarketIfTouched:
							return socket.Send("MIT");
						case IBOrderCondition.ExtendedOrderTypes.LimitIfTouched:
							return socket.Send("LIT");
						default:
							throw new ArgumentOutOfRangeException("extendedOrderType", extendedOrderType, LocalizedStrings.Str2500);
					}
				}
				default:
					throw new ArgumentOutOfRangeException("orderType", orderType, LocalizedStrings.Str1600);
			}
		}
Пример #37
0
		public static void ReadOrderType(this IBSocket socket, out OrderTypes type, out IBOrderCondition.ExtendedOrderTypes? extendedType)
		{
			var str = socket.ReadStr();

			switch (str.ToUpperInvariant())
			{
				case "LMT":
					type = OrderTypes.Limit;
					extendedType = IBOrderCondition.ExtendedOrderTypes.Empty;
					break;
				case "MKT":
					type = OrderTypes.Market;
					extendedType = IBOrderCondition.ExtendedOrderTypes.Empty;
					break;
				case "MOC":
					type = OrderTypes.Conditional;
					extendedType = IBOrderCondition.ExtendedOrderTypes.MarketOnClose;
					break;
				case "LMTCLS":
					type = OrderTypes.Conditional;
					extendedType = IBOrderCondition.ExtendedOrderTypes.LimitOnClose;
					break;
				case "PEGMKT":
					type = OrderTypes.Conditional;
					extendedType = IBOrderCondition.ExtendedOrderTypes.PeggedToMarket;
					break;
				case "STP":
					type = OrderTypes.Conditional;
					extendedType = IBOrderCondition.ExtendedOrderTypes.Stop;
					break;
				case "STP LMT":
					type = OrderTypes.Conditional;
					extendedType = IBOrderCondition.ExtendedOrderTypes.StopLimit;
					break;
				case "TRAIL":
					type = OrderTypes.Conditional;
					extendedType = IBOrderCondition.ExtendedOrderTypes.TrailingStop;
					break;
				case "REL":
					type = OrderTypes.Conditional;
					extendedType = IBOrderCondition.ExtendedOrderTypes.Relative;
					break;
				case "VWAP":
					type = OrderTypes.Conditional;
					extendedType = IBOrderCondition.ExtendedOrderTypes.VolumeWeightedAveragePrice;
					break;
				case "TRAILLIMIT":
					type = OrderTypes.Conditional;
					extendedType = IBOrderCondition.ExtendedOrderTypes.TrailingStopLimit;
					break;
				case "VOL":
					type = OrderTypes.Conditional;
					extendedType = IBOrderCondition.ExtendedOrderTypes.Volatility;
					break;
				case "NONE":
					type = OrderTypes.Conditional;
					extendedType = null;
					break;
				case "":
					type = OrderTypes.Conditional;
					extendedType = IBOrderCondition.ExtendedOrderTypes.Empty;
					break;
				case "Default":
					type = OrderTypes.Conditional;
					extendedType = IBOrderCondition.ExtendedOrderTypes.Default;
					break;
				case "SCALE":
					type = OrderTypes.Conditional;
					extendedType = IBOrderCondition.ExtendedOrderTypes.Scale;
					break;
				case "MIT":
					type = OrderTypes.Conditional;
					extendedType = IBOrderCondition.ExtendedOrderTypes.MarketIfTouched;
					break;
				case "LIT":
					type = OrderTypes.Conditional;
					extendedType = IBOrderCondition.ExtendedOrderTypes.LimitIfTouched;
					break;
				default:
					throw new InvalidOperationException(LocalizedStrings.Str2504Params.Put(str));
			}
		}
Пример #38
0
		private Order CreateOrder(Sides direction, decimal price = 0, OrderTypes type = OrderTypes.Market)
		{
			return new Order
			{
				Portfolio = Settings.Portfolio,
				Security = Settings.Security,
				Direction = direction,
				Price = price,
				Volume = Settings.Volume,
				Type = type,
			};
		}
Пример #39
0
 public async Task <Order> PlaceOrderAsync(string symbol, OrderSides side, OrderTypes type, TimesInForce timeInForce, decimal quantity, decimal price)
 {
     return(await Task.Run(() => PlaceOrder(symbol, side, type, timeInForce, quantity, price)));
 }
        public Order Update(long id, string description, OrderTypes orderType, long ownerId, long? transporter,
                            long? supplier, long? receiver, long? fromVesselInCompanyId, long? toVesselInCompanyId)
        {
            var order = orderRepository.FindByKey(id);
            if (order == null)
                throw new ObjectNotFound("Order", id);

            GetCompanies(ownerId, transporter, supplier, receiver);
            var vessels = GetVessels(fromVesselInCompanyId, toVesselInCompanyId);

            order.Update(description, orderType,
                         ownerId,
                         transporter,
                         supplier,
                         receiver,
                         vessels.SingleOrDefault(c => c.Id == fromVesselInCompanyId),
                         vessels.SingleOrDefault(c => c.Id == toVesselInCompanyId), orderConfigurator, orderItemDomainService);

            orderRepository.Update(order);

            try
            {
                unitOfWorkScope.Commit();
            }
            catch (OptimisticConcurrencyException ex)
            {
                throw new ConcurencyException("Order");
            }
            return order;
        }
Пример #41
0
        private Tuple <Order, bool, bool> GetOrderInfo(SecurityData securityData, OrderTypes type, long transactionId, long?orderId, string orderStringId, Func <long, Order> createOrder, out bool isNew, bool newOrderRaised = false)
        {
            if (createOrder == null)
            {
                throw new ArgumentNullException("createOrder");
            }

            if (transactionId == 0 && orderId == null && orderStringId.IsEmpty())
            {
                throw new ArgumentException(LocalizedStrings.Str719);
            }

            var isNew2 = false;
            var orders = securityData.Orders;

            OrderInfo info;

            if (transactionId == 0)
            {
                info = orders.CachedValues.FirstOrDefault(i =>
                {
                    var order = i.Order;

                    if (orderId != null)
                    {
                        return(order.Id == orderId);
                    }
                    else
                    {
                        return(order.StringId.CompareIgnoreCase(orderStringId));
                    }
                });

                if (info == null)
                {
                    isNew = false;
                    return(null);
                    //throw new InvalidOperationException(LocalizedStrings.Str1156Params.Put(orderId.To<string>() ?? orderStringId));
                }
            }
            else
            {
                var cancelKey   = CreateOrderKey(type, transactionId, true);
                var registerKey = CreateOrderKey(type, transactionId, false);

                var cancelledOrder = (Order)orders.TryGetValue(cancelKey);

                // проверяем не отмененная ли заявка пришла
                if (cancelledOrder != null && (cancelledOrder.Id == orderId || (!cancelledOrder.StringId.IsEmpty() && cancelledOrder.StringId.CompareIgnoreCase(orderStringId))))
                {
                    isNew = false;
                    return(Tuple.Create(cancelledOrder, true /*, (Order)orders.TryGetValue(registerKey) != null*/, false));
                }

                info = orders.SafeAdd(registerKey, key =>
                {
                    isNew2 = true;

                    var o = createOrder(transactionId);

                    if (o == null)
                    {
                        throw new InvalidOperationException(LocalizedStrings.Str720Params.Put(transactionId));
                    }

                    if (o.ExtensionInfo == null)
                    {
                        o.ExtensionInfo = new Dictionary <object, object>();
                    }

                    AddOrder(o);

                    // с таким же идентификатором транзакции может быть заявка по другому инструменту
                    _allOrdersByTransactionId.TryAdd(Tuple.Create(transactionId, type == OrderTypes.Conditional), o);

                    return(new OrderInfo(o));
                });
            }

            var raiseNewOrder = info.RaiseNewOrder;

            if (raiseNewOrder && newOrderRaised)
            {
                info.RaiseNewOrder = false;
            }

            isNew = isNew2;
            return(Tuple.Create((Order)info, false, raiseNewOrder));
        }
Пример #42
0
		/// <summary>
		/// To format the order type in string.
		/// </summary>
		/// <param name="type">Order type.</param>
		/// <returns>The formatted string.</returns>
		protected virtual string Format(OrderTypes type)
		{
			switch (type)
			{
				case OrderTypes.Limit:
					return LocalizedStrings.Str1353;
				case OrderTypes.Market:
					return LocalizedStrings.Str241;
				case OrderTypes.Repo:
					return LocalizedStrings.Str243;
				case OrderTypes.Rps:
					return LocalizedStrings.Str1354;
				case OrderTypes.ExtRepo:
					return LocalizedStrings.Str244;
				default:
					throw new ArgumentOutOfRangeException(nameof(type));
			}
		}
Пример #43
0
        public void LoadFromXPath(XPathNavigator nav)
        {
            nav.MoveToFirstChild();

            do
            {
                if (nav.Name == "FolderPath") FolderPath = XmlDecode(nav.Value);
                else if (nav.Name == "LastSync")
                {
                    try
                    {
                        LastSync = DateTime.ParseExact(nav.Value, "yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture);
                    }
                    catch (Exception)
                    {
                        LastSync = DateTime.Parse(nav.Value); //old method
                    }
                }
                else if (nav.Name == "SetId") SetId = nav.Value;
                else if (nav.Name == "SetTitle") SetTitle = XmlDecode(nav.Value);
                else if (nav.Name == "SetDescription") SetDescription = XmlDecode(nav.Value);
                else if (nav.Name == "SyncMethod")
                {
                    if (nav.Value == "SyncFilename") SyncMethod = SyncFolder.Methods.SyncFilename;
                    else if (nav.Value == "SyncDateTaken") SyncMethod = SyncFolder.Methods.SyncDateTaken;
                    else if (nav.Value == "SyncTitleOrFilename") SyncMethod = SyncFolder.Methods.SyncTitleOrFilename;
                }
                else if (nav.Name == "FilterType")
                {
                    if (nav.Value == "FilterNone") FilterType = SyncFolder.FilterTypes.FilterNone;
                    else if (nav.Value == "FilterIncludeTags") FilterType = SyncFolder.FilterTypes.FilterIncludeTags;
                    else if (nav.Value == "FilterStarRating") FilterType = SyncFolder.FilterTypes.FilterStarRating;
                }
                else if (nav.Name == "FilterTags") FilterTags = nav.Value;
                else if (nav.Name == "FilterStarRating") FilterStarRating = nav.ValueAsInt;
                else if (nav.Name == "Permissions")
                {
                    if (nav.Value == "PermDefault") Permission = FlickrSync.Permissions.PermDefault;
                    else if (nav.Value == "PermPublic") Permission = FlickrSync.Permissions.PermPublic;
                    else if (nav.Value == "PermFamilyFriends") Permission = FlickrSync.Permissions.PermFamilyFriends;
                    else if (nav.Value == "PermFriends") Permission = FlickrSync.Permissions.PermFriends;
                    else if (nav.Value == "PermFamily") Permission = FlickrSync.Permissions.PermFamily;
                    else if (nav.Value == "PermPrivate") Permission = FlickrSync.Permissions.PermPrivate;
                }
                else if (nav.Name == "NoDelete") NoDelete = nav.ValueAsBoolean;
                else if (nav.Name == "Children") Children = nav.ValueAsBoolean;
                else if (nav.Name == "NoDeleteTags") NoDeleteTags = nav.ValueAsBoolean;
                else if (nav.Name == "OrderType")
                {
                    if (nav.Value == "OrderDefault") OrderType = OrderTypes.OrderDefault;
                    else if (nav.Value == "OrderDateTaken") OrderType = OrderTypes.OrderDateTaken;
                    else if (nav.Value == "OrderTitle") OrderType = OrderTypes.OrderTitle;
                    else if (nav.Value == "OrderTag") OrderType = OrderTypes.OrderTag;
                }
                else if (nav.Name == "NoInitialReplace") NoInitialReplace = nav.ValueAsBoolean;
            } while (nav.MoveToNext());
        }
Пример #44
0
		public void UpdateOrderType(Int64 TransactionID, DateTime TransactionDate, OrderTypes pvtOrderType)
		{
			try
			{
				string SQL = "CALL procTransactionOrderTypeUpdate(@TransactionID, @OrderType);";

				MySqlCommand cmd = new MySqlCommand();
				cmd.CommandType = System.Data.CommandType.Text;
				cmd.CommandText = SQL;

				cmd.Parameters.AddWithValue("@TransactionID", TransactionID);
				cmd.Parameters.AddWithValue("@OrderType", pvtOrderType.ToString("d"));

				base.ExecuteNonQuery(cmd);
			}
			catch (Exception ex)
			{
				throw base.ThrowException(ex);
			}
		}
Пример #45
0
 public IndexViewModel(IQueryable <EventViewModel> eventItems, DateTime?filterDate, CalendarNames calendarName, OrderTypes orderBy)
     : this(eventItems)
 {
     FilterDate   = filterDate;
     CalendarName = calendarName;
     OrderBy      = orderBy;
 }
Пример #46
0
		private static Tuple<long, OrderTypes?, bool> CreateOrderKey(OrderTypes? type, long transactionId, bool isCancel)
		{
			if (transactionId <= 0)
				throw new ArgumentOutOfRangeException(nameof(transactionId), transactionId, LocalizedStrings.Str718);

			return Tuple.Create(transactionId, type, isCancel);
		}
Пример #47
0
        public static IBSocket SendOrderType(this IBSocket socket, OrderTypes orderType, IBOrderCondition.ExtendedOrderTypes?extendedOrderType)
        {
            switch (orderType)
            {
            case OrderTypes.Limit:
                return(socket.Send("LMT"));

            case OrderTypes.Market:
                return(socket.Send("MKT"));

            case OrderTypes.Conditional:
            {
                if (extendedOrderType == null)
                {
                    return(socket.Send("NONE"));
                }

                switch (extendedOrderType)
                {
                case IBOrderCondition.ExtendedOrderTypes.MarketOnClose:
                    return(socket.Send("MOC"));

                case IBOrderCondition.ExtendedOrderTypes.LimitOnClose:
                    return(socket.Send("LMTCLS"));

                case IBOrderCondition.ExtendedOrderTypes.PeggedToMarket:
                    return(socket.Send("PEGMKT"));

                case IBOrderCondition.ExtendedOrderTypes.Stop:
                    return(socket.Send("STP"));

                case IBOrderCondition.ExtendedOrderTypes.StopLimit:
                    return(socket.Send("STP LMT"));

                case IBOrderCondition.ExtendedOrderTypes.TrailingStop:
                    return(socket.Send("TRAIL"));

                case IBOrderCondition.ExtendedOrderTypes.Relative:
                    return(socket.Send("REL"));

                case IBOrderCondition.ExtendedOrderTypes.VolumeWeightedAveragePrice:
                    return(socket.Send("VWAP"));

                case IBOrderCondition.ExtendedOrderTypes.TrailingStopLimit:
                    return(socket.Send("TRAILLIMIT"));

                case IBOrderCondition.ExtendedOrderTypes.Volatility:
                    return(socket.Send("VOL"));

                case IBOrderCondition.ExtendedOrderTypes.Empty:
                    return(socket.Send(""));

                case IBOrderCondition.ExtendedOrderTypes.Default:
                    return(socket.Send("Default"));

                case IBOrderCondition.ExtendedOrderTypes.Scale:
                    return(socket.Send("SCALE"));

                case IBOrderCondition.ExtendedOrderTypes.MarketIfTouched:
                    return(socket.Send("MIT"));

                case IBOrderCondition.ExtendedOrderTypes.LimitIfTouched:
                    return(socket.Send("LIT"));

                default:
                    throw new ArgumentOutOfRangeException(nameof(extendedOrderType), extendedOrderType, LocalizedStrings.Str2500);
                }
            }

            default:
                throw new ArgumentOutOfRangeException(nameof(orderType), orderType, LocalizedStrings.Str1600);
            }
        }
Пример #48
0
		private Tuple<Order, bool, bool> GetOrderInfo(SecurityData securityData, OrderTypes? type, long transactionId, long? orderId, string orderStringId, Func<long, Order> createOrder, out bool isNew, bool newOrderRaised = false)
		{
			if (createOrder == null)
				throw new ArgumentNullException(nameof(createOrder));

			if (transactionId == 0 && orderId == null && orderStringId.IsEmpty())
				throw new ArgumentException(LocalizedStrings.Str719);

			var isNew2 = false;
			var orders = securityData.Orders;

			OrderInfo info;

			if (transactionId == 0)
			{
				info = orders.CachedValues.FirstOrDefault(i =>
				{
					var order = i.Order;

					if (orderId != null)
						return order.Id == orderId;
					else
						return order.StringId.CompareIgnoreCase(orderStringId);
				});

				if (info == null)
				{
					isNew = false;
					return null;
					//throw new InvalidOperationException(LocalizedStrings.Str1156Params.Put(orderId.To<string>() ?? orderStringId));
				}
			}
			else
			{
				var cancelKey = CreateOrderKey(type, transactionId, true);
				var registerKey = CreateOrderKey(type, transactionId, false);

				var cancelledOrder = (Order)orders.TryGetValue(cancelKey);

				// проверяем не отмененная ли заявка пришла
				if (cancelledOrder != null && (cancelledOrder.Id == orderId || (!cancelledOrder.StringId.IsEmpty() && cancelledOrder.StringId.CompareIgnoreCase(orderStringId))))
				{
					isNew = false;
					return Tuple.Create(cancelledOrder, true/*, (Order)orders.TryGetValue(registerKey) != null*/, false);
				}

				info = orders.SafeAdd(registerKey, key =>
				{
					isNew2 = true;

					var o = createOrder(transactionId);

					if (o == null)
						throw new InvalidOperationException(LocalizedStrings.Str720Params.Put(transactionId));

					if (o.ExtensionInfo == null)
						o.ExtensionInfo = new Dictionary<object, object>();

					AddOrder(o);

					// с таким же идентификатором транзакции может быть заявка по другому инструменту
					_allOrdersByTransactionId.TryAdd(Tuple.Create(transactionId, type == OrderTypes.Conditional), o);

					return new OrderInfo(o);
				});
			}

			var raiseNewOrder = info.RaiseNewOrder;

			if (raiseNewOrder && newOrderRaised)
				info.RaiseNewOrder = false;

			isNew = isNew2;
			return Tuple.Create((Order)info, false, raiseNewOrder);
		}
Пример #49
0
 public static int GetByOrderType(OrderTypes orderType)
 {
     return(orderType == OrderTypes.PurchaseOrder ? 1 : -1);
 }