public LpMaterial ObtenerPorId(int idLpMaterial) { LpMaterial lista; try { daLpMaterial = new daLpMaterial(); lista = daLpMaterial.ObtenerPorId(idLpMaterial); daLpMaterialItem = new daLpMaterialItem(); daLpMaterialItem.AsignarSesion(daLpMaterial); List<object[]> filtros = new List<object[]>(); filtros.Add(new object[] { "idLpMaterial", idLpMaterial }); lista.items = daLpMaterialItem.ObtenerLista(filtros); daLpMaterialUnidad = new daLpMaterialUnidad(); daLpMaterialUnidad.AsignarSesion(daLpMaterial); daLpMaterialEscala = new daLpMaterialEscala(); daLpMaterialEscala.AsignarSesion(daLpMaterial); foreach (LpMaterialItem item in lista.items) { filtros = new List<object[]>(); filtros.Add(new object[] { "idLpMaterialItem", item.idLpMaterialItem }); item.unidades = daLpMaterialUnidad.ObtenerLista(filtros); foreach (LpMaterialUnidad unidad in item.unidades) { filtros = new List<object[]>(); filtros.Add(new object[] { "idLpMaterialUnidad", unidad.idLpMaterialUnidad }); unidad.escalas = daLpMaterialEscala.ObtenerLista(filtros); } } } catch (Exception) { throw; } finally { daLpMaterial.CerrarSesion(); } return lista; }
public bool Eliminar(int idLpMaterial) { try { daLpMaterial = new daLpMaterial(); daLpMaterial.IniciarTransaccion(); daLpMaterial.EliminarPorId(idLpMaterial, constantes.esquemas.Ventas); daLpMaterialItem = new daLpMaterialItem(); daLpMaterialItem.AsignarSesion(daLpMaterial); List<object[]> filtros = new List<object[]>(); filtros.Add(new object[] { "idLpMaterial", idLpMaterial }); List<LpMaterialItem> items = daLpMaterialItem.ObtenerLista(filtros); daLpMaterialItem.EliminarPorIdLpMaterial(idLpMaterial); daLpMaterialUnidad = new daLpMaterialUnidad(); daLpMaterialUnidad.AsignarSesion(daLpMaterial); daLpMaterialEscala = new daLpMaterialEscala(); daLpMaterialEscala.AsignarSesion(daLpMaterial); foreach (LpMaterialItem item in items) { filtros = new List<object[]>(); filtros.Add(new object[] { "idLpMaterialItem", item.idLpMaterialItem }); List<LpMaterialUnidad> unidades = daLpMaterialUnidad.ObtenerLista(filtros); daLpMaterialUnidad.EliminarPorIdLpMaterialItem(item.idLpMaterialItem); foreach (LpMaterialUnidad unidad in unidades) { daLpMaterialEscala.EliminarPorIdLpMaterialUnidad(unidad.idLpMaterialUnidad); } } daLpMaterial.ConfirmarTransaccion(); } catch (Exception) { daLpMaterial.AbortarTransaccion(); throw; } finally { daLpMaterial.CerrarSesion(); } return true; }