예제 #1
0
 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;
 }
예제 #2
0
 public LpMaquina ObtenerPorId(int idLpMaquina)
 {
     LpMaquina lista;
     try
     {
         daLpMaquina = new daLpMaquina();
         lista = daLpMaquina.ObtenerPorId(idLpMaquina);
         daLpMaquinaItem = new daLpMaquinaItem();
         daLpMaquinaItem.AsignarSesion(daLpMaquina);
         List<object[]> filtros = new List<object[]>();
         filtros.Add(new object[] { "idLpMaquina", idLpMaquina });
         lista.items = daLpMaquinaItem.ObtenerLista(filtros);
         daLpMaquinaEscala = new daLpMaquinaEscala();
         daLpMaquinaEscala.AsignarSesion(daLpMaquina);
         foreach (LpMaquinaItem item in lista.items)
         {
             filtros = new List<object[]>();
             filtros.Add(new object[] { "idLpMaquinaItem", item.idLpMaquinaItem });
             item.escalas = daLpMaquinaEscala.ObtenerLista(filtros);
         }
     }
     catch (Exception)
     {
         throw;
     }
     finally
     {
         daLpMaquina.CerrarSesion();
     }
     return lista;
 }