public LpServicio ObtenerPorId(int idLpServicio) { LpServicio lista; try { daLpServicio = new daLpServicio(); lista = daLpServicio.ObtenerPorId(idLpServicio); daLpServicioItem = new daLpServicioItem(); daLpServicioItem.AsignarSesion(daLpServicio); List<object[]> filtros = new List<object[]>(); filtros.Add(new object[] { "idLpServicio", idLpServicio }); lista.items = daLpServicioItem.ObtenerLista(filtros); daLpServicioUnidad = new daLpServicioUnidad(); daLpServicioUnidad.AsignarSesion(daLpServicio); daLpServicioEscala = new daLpServicioEscala(); daLpServicioEscala.AsignarSesion(daLpServicio); foreach (LpServicioItem item in lista.items) { filtros = new List<object[]>(); filtros.Add(new object[] { "idLpServicioItem", item.idLpServicioItem }); item.unidades = daLpServicioUnidad.ObtenerLista(filtros); foreach (LpServicioUnidad unidad in item.unidades) { filtros = new List<object[]>(); filtros.Add(new object[] { "idLpServicioUnidad", unidad.idLpServicioUnidad }); unidad.escalas = daLpServicioEscala.ObtenerLista(filtros); } } } catch (Exception) { throw; } finally { daLpServicio.CerrarSesion(); } return lista; }
public bool Eliminar(int idLpServicio) { try { daLpServicio = new daLpServicio(); daLpServicio.IniciarTransaccion(); daLpServicio.EliminarPorId(idLpServicio, constantes.esquemas.Ventas); daLpServicioItem = new daLpServicioItem(); daLpServicioItem.AsignarSesion(daLpServicio); List<object[]> filtros = new List<object[]>(); filtros.Add(new object[] { "idLpServicio", idLpServicio }); List<LpServicioItem> items = daLpServicioItem.ObtenerLista(filtros); daLpServicioItem.EliminarPorIdLpServicio(idLpServicio); daLpServicioUnidad = new daLpServicioUnidad(); daLpServicioUnidad.AsignarSesion(daLpServicio); daLpServicioEscala = new daLpServicioEscala(); daLpServicioEscala.AsignarSesion(daLpServicio); foreach (LpServicioItem item in items) { filtros = new List<object[]>(); filtros.Add(new object[] { "idLpServicioItem", item.idLpServicioItem }); List<LpServicioUnidad> unidades = daLpServicioUnidad.ObtenerLista(filtros); daLpServicioUnidad.EliminarPorIdLpServicioItem(item.idLpServicioItem); foreach (LpServicioUnidad unidad in unidades) { daLpServicioEscala.EliminarPorIdLpServicioUnidad(unidad.idLpServicioUnidad); } } daLpServicio.ConfirmarTransaccion(); } catch (Exception) { daLpServicio.AbortarTransaccion(); throw; } finally { daLpServicio.CerrarSesion(); } return true; }