/// <summary>
        /// Evento para importar archivo de excel a la base de datos
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void btnImportar_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                if (!ValidarDatosObligatorios())
                {
                    return;
                }

                var configuracionFormulaPL = new ConfiguracionFormulaPL();

                var configuracionImportar = new ConfiguracionFormulaInfo
                {
                    NombreArchivo     = ConfiguracionFormula.NombreArchivo,
                    OrganizacionID    = Extensor.ValorEntero(skAyudaOrganizacion.Clave),
                    UsuarioCreacionID = usuarioLogueadoID,
                    Activo            = EstatusEnum.Inactivo
                };

                bool configuracionFormulaInfo =
                    configuracionFormulaPL.ImportarArchivo(configuracionImportar);

                if (!configuracionFormulaInfo)
                {
                    return;
                }
                //Guardado correctamente
                SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                  Properties.Resources.ConfigurarFormula_CargaCorrectamente,
                                  MessageBoxButton.OK, MessageImage.Correct);
                LimpiarControles();
            }
            catch (ExcepcionDesconocida ex)
            {
                Logger.Error(ex);
                //Favor de seleccionar una organizacion
                SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                  (ex.InnerException == null ? ex.Message : ex.InnerException.Message),
                                  MessageBoxButton.OK,
                                  MessageImage.Stop);
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                //Favor de seleccionar una organizacion
                SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                  Properties.Resources.ConfigurarFormula_ImportarError,
                                  MessageBoxButton.OK,
                                  MessageImage.Stop);
            }
        }
        public static List <ConfiguracionFormulaInfo> ConsultarConfiguracionFormula(int LoteID)
        {
            List <ConfiguracionFormulaInfo> resultado = null;
            LoteInfo          lote       = null;
            TipoGanadoInfo    tipoGanado = null;
            List <AnimalInfo> animales   = null;
            CorralInfo        corral     = null;

            LotePL   lotePL   = new LotePL();
            AnimalPL animalPL = new AnimalPL();
            ConfiguracionFormulaPL configuracionFormulaPL = new ConfiguracionFormulaPL();

            try
            {
                lote = lotePL.ObtenerPorId(LoteID);
                if (lote != null)
                {
                    animales = animalPL.ObtenerAnimalesPorLoteID(lote);

                    if (animales != null)
                    {
                        tipoGanado = lotePL.ObtenerSoloTipoGanadoCorral(animales, lote);

                        if (tipoGanado != null)
                        {
                            resultado = configuracionFormulaPL.ObtenerFormulaPorTipoGanado(tipoGanado, lote.OrganizacionID);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                resultado = null;
            }

            return(resultado);
        }
        /// <summary>
        /// Evento para exportar la configuracion de las formulas a excel
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void btnExportar_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                if (!String.IsNullOrEmpty(skAyudaOrganizacion.Clave))
                {
                    var dlg = new Microsoft.Win32.SaveFileDialog
                    {
                        FileName   = "ConfiguracionFormulas",
                        DefaultExt = ".xlsx",
                        Filter     = "Excel files (.xlsx)|*.xlsx"
                    };

                    // Show save file dialog box
                    var result = dlg.ShowDialog();

                    // Process save file dialog box results
                    if (result != true)
                    {
                        return;
                    }

                    // Save document
                    string nombreArchivo          = dlg.FileName;
                    var    configuracionFormulaPL = new ConfiguracionFormulaPL();
                    var    configuracionImportar  = new ConfiguracionFormulaInfo
                    {
                        NombreArchivo  = nombreArchivo,
                        OrganizacionID = Extensor.ValorEntero(skAyudaOrganizacion.Clave)
                    };

                    bool configuracionFormulaInfo =
                        configuracionFormulaPL.ExportarArchivo(configuracionImportar);

                    if (!configuracionFormulaInfo)
                    {
                        return;
                    }

                    //Guardado correctamente
                    SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                      Properties.Resources.ConfigurarFormula_ExportoCorrectamente,
                                      MessageBoxButton.OK, MessageImage.Correct);
                    LimpiarControles();
                }
                else
                {
                    //Favor de seleccionar una organizacion
                    SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                      Properties.Resources.ConfigurarFormula_SeleccionarOrganizacion,
                                      MessageBoxButton.OK,
                                      MessageImage.Stop);
                }
            }
            catch (ExcepcionDesconocida ex)
            {
                Logger.Error(ex);
                //Favor de seleccionar una organizacion
                SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                  (ex.InnerException == null ? ex.Message : ex.InnerException.Message),
                                  MessageBoxButton.OK,
                                  MessageImage.Stop);
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                //Favor de seleccionar una organizacion
                SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                  Properties.Resources.ConfigurarFormula_ExportarError,
                                  MessageBoxButton.OK,
                                  MessageImage.Stop);
            }
        }