public static void AbrirElDia(int idUsuario) { bool cerrarAntes = false; //TODO: se lo deshabilito temporalmente porque requiere tener habilitado el servicio MS MSDTC (Distributed Transaction Server) //using (ReadCommittedTransactionScope scope = new ReadCommittedTransactionScope(TransactionScopeOption.Required)) //{ EstadoSistemaEntity estadoSistema; using (OrdenesContext context = new OrdenesContext()) { int idEstadoSistema = context.EstadoSistema.Where(p1 => p1.IdEstadoSistema != 0).Max(r => r.IdEstadoSistema); estadoSistema = context.EstadoSistema.Where(p => p.IdEstadoSistema == idEstadoSistema).FirstOrDefault(); if (estadoSistema.EstadoAbierto) { cerrarAntes = true; } if (!cerrarAntes) { CleanOfertas_Precios(); CleanLimitesDiarios(); //context.OpenConnection(); EstadoSistemaEntity request = new EstadoSistemaEntity() { EjecucionValidacion = false, EstadoAbierto = true, FechaCierre = null, IdUsuarioCierre = null, FechaApertura = DateTime.Now, FechaSistema = DateTime.Now, BajaLogica = false, IdUsuarioApertura = idUsuario }; context.Add(request); context.SaveChanges(); estadoSistema = request; } else { OrdenHelper.ActualizarOrdenes(); } } if (!cerrarAntes) { OrdenHelper.InformarMercadoEstado((byte)TipoEstadoSistema.ULTIMO_ABIERTO, "AbrirSistemaCommand"); // scope.Complete(); //} } //TODO validar else if (estadoSistema.FechaSistema.Date != DateTime.Now.Date) { CerrarElDiaYAbrirlo(idUsuario); } }