public override object ExecuteCommand(InCourseRequest inCourseRequest) { OrdenOperacionEntity request = new OrdenOperacionEntity() { IdOrden = IdOrden, Cantidad = Cantidad, Precio = Precio, NroOperacionMercado = NroOperacionMercado }; // Cambio de Estado if (Orden == null) { Orden = OrdenesDAL.ObtenerOrdenbyID(IdOrden); } Orden.IdEstado = (Cantidad == Orden?.Cantidad && Remanente == 0) ? (byte)EstadoOrden.Aplicada : (Remanente > 0 && Remanente == Cantidad) ? (byte)EstadoOrden.Aplicada : (byte)EstadoOrden.AplicadaParcial; using (ReadCommittedTransactionScope scope = new ReadCommittedTransactionScope(TransactionScopeOption.Required)) { // Insertar OrdenOperacion OrdenesDAL.InsertarOrdenOperacion(request, Orden.IdEstado, Orden.NumeroOrdenMercado); Orden.IdMercado = CachingManager.Instance.GetAllMercados().FirstOrDefault(x => x.EsInterno).IdMercado; OrdenesDAL.ActualizarOrden(Orden); scope.Complete(); } LoggingHelper.Instance.AgregarLog(new LogBitacoraOrdenEntity(request.IdOrden, LogCodigoAccion.CierreMercadoInterno, "Cierre de Mercado Interno #:" + request.NroOperacionMercado, (EstadoOrden)Orden.IdEstado, null, SourceEnum.Mobile)); return(null); }
public static void InsertarOrdenOperacion(OrdenOperacionEntity ordenOperacion, byte?idEstado, string numeroOrdenMercado) { List <SqlParameter> lista = new List <SqlParameter>(); lista.Add(SqlServerHelper.GetParam("@IdOrden", ordenOperacion.IdOrden)); lista.Add(SqlServerHelper.GetParam("@NroOperacionMercado", ordenOperacion.NroOperacionMercado)); lista.Add(SqlServerHelper.GetParam("@NroOperacionBoleto", ordenOperacion.NroOperacionBoleto)); lista.Add(SqlServerHelper.GetParam("@Precio", ordenOperacion.Precio)); lista.Add(SqlServerHelper.GetParam("@Cantidad", ordenOperacion.Cantidad)); lista.Add(SqlServerHelper.GetParam("@OperoPorTasa", ordenOperacion.OperoPorTasa)); if (ordenOperacion.PrecioVinculado.HasValue) { lista.Add(SqlServerHelper.GetParam("@PrecioVinculado", ordenOperacion.PrecioVinculado)); } if (idEstado.HasValue) { lista.Add(SqlServerHelper.GetParam("@IdEstado", idEstado)); } if (!string.IsNullOrEmpty(numeroOrdenMercado)) { lista.Add(SqlServerHelper.GetParam("@NumeroOrdenMercado", numeroOrdenMercado)); } SqlServerHelper.ExecuteNonQuery("orden_owner.ORD_InsertarOrdenOperacion", lista); }