public OrdenTrabajo ObtenerPorId(int idOrdenTrabajo) { OrdenTrabajo orden; try { daOrdenTrabajo = new daOrdenTrabajo(); orden = daOrdenTrabajo.ObtenerPorId(idOrdenTrabajo); daOrdenTrabajoGrupo = new daOrdenTrabajoGrupo(); daOrdenTrabajoGrupo.AsignarSesion(daOrdenTrabajo); List<object[]> filtros = new List<object[]>(); filtros.Add(new object[] { "idOrdenTrabajo", idOrdenTrabajo }); orden.grupos = daOrdenTrabajoGrupo.ObtenerLista(filtros); daOrdenTrabajoItem = new daOrdenTrabajoItem(); daOrdenTrabajoItem.AsignarSesion(daOrdenTrabajo); daOrdenTrabajoServicio = new daOrdenTrabajoServicio(); daOrdenTrabajoServicio.AsignarSesion(daOrdenTrabajo); foreach (OrdenTrabajoGrupo grupo in orden.grupos) { filtros = new List<object[]>(); filtros.Add(new object[] { "idOrdenTrabajoGrupo", grupo.idOrdenTrabajoGrupo }); grupo.items = daOrdenTrabajoItem.ObtenerLista(filtros); foreach (OrdenTrabajoItem item in grupo.items) { filtros = new List<object[]>(); filtros.Add(new object[] { "idOrdenTrabajoItem", item.idOrdenTrabajoItem }); item.servicios = daOrdenTrabajoServicio.ObtenerLista(filtros); } } } catch (Exception) { throw; } finally { daOrdenTrabajo.CerrarSesion(); } return orden; }
public bool Eliminar(int idOrdenTrabajo) { try { daOrdenTrabajo = new daOrdenTrabajo(); daOrdenTrabajo.IniciarTransaccion(); daOrdenTrabajo.EliminarPorId(idOrdenTrabajo, constantes.esquemas.Produccion); daOrdenTrabajoGrupo = new daOrdenTrabajoGrupo(); daOrdenTrabajoGrupo.AsignarSesion(daOrdenTrabajo); List<object[]> filtros = new List<object[]>(); filtros.Add(new object[] { "idOrdenTrabajo", idOrdenTrabajo }); List<OrdenTrabajoGrupo> grupos = daOrdenTrabajoGrupo.ObtenerLista(filtros); daOrdenTrabajoGrupo.EliminarPorIdOrdenTrabajo(idOrdenTrabajo); daOrdenTrabajoItem = new daOrdenTrabajoItem(); daOrdenTrabajoItem.AsignarSesion(daOrdenTrabajo); foreach (OrdenTrabajoGrupo grupo in grupos) { filtros = new List<object[]>(); filtros.Add(new object[] { "idOrdenTrabajoGrupo", grupo.idOrdenTrabajoGrupo }); List<OrdenTrabajoItem> items = daOrdenTrabajoItem.ObtenerLista(filtros); daOrdenTrabajoItem.EliminarPorIdOrdenTrabajoGrupo(grupo.idOrdenTrabajoGrupo); foreach (OrdenTrabajoItem item in items) { daOrdenTrabajoServicio.EliminarPorIdOrdenTrabajoItem(item.idOrdenTrabajoItem); } } daOrdenTrabajo.ConfirmarTransaccion(); } catch (Exception) { daOrdenTrabajo.AbortarTransaccion(); throw; } finally { daOrdenTrabajo.CerrarSesion(); } return true; }