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 object Execute(Query query) { CustomQueryReturn cqr = new CustomQueryReturn(); OperationStatusDto operationStatusDto = new OperationStatusDto(); if (query.Filters.Find(x => x.Key == "ordenNumber").Value != null) { string ordenNumber = query.Filters.Find(x => x.Key == "ordenNumber").Value.ToString(); operationStatusDto = OrdenesDAL.ObtenerEtadoOperacion(ordenNumber); } cqr.Data = new object[1]; cqr.Data[0] = operationStatusDto; cqr.TotalRows = 1; return(cqr); }
public override void Validate() { Orden = OrdenesDAL.ObtenerOrdenbyID(IdOrden); if (Remanente > 0 && Cantidad > Remanente) { keyArray = new KeyArray(); keyArray.Codigo = CodigosMensajes.ERR_CANTIDAEXCEDEORDEN; keyArray.Parametros.Add(NombreEntidad); fe.DataValidations.Add(keyArray); valida = false; keyArray = new KeyArray(); } if (Orden.IdEstado != (int)EstadoOrden.AplicadaParcial && Orden.IdEstado != (int)EstadoOrden.Ingresada) { keyArray = new KeyArray(); keyArray.Codigo = CodigosMensajes.FE_ESTADO_ORDEN_NO_VALIDO; keyArray.Parametros.Add(NombreEntidad); fe.DataValidations.Add(keyArray); valida = false; keyArray = new KeyArray(); } var coleccion = (from m in context.Mercado where m.EsInterno select m); if (!coleccion.Any()) { keyArray = new KeyArray(); keyArray.Codigo = CodigosMensajes.FE_NO_EXISTE_MERCADO_INTERNO; keyArray.Parametros.Add(NombreEntidad); fe.DataValidations.Add(keyArray); valida = false; keyArray = new KeyArray(); } if (!valida) { throw fe; } }