/// <summary>
 /// Evento que se ejecuta cuando se da click en el boton Editar Producto
 /// </summary>
 private void BotonEditar_Click(object sender, RoutedEventArgs e)
 {
     try
     {
         var organizacionID = 0;
         if (string.IsNullOrEmpty(skAyudaOrganizacion.Clave) || skAyudaOrganizacion.Clave.Trim() == "0")
         {
             SkMessageBox.Show(this, Properties.Resources.TratamientoEdicionProducto_SeleccionarOrganizacion, MessageBoxButton.OK, MessageImage.Warning);
             idTratamiento.Focus();
             cboTipoOrganizacion.Focus();
             return;
         }
         else
         {
             organizacionID = Convert.ToInt32(skAyudaOrganizacion.Clave);
         }
         var btn = (Button)e.Source;
         var tratamientoProductoEditar         = (TratamientoProductoInfo)btn.CommandParameter;
         var tratamientoProductoOriginal       = tratamientoProductoEditar.Clone();
         var tratamientoCentrosEdicionProducto =
             new TratamientoCentrosEdicionProducto(tratamientoProductoEditar, organizacionID)
         {
             ucTitulo = { TextoTitulo = Properties.Resources.TratamientoEdicionProducto_Edicion }
         };
         MostrarCentrado(tratamientoCentrosEdicionProducto);
         if (tratamientoCentrosEdicionProducto.ConfirmaSalir)
         {
             var tratamientoModificado =
                 TratamientoInfo.ListaTratamientoProducto.FirstOrDefault(
                     pro => pro.TratamientoProductoID == tratamientoProductoOriginal.TratamientoProductoID);
             if (tratamientoModificado == null)
             {
                 return;
             }
             tratamientoModificado.Dosis        = tratamientoProductoOriginal.Dosis;
             tratamientoModificado.Activo       = tratamientoProductoOriginal.Activo;
             tratamientoModificado.Factor       = tratamientoProductoEditar.Factor;
             tratamientoModificado.FactorMacho  = tratamientoProductoOriginal.FactorMacho;
             tratamientoModificado.FactorHembra = tratamientoProductoOriginal.FactorHembra;
             gridDatosProducto.ItemsSource      = null;
             gridDatosProducto.ItemsSource      = resultadoInfo.Lista;
         }
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         SkMessageBox.Show(this, Properties.Resources.TratamiendoEdicion_ErrorEditar, MessageBoxButton.OK, MessageImage.Error);
     }
 }
        /// <summary>
        /// Evento que se ejecuta cuando se da click en el boton Nuevo Producto
        /// </summary>
        private void BotonNuevoProducto_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                var organizacionID = 0;
                if (string.IsNullOrEmpty(skAyudaOrganizacion.Clave) || skAyudaOrganizacion.Clave.Trim() == "0")
                {
                    SkMessageBox.Show(this, Properties.Resources.TratamientoEdicionProducto_SeleccionarOrganizacion, MessageBoxButton.OK, MessageImage.Warning);
                    idTratamiento.Focus();
                    cboTipoOrganizacion.Focus();
                    return;
                }
                else
                {
                    organizacionID = Convert.ToInt32(skAyudaOrganizacion.Clave);
                }

                var producto = new TratamientoProductoInfo
                {
                    Producto = new ProductoInfo
                    {
                        SubFamilia = new SubFamiliaInfo(),
                        Familia    = new FamiliaInfo()
                    },
                    Tratamiento     = new TratamientoInfo(),
                    HabilitaEdicion = true
                };
                var tratamientoCentrosEdicionProducto =
                    new TratamientoCentrosEdicionProducto(producto, organizacionID)
                {
                    ucTitulo = { TextoTitulo = Properties.Resources.TratamientoEdicionProducto_Nuevo }
                };
                MostrarCentrado(tratamientoCentrosEdicionProducto);
                if (tratamientoCentrosEdicionProducto.ConfirmaSalir)
                {
                    return;
                }
                if (producto.Producto.ProductoId != 0 && producto.Dosis != 0)
                {
                    producto.Tratamiento.TratamientoID = TratamientoInfo.TratamientoID;
                    var productoRepetido =
                        TratamientoInfo.ListaTratamientoProducto.FirstOrDefault(
                            pro => pro.Producto.ProductoId == producto.Producto.ProductoId);
                    if (productoRepetido != null)
                    {
                        SkMessageBox.Show(this, Properties.Resources.TratamientoEdicion_ProductoRepetido, MessageBoxButton.OK, MessageImage.Warning);
                        return;
                    }
                    int ordenMaximo = 0;
                    if (TratamientoInfo.ListaTratamientoProducto.Any())
                    {
                        ordenMaximo = TratamientoInfo.ListaTratamientoProducto.Max(prod => prod.Orden);
                    }
                    producto.Orden = ordenMaximo + 1;
                    TratamientoInfo.ListaTratamientoProducto.Add(producto);
                    resultadoInfo.Lista.Add(producto);

                    gridDatosProducto.ItemsSource       = null;
                    gridDatosProducto.ItemsSource       = resultadoInfo.Lista;
                    resultadoInfo.TotalRegistros        = TratamientoInfo.ListaTratamientoProducto.Count;
                    ucPaginacionProducto.TotalRegistros = resultadoInfo.TotalRegistros;
                }
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                SkMessageBox.Show(this, Properties.Resources.TratamientoEdicionProducto_ErrorNuevo, MessageBoxButton.OK, MessageImage.Error);
            }
        }