/// <summary>
        /// Método para cancelar
        /// </summary>
        private void Guardar()
        {
            bool guardar = ValidaGuardar();

            if (guardar)
            {
                try
                {
                    SolicitudProductoReplicaInfo solicitudGuardar = Contexto;
                    var organizacion = new OrganizacionPL().ObtenerPorID(solicitudGuardar.AlmacenDestino.Organizacion.OrganizacionID);
                    var tipoOrg      = organizacion.TipoOrganizacion.TipoOrganizacionID;

                    solicitudGuardar.UsuarioModificacionID = usuario.UsuarioID;
                    int activos   = solicitudGuardar.Detalle.Count(e => e.Activo == true);
                    int recibidos =
                        solicitudGuardar.Detalle.Count(
                            e => e.Activo == true);
                    if (tipoOrg == TipoOrganizacion.Centro.GetHashCode() || tipoOrg == TipoOrganizacion.Cadis.GetHashCode() || tipoOrg == TipoOrganizacion.Descanso.GetHashCode())
                    {
                        var misAretes = ObtenerTotalAretesGrid();
                        var result    = new SolicitudProductoBL().GuardarInformacionCentros(Contexto.FolioSolicitud.ToString(), AuxConfiguracion.ObtenerUsuarioLogueado(), solicitudGuardar.AlmacenDestino.Organizacion.OrganizacionID, misAretes);
                        if (result)
                        {
                            SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.RecibirProductoAlmacen_GuardadoConExito,
                                              MessageBoxButton.OK,
                                              MessageImage.Correct);
                            Limpiar();
                        }
                        else
                        {
                            SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.RecibirProductoAlmacen_ErrorGuardar,
                                              MessageBoxButton.OK,
                                              MessageImage.Error);
                        }
                    }
                    else
                    {
                        MemoryStream pdf = solicitudProductoBL.GuardarMovimientoInventario(solicitudGuardar);
                        if (pdf != null)
                        {
                            var exportarPoliza = new ExportarPoliza();
                            if (solicitudGuardar.AlmacenID.HasValue)
                            {
                                exportarPoliza.ImprimirPoliza(pdf, string.Format("{0} {1}", "Poliza", TipoPoliza.EntradaTraspasoSAP));
                            }
                            else
                            {
                                exportarPoliza.ImprimirPoliza(pdf,
                                                              string.Format("{0} {1}", "Poliza", TipoPoliza.SalidaConsumo));
                            }
                        }

                        string mensaje = Properties.Resources.RecibirProductoAlmacen_GuardadoConExito;
                        SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], mensaje,
                                          MessageBoxButton.OK,
                                          MessageImage.Correct);
                        Limpiar();
                    }
                }
                catch (ExcepcionServicio ex)
                {
                    Logger.Error(ex);
                    SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                      Properties.Resources.RecibirProductoAlmacen_ErrorGuardar, MessageBoxButton.OK,
                                      MessageImage.Stop);
                }
                catch (ExcepcionGenerica ex)
                {
                    Logger.Error(ex);
                    SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                      Properties.Resources.RecibirProductoAlmacen_ErrorGuardar, MessageBoxButton.OK,
                                      MessageImage.Error);
                }
                catch (Exception ex)
                {
                    Logger.Error(ex);
                    SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                      Properties.Resources.RecibirProductoAlmacen_ErrorGuardar, MessageBoxButton.OK,
                                      MessageImage.Error);
                }
            }
        }
        /// <summary>
        /// Método para cancelar
        /// </summary>
        private void Guardar()
        {
            bool guardar = ValidaGuardar();

            if (guardar)
            {
                try
                {
                    SolicitudProductoInfo solicitudGuardar = Contexto;
                    solicitudGuardar.UsuarioIDEntrega      = usuario.UsuarioID;
                    solicitudGuardar.FechaEntrega          = DateTime.Now;
                    solicitudGuardar.UsuarioModificacionID = usuario.UsuarioID;
                    //solicitudGuardar.AlmacenID = almacen.AlmacenID;
                    solicitudGuardar.TipoMovimientoInventario = TipoMovimiento.EntradaAlmacen;

                    int activos   = solicitudGuardar.Detalle.Count(e => e.Activo == EstatusEnum.Activo);
                    int recibidos =
                        solicitudGuardar.Detalle.Count(
                            e => e.EstatusID == Estatus.SolicitudProductoRecibido.GetHashCode());

                    if (activos == recibidos)
                    {
                        solicitudGuardar.EstatusID = Estatus.SolicitudProductoRecibido.GetHashCode();
                    }

                    solicitudGuardar.Detalle = solicitudGuardar.Detalle.Where(e => e.Recibido && e.Editar).ToList();
                    MemoryStream pdf = solicitudProductoBL.GuardarMovimientoInventario(solicitudGuardar);
                    if (pdf != null)
                    {
                        var exportarPoliza = new ExportarPoliza();
                        if (solicitudGuardar.AlmacenID.HasValue)
                        {
                            exportarPoliza.ImprimirPoliza(pdf, string.Format("{0} {1}", "Poliza", TipoPoliza.SalidaTraspaso));
                        }
                        else
                        {
                            exportarPoliza.ImprimirPoliza(pdf,
                                                          string.Format("{0} {1}", "Poliza", TipoPoliza.SalidaConsumo));
                        }
                    }
                    string mensaje = Properties.Resources.RecibirProductoAlmacen_GuardadoConExito;
                    SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], mensaje,
                                      MessageBoxButton.OK,
                                      MessageImage.Correct);
                    Limpiar();
                }
                catch (ExcepcionServicio ex)
                {
                    SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                      ex.Message, MessageBoxButton.OK,
                                      MessageImage.Stop);
                }
                catch (ExcepcionGenerica)
                {
                    SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                      Properties.Resources.RecibirProductoAlmacen_ErrorGuardar, MessageBoxButton.OK,
                                      MessageImage.Error);
                }
                catch (Exception ex)
                {
                    Logger.Error(ex);
                    SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                      Properties.Resources.RecibirProductoAlmacen_ErrorGuardar, MessageBoxButton.OK,
                                      MessageImage.Error);
                }
            }
        }