/// <summary>
 /// Metodo para Guardar/Modificar una entidad ProduccionDiariaDetalle
 /// </summary>
 /// <param name="info"></param>
 public int Guardar(ProduccionDiariaDetalleInfo info)
 {
     try
     {
         Logger.Info();
         var produccionDiariaDetalleDAL = new ProduccionDiariaDetalleDAL();
         int result = info.ProduccionDiariaDetalleID;
         if (info.ProduccionDiariaDetalleID == 0)
         {
             result = produccionDiariaDetalleDAL.Crear(info);
         }
         else
         {
             produccionDiariaDetalleDAL.Actualizar(info);
         }
         return(result);
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
        private void GuardarProduccionDiariaDetalle(ProduccionDiariaInfo info, int produccionDiariaID)
        {
            var produccionDiariaDetalleDAL = new ProduccionDiariaDetalleDAL();

            produccionDiariaDetalleDAL.GuardarProduccionDiariaDetalle(info, produccionDiariaID);

            //var almacenInventarioLoteDAL = new AlmacenInventarioLoteDAL();
            //almacenInventarioLoteDAL.DescontarAlmacenInventarioLoteProduccionDiaria(info);

            //var almacenInventarioDal = new AlmacenInventarioDAL();
            //almacenInventarioDal.DescontarAlmacenInventarioProduccionDiaria(info);

            //var pesajeMateriaPrimaBl = new PesajeMateriaPrimaBL();
            //var programacionMateriaPrimaBl = new ProgramacionMateriaPrimaBL();
            //var almacenMovimientoBl = new AlmacenMovimientoBL();
            //var almacenMovimientoDetalleBl = new AlmacenMovimientoDetalleBL();
            //var almacenInventarioLoteBl = new AlmacenInventarioLoteBL();
            //foreach (var produccionDiariaDetalleInfo in info.ListaProduccionDiariaDetalle)
            //{
            //    var pesajeMateriaPrima = pesajeMateriaPrimaBl.ObtenerPorID(produccionDiariaDetalleInfo.PesajeMateriaPrimaID);
            //    if (pesajeMateriaPrima != null)
            //    {
            //        var programacion = programacionMateriaPrimaBl.ObtenerPorPesajeMateriaPrima(pesajeMateriaPrima);
            //        var almacenMovimiento = new AlmacenMovimientoInfo();
            //        almacenMovimiento.AlmacenID = programacion.Almacen.AlmacenID;
            //        almacenMovimiento.Almacen = programacion.Almacen;
            //        almacenMovimiento.Status = (int) Estatus.AplicadoInv;
            //        almacenMovimiento.TipoMovimientoID = (int) TipoMovimiento.SalidaProduccion;
            //        almacenMovimiento.UsuarioCreacionID = produccionDiariaDetalleInfo.UsuarioCreacionID;

            //        almacenMovimiento.AlmacenMovimientoID = almacenMovimientoBl.Crear(almacenMovimiento);

            //        var almacenMovimientoDetalleInfo = new AlmacenMovimientoDetalle();
            //        almacenMovimientoDetalleInfo.AlmacenMovimientoID = almacenMovimiento.AlmacenMovimientoID;
            //        almacenMovimientoDetalleInfo.AlmacenInventarioLoteId =
            //            programacion.InventarioLoteOrigen.AlmacenInventarioLoteId;
            //        almacenMovimientoDetalleInfo.Piezas = 0;
            //        almacenMovimientoDetalleInfo.ProductoID = produccionDiariaDetalleInfo.ProductoID;
            //        almacenMovimientoDetalleInfo.UsuarioCreacionID = produccionDiariaDetalleInfo.UsuarioCreacionID;

            //        var almacenInventarioLoteInfo =
            //            almacenInventarioLoteBl.ObtenerAlmacenInventarioLotePorId(
            //                programacion.InventarioLoteOrigen.AlmacenInventarioLoteId);
            //        almacenMovimientoDetalleInfo.Cantidad = produccionDiariaDetalleInfo.KilosNeto;
            //        almacenMovimientoDetalleInfo.Precio = almacenInventarioLoteInfo.PrecioPromedio;
            //        almacenMovimientoDetalleInfo.Importe = produccionDiariaDetalleInfo.KilosNeto * almacenInventarioLoteInfo.PrecioPromedio;

            //        almacenMovimientoDetalleBl.Crear(almacenMovimientoDetalleInfo);
            //    }
            //}
        }
 /// <summary>
 /// Obtiene un lista de ProduccionDiariaDetalle
 /// </summary>
 /// <returns></returns>
 public IList <ProduccionDiariaDetalleInfo> ObtenerTodos()
 {
     try
     {
         Logger.Info();
         var produccionDiariaDetalleDAL             = new ProduccionDiariaDetalleDAL();
         IList <ProduccionDiariaDetalleInfo> result = produccionDiariaDetalleDAL.ObtenerTodos();
         return(result);
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
 /// <summary>
 /// Obtiene un lista paginada
 /// </summary>
 /// <param name="pagina"></param>
 /// <param name="filtro"></param>
 /// <returns></returns>
 public ResultadoInfo <ProduccionDiariaDetalleInfo> ObtenerPorPagina(PaginacionInfo pagina, ProduccionDiariaDetalleInfo filtro)
 {
     try
     {
         Logger.Info();
         var produccionDiariaDetalleDAL = new ProduccionDiariaDetalleDAL();
         ResultadoInfo <ProduccionDiariaDetalleInfo> result = produccionDiariaDetalleDAL.ObtenerPorPagina(pagina, filtro);
         return(result);
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
 /// <summary>
 /// Obtiene una entidad ProduccionDiariaDetalle por su descripción
 /// </summary>
 /// <param name="descripcion"></param>
 /// <returns></returns>
 public ProduccionDiariaDetalleInfo ObtenerPorDescripcion(string descripcion)
 {
     try
     {
         Logger.Info();
         var produccionDiariaDetalleDAL     = new ProduccionDiariaDetalleDAL();
         ProduccionDiariaDetalleInfo result = produccionDiariaDetalleDAL.ObtenerPorDescripcion(descripcion);
         return(result);
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }