Esempio n. 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;
        }
 public static IOrder GetOrderInstance(OrderTypes orderType)
 {
     switch (orderType)
     {
         case OrderTypes.Asc:
             return new OrderAsc();
         default:
             return new OrderDesc();
     }
 }
Esempio n. 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;
        }
Esempio n. 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>();
        }
Esempio n. 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;
        }
Esempio n. 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;

		}
Esempio n. 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);
        }
Esempio n. 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;
 }
Esempio n. 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);
		}
Esempio n. 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);
        }
Esempio n. 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;
        }
Esempio n. 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");
            }
        }
Esempio n. 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));
        }
Esempio n. 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));
        }
Esempio n. 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));
            }
        }
Esempio n. 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);
		}
Esempio n. 18
0
 private void AssignValues(OrderTypes pvtOrderType)
 {
     dialog = DialogResult.OK;
     mOrderType = pvtOrderType;
     this.Hide();
 }
 public EquityOrder(int instrument, OrderTypes orderType, BuyOrSell buySell, ulong price,
                    UInt64 quantity)
     : base(instrument, orderType, buySell, price, quantity)
 {
 }
Esempio n. 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");
 }
Esempio n. 21
0
 private void AssignValues(OrderTypes pvtOrderType)
 {
     dialog     = DialogResult.OK;
     mOrderType = pvtOrderType;
     this.Hide();
 }
Esempio n. 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()
			});
		}
Esempio n. 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};
         }
     }
 }
Esempio n. 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];
        }
Esempio n. 25
0
 public UnitOrder(AbstractGameObject unit, TilePosition to, OrderTypes orderType)
 {
     _moveTo    = to;
     _obj       = unit;
     _orderType = orderType;
 }
Esempio n. 26
0
 public OrderType GetOrderTypeByOrderTypeEnum(OrderTypes orderType)
 {
     return(DatabaseCommandDirectory.Instance.GetAllOrderTypes().SingleOrDefault(t => t.OrderTypeEnum == orderType));
 }
Esempio n. 27
0
 public UnitOrder(AbstractGameObject unit, TilePosition to, OrderTypes orderType, Ability ability)
     : this(unit, to, orderType)
 {
     castAbility = ability;
 }
Esempio n. 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));
        }
Esempio n. 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);
            });
        }
Esempio n. 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()
            });
        }
Esempio n. 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);
 }
Esempio n. 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());
        }
Esempio n. 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);
        }
Esempio n. 34
0
 public EquityOrder(int instrument, OrderTypes orderType, BuyOrSell buySell, ulong price,
                    UInt64 quantity)
     : base(instrument, orderType, buySell, price, quantity)
 {
 }
        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);
            }
        }
Esempio n. 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);
			}
		}
Esempio n. 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));
			}
		}
Esempio n. 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,
			};
		}
Esempio n. 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;
        }
Esempio n. 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));
        }
Esempio n. 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));
			}
		}
Esempio n. 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());
        }
Esempio n. 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);
			}
		}
Esempio n. 45
0
 public IndexViewModel(IQueryable <EventViewModel> eventItems, DateTime?filterDate, CalendarNames calendarName, OrderTypes orderBy)
     : this(eventItems)
 {
     FilterDate   = filterDate;
     CalendarName = calendarName;
     OrderBy      = orderBy;
 }
Esempio n. 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);
		}
Esempio n. 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);
            }
        }
Esempio n. 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);
		}
Esempio n. 49
0
 public static int GetByOrderType(OrderTypes orderType)
 {
     return(orderType == OrderTypes.PurchaseOrder ? 1 : -1);
 }