Exemplo n.º 1
0
        public void CreateConflictDataSet(IOI i, Order o)
        {
            DataSet newDataSet = this.rmsx.CreateDataSet("conflict_I" + i.field("id_value").Value() + "|O" + o.field("EMSX_SEQUENCE").value());

            log("Creating DataSet: " + newDataSet.GetName());

            newDataSet.AddDataPoint("ioiid", new IOIFieldDataPointSource(i, i.field("id_value")));
            newDataSet.AddDataPoint("ioichange", new IOIFieldDataPointSource(i, i.field("change")));
            newDataSet.AddDataPoint("ioiticker", new IOIFieldDataPointSource(i, i.field("ioi_instrument_stock_security_ticker")));
            newDataSet.AddDataPoint("ioitype", new IOIFieldDataPointSource(i, i.field("ioi_instrument_type")));
            newDataSet.AddDataPoint("ioigooduntil", new IOIFieldDataPointSource(i, i.field("ioi_goodUntil")));
            newDataSet.AddDataPoint("ioibidquantity", new IOIFieldDataPointSource(i, i.field("ioi_bid_size_quantity")));
            newDataSet.AddDataPoint("ioiofferquantity", new IOIFieldDataPointSource(i, i.field("ioi_offer_size_quantity")));
            newDataSet.AddDataPoint("ioiroutingbroker", new IOIFieldDataPointSource(i, i.field("ioi_routing_broker")));
            newDataSet.AddDataPoint("ioiisvalid", new GenericBooleanSource(false));

            newDataSet.AddDataPoint("orderStatus", new EMSXFieldDataPointSource(o.field("EMSX_STATUS")));
            newDataSet.AddDataPoint("orderNumber", new EMSXFieldDataPointSource(o.field("EMSX_SEQUENCE")));
            newDataSet.AddDataPoint("orderWorking", new EMSXFieldDataPointSource(o.field("EMSX_WORKING")));
            newDataSet.AddDataPoint("orderAmount", new EMSXFieldDataPointSource(o.field("EMSX_AMOUNT")));
            newDataSet.AddDataPoint("orderIdleAmount", new EMSXFieldDataPointSource(o.field("EMSX_IDLE_AMOUNT")));
            newDataSet.AddDataPoint("orderTicker", new EMSXFieldDataPointSource(o.field("EMSX_TICKER")));
            newDataSet.AddDataPoint("orderSide", new EMSXFieldDataPointSource(o.field("EMSX_SIDE")));
            newDataSet.AddDataPoint("orderAssetClass", new EMSXFieldDataPointSource(o.field("EMSX_ASSET_CLASS")));
            newDataSet.AddDataPoint("orderisvalid", new GenericBooleanSource(false));

            this.rmsx.GetRuleSet("AutoRouteFromIOI").Execute(newDataSet);
        }
Exemplo n.º 2
0
            internal IOIFieldDataPointSource(IOI i, IOIField field)
            {
                this.field = field;
                this.value = field.Value();

                i.addNotificationHandler(this);
            }
Exemplo n.º 3
0
 internal IOIFieldDataPointSource(IOI i, IOIField field)
 {
     this.field = field;
     if (field != null)
     {
         this.value = field.Value();
         i.addNotificationHandler(this);
     }
     else
     {
         this.value = "";
     }
 }
Exemplo n.º 4
0
        public ActionResult Get(int id)
        {
            IOI ioi = work.IOI.FindById(id);

            if (ioi != null)
            {
                return(Ok(ioi));
            }
            else
            {
                return(NotFound($"The IOI with the id: {id} was not found "));
            }
        }
Exemplo n.º 5
0
        public void parseIOI(IOI i)
        {
            DataSet newDataSet = this.rmsx.CreateDataSet("DS_IOI_" + i.field("id_value").Value());

            newDataSet.AddDataPoint("handle", new IOIFieldDataPointSource(i, i.field("id_value")));
            newDataSet.AddDataPoint("change", new IOIFieldDataPointSource(i, i.field("change")));
            newDataSet.AddDataPoint("ticker", new IOIFieldDataPointSource(i, i.field("ioi_instrument_stock_security_ticker")));
            newDataSet.AddDataPoint("type", new IOIFieldDataPointSource(i, i.field("ioi_instrument_type")));
            newDataSet.AddDataPoint("bid_quantity", new IOIFieldDataPointSource(i, i.field("ioi_bid_size_quantity")));
            newDataSet.AddDataPoint("offer_quantity", new IOIFieldDataPointSource(i, i.field("ioi_offer_size_quantity")));

            this.rmsx.GetRuleSet("IOI").Execute(newDataSet);
        }
Exemplo n.º 6
0
 public IOI Post([FromBody] IOI value)
 {
     try
     {
         value.Warranty = work.Warranty.FindById(value.WarrantyId);
         work.IOI.Add(value);
         work.Commit();
         Response.StatusCode = StatusCodes.Status201Created;
     }
     catch (Exception)
     {
         Response.StatusCode = StatusCodes.Status400BadRequest;
     }
     return(value);
 }
Exemplo n.º 7
0
        //EasyIOI Notification
        public void ProcessNotification(IOINotification notification)
        {
            if (notification.category == IOINotification.NotificationCategory.IOIDATA && (notification.type == IOINotification.NotificationType.NEW))
            {
                //Create conflict set with all current orders.
                IOI i = notification.GetIOI();

                log(i.field("ioi_instrument_stock_security_ticker").Value());
                log("Creating conflict set for IOI: " + i.field("id_value").Value().ToString());

                foreach (Order o in emsx.orders)
                {
                    CreateConflictDataSet(i, o);
                }
            }
        }
