Ejemplo n.º 1
0
        private string DistribuirPorEstado(Order order)
        {
            OrdenEntity orden = null;

            if (Source == SourceEnum.Api)
            {
                orden = OrdenHelper.DesbloquearOrden(order.IdOrden, Source);
            }
            if (Source == SourceEnum.ComplementoDMA)
            {
                orden = OrdenHelper.ObtenerOrdenbyNumeroOrdenInterno(order.IdOrden);
                order.NumeroOrdenMercado = orden.NumeroOrdenMercado;
                order.NumeroOrdenInterno = orden.NumeroOrdenInterno;
            }
            else
            {
                orden = OrdenHelper.ObtenerOrdenbyID(order.IdOrden);
            }
            switch (orden.IdEstado)
            {
            case (int)EstadoOrden.Ingresada:
                return(CancelarOrden(orden, GetUltimaActualizacion(order.Timestamp)));

            case (int)EstadoOrden.EnMercado:
            case (int)EstadoOrden.Aplicada:
                //case (int)EstadoOrden.AplicadaParcial:
                return(CancelarOrdenMercado(orden, GetUltimaActualizacion(order.Timestamp)));

            default:
                throw new M4TraderApplicationException("Estado no Valido para la orden Nro: " + orden.NumeroOrdenInterno);
            }
        }
Ejemplo n.º 2
0
        private string ConfimarOrden(Order order)
        {
            OrdenEntity orden = OrdenHelper.DesbloquearOrden(order.IdOrden, Source);

            orden.IdEstado = (int)EstadoOrden.Confirmada;
            return(OrdenHelper.ConfirmarOrden(orden, Source, GetUltimaActualizacion(order.Timestamp)));
        }
        private string ConfimarOrden(OrdenEntity orden)
        {
            OrdenHelper.DesbloquearOrden(orden.IdOrden, Source);
            orden.IdEstado = (int)EstadoOrden.Confirmada;
            ordenes.Add(orden);

            return(OrdenHelper.ConfirmarOrden(orden, Source, orden.Timestamp));
        }
Ejemplo n.º 4
0
        public override ExecutionResult ExecuteCommand(InCourseRequest inCourseRequest)
        {
            Response resultado = new Response();

            ordenes = new List <OrdenEntity>();
            OrdenEntity orden = OrdenHelper.DesbloquearOrden(IdOrden, Source);

            ordenes.Add(orden);
            resultado = ProcesamientoGenerica(DistribuirPorEstado, ordenes);
            LoggingHelper.Instance.AgregarLog(new LogCommandApiEntity("SICancelaOrdenCommand", "CMD-API", inCourseRequest.Id, resultado));
            return(ExecutionResult.ReturnInmediatelyAndQueueOthers(resultado));
        }