public bool Actualizar(LpMaquina lista) { try { daLpMaquina = new daLpMaquina(); daLpMaquina.IniciarTransaccion(); LpMaquina lista_ = daLpMaquina.ObtenerPorId(lista.idLpMaquina); lista_.descripcion = lista.descripcion; lista_.activo = lista.activo; daLpMaquinaItem = new daLpMaquinaItem(); daLpMaquinaItem.AsignarSesion(daLpMaquina); daLpMaquinaEscala = new daLpMaquinaEscala(); daLpMaquinaEscala.AsignarSesion(daLpMaquina); foreach (LpMaquinaItem item in lista.items) { if (item.idLpMaquinaItem == 0) { item.idLpMaquina = lista.idLpMaquina; daLpMaquinaItem.Agregar(item); foreach (LpMaquinaEscala escala in item.escalas) { escala.idLpMaquinaItem = item.idLpMaquinaItem; daLpMaquinaEscala.Agregar(escala); } } else { LpMaquinaItem item_ = daLpMaquinaItem.ObtenerPorId(item.idLpMaquinaItem); item_.maquina = item.maquina; item_.factor = item.factor; foreach (LpMaquinaEscala escala in item.escalas) { if (escala.idLpMaquinaEscala == 0) { daLpMaquinaEscala.Agregar(escala); } else { LpMaquinaEscala escala_ = daLpMaquinaEscala.ObtenerPorId(escala.idLpMaquinaEscala); escala_.desde = escala.desde; escala_.hasta = escala.hasta; escala_.precio = escala.precio; } } foreach (int idEscala in item.idsEscalas) { daLpMaquinaEscala.EliminarPorId(idEscala, constantes.esquemas.Ventas); } } } foreach (int idItem in lista.idsItems) { daLpMaquinaItem.EliminarPorId(idItem, constantes.esquemas.Ventas); daLpMaquinaEscala.EliminarPorIdLpMaquinaItem(idItem); } daLpMaquina.ConfirmarTransaccion(); } catch (Exception) { daLpMaquina.AbortarTransaccion(); throw; } finally { daLpMaquina.CerrarSesion(); } return true; }
public bool Agregar(LpMaquina lista) { try { daLpMaquina = new daLpMaquina(); daLpMaquina.IniciarTransaccion(); daLpMaquina.Agregar(lista); daLpMaquinaItem = new daLpMaquinaItem(); daLpMaquinaItem.AsignarSesion(daLpMaquina); daLpMaquinaEscala = new daLpMaquinaEscala(); daLpMaquinaEscala.AsignarSesion(daLpMaquina); foreach (LpMaquinaItem item in lista.items) { item.idLpMaquina = lista.idLpMaquina; daLpMaquinaItem.Agregar(item); foreach (LpMaquinaEscala escala in item.escalas) { escala.idLpMaquinaItem = item.idLpMaquinaItem; daLpMaquinaEscala.Agregar(escala); } } daLpMaquina.ConfirmarTransaccion(); } catch (Exception) { daLpMaquina.AbortarTransaccion(); throw; } finally { daLpMaquina.CerrarSesion(); } return true; }