Exemplo n.º 8
0
        public static ReadDataServiceRequest BuildLogixReadDataRequest(string tagAddress, ushort number, out int requestSize)
        {
            byte[] newIOI = IOI.BuildIOI(tagAddress);

            int pathLen = newIOI.Length;// IOI.BuildIOI(null, tagAddress);
            ReadDataServiceRequest request = new ReadDataServiceRequest();
            request.Service = (byte)ControlNetService.CIP_ReadData;
            request.PathSize = (byte)(pathLen / 2);
            byte[] path = new byte[pathLen];
            Buffer.BlockCopy(newIOI, 0, path, 0, newIOI.Length);
            //IOI.BuildIOI(path, tagAddress);
            request.Path = path;
            request.Elements = number;

            requestSize = request.Size;

            return request;
        }
Exemplo n.º 9
0
        public static WriteDataServiceRequest BuildLogixWriteDataRequest(string tagAddress, ushort dataType, ushort elementCount, byte[] data, ushort structHandle = 0x0000)
#endif
		{
            byte[] newIOI = IOI.BuildIOI(tagAddress);

            int pathLen = newIOI.Length;
            WriteDataServiceRequest request = new WriteDataServiceRequest();
            request.Service = (byte)ControlNetService.CIP_WriteData;
            request.PathSize = (byte)(pathLen / 2);
            byte[] path = new byte[pathLen];
            Buffer.BlockCopy(newIOI, 0, path, 0, newIOI.Length);
            request.Path = path;
            request.Elements = elementCount;
            request.DataType = dataType;
            request.StructHandle = structHandle;
            request.Data = data;

            return request;
        }
Exemplo n.º 10
0
        public ActionResult <IOI> Put(int id, [FromBody] IOI value)
        {
            IOI ioi = work.IOI.FindById(id);

            if (ioi != null)
            {
                ioi.DeliveryDeadline = value.DeliveryDeadline;
                ioi.PaymentDeadline  = value.PaymentDeadline;
                ioi.WarrantyId       = value.WarrantyId;

                work.Commit();

                return(Ok(ioi));
            }
            else
            {
                return(BadRequest());
            }
        }
Exemplo n.º 11
0
        public static ReadDataServiceRequest BuildFragmentedReadDataRequest(string tagAddress, ushort number, uint offset, out int requestSize)
        {
            byte[] newIOI = IOI.BuildIOI(tagAddress);

            int pathLen = newIOI.Length;// IOI.BuildIOI(null, tagAddress);
            ReadDataServiceRequest request = new ReadDataServiceRequest();

            request.Service      = (byte)ControlNetService.CIP_ReadDataFragmented;
            request.PathSize     = (byte)(pathLen / 2);
            request.IsFragmented = true;
            request.DataOffset   = offset;
            byte[] path = new byte[pathLen];
            Buffer.BlockCopy(newIOI, 0, path, 0, newIOI.Length);
            //IOI.BuildIOI(path, tagAddress);
            request.Path     = path;
            request.Elements = number;

            requestSize = request.Size;

            return(request);
        }
Exemplo n.º 12
0
        public ActionResult Delete(int id)
        {
            IOI forRemoval = work.IOI.FindById(id);

            try
            {
                if (forRemoval != null)
                {
                    work.IOI.Delete(forRemoval);
                    work.Commit();
                    return(Ok());
                }
                else
                {
                    return(NotFound());
                }
            }
            catch (Exception e)
            {
                return(BadRequest(e.Message));
            }
        }
Exemplo n.º 13
0
        public static ReadDataServiceRequest BuildShortReadDataRequest(uint tagInstance, ushort number, ushort size, out int requestSize)
        {
            byte[] newIOI = IOI.BuildIOI(tagInstance);

            int pathLen = newIOI.Length;
            ReadDataServiceRequest request = new ReadDataServiceRequest();
            request.Service = 0x4E;// (byte)ControlNetService.CIP_ReadData;
            request.PathSize = 0x03;
            byte[] path = new byte[] { 0x20, 0xB2, 0x25, 0x00, 0x21, 0x00 };
            request.Path = path;
            request.Elements = number;

            byte[] addData = new byte[10 + newIOI.Length];
            addData[0] = 0x02; addData[1] = 0x00; addData[2] = 0x01; addData[3] = 0x01; addData[4] = 0x01;
            addData[5] = (byte)(size & 0xFF); addData[6] = (byte)((size & 0xFF00) >> 8);
            addData[7] = 0x03; addData[8] = 0x20; addData[9] = 0x6B;
            Buffer.BlockCopy(newIOI, 0, addData, 10, newIOI.Length);
            request.AddtlData = addData;

            requestSize = request.Size;

            return request;
        }
Exemplo n.º 14
0
 public virtual void onMessage(IOI message, QuickFix.SessionID session)
 {
     throw new QuickFix.UnsupportedMessageType();
 }
Exemplo n.º 15
0
 public void Delete(IOI item)
 {
     context.IOI.Remove(item);
 }
Exemplo n.º 16
0
 public void Add(IOI item)
 {
     context.IOI.Add(item);
 }