public bool Agregar(OrdenProduccion orden)
 {
     try
     {
         daOrdenProduccion = new daOrdenProduccion();
         daOrdenProduccion.IniciarTransaccion();
         daOrdenProduccion.Agregar(orden);
         daItemOrdenProduccion = new daOrdenProduccionItem();
         daItemOrdenProduccion.AsignarSesion(daOrdenProduccion);
         foreach (OrdenProduccionItem  item in orden.items)
         {
             item.idOrdenProduccion = orden.idOrdenProduccion;
             daItemOrdenProduccion.Agregar(item);
         }
         daOrdenProduccion.ConfirmarTransaccion();
     }
     catch (Exception)
     {
         daOrdenProduccion.AbortarTransaccion();
         throw;
     }
     finally
     {
         daOrdenProduccion.CerrarSesion();
     }
     return true;
 }
 public bool Actualizar(OrdenProduccion orden)
 {
     try
     {
         daOrdenProduccion = new daOrdenProduccion();
         daOrdenProduccion.IniciarTransaccion();
         OrdenProduccion orden_ = daOrdenProduccion.ObtenerPorId(orden.idOrdenProduccion);
         orden_.cliente = orden.cliente;
         orden_.responsable = orden.responsable;
         daItemOrdenProduccion = new daOrdenProduccionItem();
         daItemOrdenProduccion.AsignarSesion(daOrdenProduccion);
         foreach (OrdenProduccionItem item in orden.items)
         {
             if (item.idOrdenProduccionItem == 0)
             {
                 item.idOrdenProduccion = orden.idOrdenProduccion;
                 daItemOrdenProduccion.Agregar(item);
             }
         }
         foreach (int idItem in orden.idsItems)
         {
             daItemOrdenProduccion.EliminarPorId(idItem, constantes.esquemas.Administracion);
         }
         daOrdenProduccion.ConfirmarTransaccion();
     }
     catch (Exception)
     {
         daOrdenProduccion.AbortarTransaccion();
         throw;
     }
     finally
     {
         daOrdenProduccion.CerrarSesion();
     }
     return true;
 }
 public bool Eliminar(int idOrdenProduccion)
 {
     try
     {
         daOrdenProduccion = new daOrdenProduccion();
         daOrdenProduccion.IniciarTransaccion();
         daOrdenProduccion.EliminarPorId(idOrdenProduccion, constantes.esquemas.Produccion);
         daItemOrdenProduccion = new daOrdenProduccionItem();
         daItemOrdenProduccion.AsignarSesion(daOrdenProduccion);
         daItemOrdenProduccion.EliminarPorIdOrdenProduccion(idOrdenProduccion);
         daOrdenProduccion.ConfirmarTransaccion();
     }
     catch (Exception)
     {
         daOrdenProduccion.AbortarTransaccion();
         throw;
     }
     finally
     {
         daOrdenProduccion.CerrarSesion();
     }
     return true;
 }