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); } }
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)); }
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)); }