private bool ValidaHabilitarCapturaAretes(List <SolicitudProductoReplicaDetalleInfo> list)
        {
            var result                   = false;
            var parametroGeneralPL       = new ParametroGeneralPL();
            var parametroGeneral         = parametroGeneralPL.ObtenerPorClaveParametro(ParametrosEnum.RecProdAlmRepSAP.ToString());
            var parametroGeneralNacional = parametroGeneralPL.ObtenerPorClaveParametro(ParametrosEnum.RecProdAlmRepSAPNac.ToString());

            _esSukarne = 0;

            if (parametroGeneral != null)
            {
                var productos                        = parametroGeneral.Valor.Split('|').ToList();
                var productosNac                     = parametroGeneralNacional.Valor.Split('|').ToList();
                var productosCapturaAretes           = productos.Select(p => Convert.ToInt32(p)).ToList();
                var productosCapturaAretesNacionales = productosNac.Select(p => Convert.ToInt32(p)).ToList();

                if (list.Any(item => productosCapturaAretesNacionales.Contains(Convert.ToInt32(item.ProductoID))))
                {
                    result = true;
                }

                if (list.Any(item => productosCapturaAretes.Contains(Convert.ToInt32(item.ProductoID))))
                {
                    _esSukarne = 1;
                    result     = true;
                }
            }

            return(result);
        }
Exemple #2
0
        public static void EnviarCorreo(string tipoSolicitud, string semanaCambio, int organizacionID, string clave, int usuarioID)
        {
            var seguridad = (SeguridadInfo)ObtenerSeguridad();

            var correo            = new CorreoPL();
            var correoenviar      = new CorreoInfo();
            var usuariosCorreo    = new List <UsuarioInfo>();
            var organizacionPL    = new OrganizacionPL();
            var usuarioInfo       = new UsuarioInfo();
            var usuarioPL         = new UsuarioPL();
            var organizacionInfo  = new OrganizacionInfo();
            var parametroPL       = new ParametroGeneralPL();
            var terminacionCorreo = new ParametroGeneralInfo();

            try
            {
                OrganizacionInfo organizacion = seguridad.Usuario.Organizacion;
                terminacionCorreo = parametroPL.ObtenerPorClaveParametro("CorreoTerminacion");

                string asuntoCorreo    = HttpContext.GetLocalResourceObject("~/Manejo/CapturaPedido.aspx", "msgAsuntoCorreo.Text").ToString();
                string mensajeCorreo   = HttpContext.GetLocalResourceObject("~/Manejo/CapturaPedido.aspx", "msgMensajeCorreo.Text").ToString();
                string parametroManejo = HttpContext.GetLocalResourceObject("~/Manejo/CapturaPedido.aspx", "clvCorreoJefeManejo.Text").ToString();

                organizacionInfo = organizacionPL.ObtenerPorID(organizacionID);
                if (string.IsNullOrEmpty(clave))
                {
                    usuarioInfo          = usuarioPL.ObtenerPorID(usuarioID);
                    correoenviar.Asunto  = String.Format(asuntoCorreo, tipoSolicitud, semanaCambio, organizacionInfo.Descripcion);
                    correoenviar.Correos = new List <string>();
                    correoenviar.Mensaje = String.Format(mensajeCorreo, tipoSolicitud, semanaCambio);
                    correoenviar.Correos.Add(usuarioInfo.UsuarioActiveDirectory + terminacionCorreo.Valor);

                    correo.EnviarCorreo(organizacion, correoenviar);
                }
                else
                {
                    usuariosCorreo = ObtenerCorreos(clave);
                    if (clave.Equals(parametroManejo))
                    {
                        usuariosCorreo.RemoveAll(x => x.OrganizacionID != organizacionID);
                    }
                    foreach (var usuario in usuariosCorreo)
                    {
                        correoenviar.Asunto  = String.Format(asuntoCorreo, tipoSolicitud, semanaCambio, organizacionInfo.Descripcion);
                        correoenviar.Correos = new List <string>();
                        correoenviar.Mensaje = String.Format(mensajeCorreo, tipoSolicitud, semanaCambio);
                        correoenviar.Correos.Add(usuario.UsuarioActiveDirectory + terminacionCorreo.Valor);

                        correo.EnviarCorreo(organizacion, correoenviar);
                    }
                }
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw;
            }
        }
Exemple #3
0
        private bool ValidaEstructuraArete(string arete)
        {
            var result           = false;
            var correctoLongitud = true;
            var correctoDigitos  = true;

            try
            {
                if (_esSukarne == 1)
                {
                    var logic         = new ParametroGeneralPL();
                    var paramLongitud = logic.ObtenerPorClaveParametro(ParametrosEnum.LongitudAreteSK.ToString());
                    if (paramLongitud != null)
                    {
                        if (int.Parse(paramLongitud.Valor) != 0 && arete.Length != int.Parse(paramLongitud.Valor))
                        {
                            correctoLongitud = false;
                        }
                    }

                    if (correctoLongitud)
                    {
                        var paramDigito = logic.ObtenerPorClaveParametro(ParametrosEnum.DigitosIniAreteSK.ToString());
                        if (paramDigito != null)
                        {
                            if (paramDigito.Valor.Length > arete.Length || !paramDigito.Valor.Trim().Equals(arete.Substring(0, 4)) && !string.IsNullOrEmpty(paramDigito.Valor))
                            {
                                correctoDigitos = false;
                            }
                        }
                    }

                    if (correctoLongitud && correctoDigitos)
                    {
                        result = true;
                    }
                }
                else
                {
                    result = true;
                }
            }
            catch (Exception)
            {
                SkMessageBox.Show(System.Windows.Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                  Properties.Resources.RecibirProductoAlmacenReplicaAretes_ErrorValEstructArete, MessageBoxButton.OK,
                                  MessageImage.Error);
            }

            return(result);
        }
        private List <AjusteDeInventarioDiferenciasInventarioInfo> FiltrarProductosAlmacen(List <AjusteDeInventarioDiferenciasInventarioInfo> inventariosAlmacenCierres)
        {
            var parametroGeneralPL = new ParametroGeneralPL();
            ParametroGeneralInfo parametroGeneral =
                parametroGeneralPL.ObtenerPorClaveParametro(ParametrosEnum.PRODUCTOAJUSTAR.ToString());

            var productosEliminados = new List <int>();

            if (parametroGeneral != null)
            {
                List <string> productos = parametroGeneral.Valor.Split('|').ToList();
                productosEliminados = productos.Select(p => Convert.ToInt32(p)).ToList();
            }
            List <int> productosActuales   = inventariosAlmacenCierres.Select(prod => prod.ProductoID).ToList();
            List <int> productosPorMostrar = productosActuales.Except(productosEliminados).ToList();

            inventariosAlmacenCierres =
                inventariosAlmacenCierres.Join(productosPorMostrar, x => x.ProductoID, i => i, (inv, prod) => inv).ToList();
            return(inventariosAlmacenCierres);
        }
        private void FacturacionSacrificio_OnLoaded(object sender, RoutedEventArgs e)
        {
            AgregarAyudaCliente();
            Limpiar();
            rdGenerarFactura.IsChecked = true;
            organizacionId             = AuxConfiguracion.ObtenerOrganizacionUsuario();
            var parametroGeneralPL = new ParametroGeneralPL();
            ParametroGeneralInfo parametroGanaderaTraspasa =
                parametroGeneralPL.ObtenerPorClaveParametro(ParametrosEnum.GANADERATRASPASAGANADO.ToString());
            var traspasoGanado = false;

            if (parametroGanaderaTraspasa != null)
            {
                traspasoGanado =
                    parametroGanaderaTraspasa.Valor.Split('|').ToList().Any(
                        dato => Convert.ToInt32(dato) == organizacionId);
            }
            if (traspasoGanado)
            {
                splTipoSacrificion.Visibility = Visibility.Visible;
            }
        }
Exemple #6
0
        /// <summary>
        /// Este método obtiene el listado de usuarios a los que se enviarán correos
        /// </summary>
        /// <param name="clave">Roles concatenados, obtenidos desde la tabla ParametrosGenerales</param>
        /// <returns>Listado de usuarios</returns>
        public static List <UsuarioInfo> ObtenerCorreos(string clave)
        {
            var correos          = new List <UsuarioInfo>();
            var parametroPL      = new ParametroGeneralPL();
            var parametroGeneral = new ParametroGeneralInfo();
            var usuarioPL        = new UsuarioPL();
            var roles            = new List <int>();

            try
            {
                parametroGeneral = parametroPL.ObtenerPorClaveParametro(clave);
                roles            = parametroGeneral.Valor.Split(',').Select(int.Parse).ToList();

                correos = usuarioPL.ObtenerCorreos(roles);
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw;
            }

            return(correos);
        }
        public static ResultadoValidacion ObtenerGradoPorcentual()
        {
            var resultado = new ResultadoValidacion();

            try
            {
                var parametroPl = new ParametroGeneralPL();

                var seguridad = HttpContext.Current.Session["Seguridad"] as SeguridadInfo;

                if (seguridad != null)
                {
                    ParametroGeneralInfo parametro = parametroPl.ObtenerPorClaveParametro(ParametrosEnum.GradoPorcentualPerdidaHumedad.ToString());
                    resultado.Resultado = true;
                    resultado.Control   = parametro;
                }
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
            }

            return(resultado);
        }
        /// <summary>
        /// Método para exportar a excel
        /// </summary>
        /// <returns></returns>
        private void Consultar()
        {
            try
            {
                ParametroGeneralPL   parametroGeneralPl = new ParametroGeneralPL();
                ParametroGeneralInfo estandarInfo       = parametroGeneralPl.ObtenerPorClaveParametro(ParametrosEnum.EstandarTiempo.ToString());
                ParametroGeneralInfo porcMinimoInfo     = parametroGeneralPl.ObtenerPorClaveParametro(ParametrosEnum.PorcMinimo.ToString());
                ParametroGeneralInfo porcMaximoInfo     = parametroGeneralPl.ObtenerPorClaveParametro(ParametrosEnum.PorcMaximo.ToString());

                if (estandarInfo == null || porcMaximoInfo == null || porcMaximoInfo == null)
                {
                    SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                      Properties.Resources.ReporteBitacoraLlegada_MsgParametrosNoEncontrados,
                                      MessageBoxButton.OK, MessageImage.Warning);
                    return;
                }

                int organizacionId = organizacionSeleccionada.OrganizacionID;

                int tipoFecha = 1;
                if (rbFechaEntrada.IsChecked == true)
                {
                    tipoFecha = 2;
                }
                else if (rbFechaPesaje.IsChecked == true)
                {
                    tipoFecha = 3;
                }

                DateTime fechaIni = DtpFechaInicial.SelectedDate.HasValue
                                       ? DtpFechaInicial.SelectedDate.Value
                                       : new DateTime();
                DateTime fechaFin = DtpFechaFinal.SelectedDate.HasValue
                                        ? DtpFechaFinal.SelectedDate.Value
                                        : fechaIni;



                var organizacionPl     = new OrganizacionPL();
                var organizacion       = organizacionPl.ObtenerPorIdConIva(organizacionId);
                var nombreOrganizacion = organizacion != null ? organizacion.Descripcion : String.Empty;

                var encabezado = new ReporteEncabezadoInfo()
                {
                    Titulo      = Properties.Resources.ReporteBitacoraLlegada_Titulo,
                    FechaInicio = fechaIni,
                    FechaFin    = fechaFin,
                    //Organizacion = Properties.Resources.ReportesSukarneAgroindustrial_Titulo + " (" + nombreOrganizacion + ")"
                    Organizacion = nombreOrganizacion
                };

                List <ReporteBitacoraLlegadaInfo> resultadoInfo = ObtenerReporteBitacoraLlegada(encabezado, organizacionId, tipoFecha, fechaIni, fechaFin);

                if (resultadoInfo == null || !resultadoInfo.Any())
                {
                    SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                      Properties.Resources.ReporteBitacoraLlegada_MsgSinInformacion,
                                      MessageBoxButton.OK, MessageImage.Warning);
                    LimpiarCampos(true);
                    return;
                }

                string [] arrEstandar = estandarInfo.Valor.Split(':');
                TimeSpan  Estandar    = new TimeSpan(int.Parse(arrEstandar[0]), int.Parse(arrEstandar[1]), int.Parse(arrEstandar[2]));
                int       PorcMinimo  = int.Parse(porcMinimoInfo.Valor);
                int       PorcMaximo  = int.Parse(porcMaximoInfo.Valor);
                double    DestaraMenosTiempoEstandarMasEstandar;

                DtpFechaInicial.IsEnabled = false;
                DtpFechaFinal.IsEnabled   = false;

                foreach (var dato in resultadoInfo)
                {
                    dato.Organizacion = encabezado.Organizacion;
                    dato.Titulo       = encabezado.Titulo;
                    dato.FechaFin     = encabezado.FechaFin;
                    dato.FechaInicio  = encabezado.FechaInicio;

                    DestaraMenosTiempoEstandarMasEstandar = dato.LlegadaDestara.Subtract(dato.TiempoEstandar).Add(Estandar).TotalSeconds;
                    if (dato.TiempoEstandar.TotalSeconds == 0 ||
                        (DestaraMenosTiempoEstandarMasEstandar / dato.TiempoEstandar.TotalSeconds) * 100 >= PorcMaximo)
                    {
                        dato.Indicador = 1; //Rojo
                    }
                    else if ((DestaraMenosTiempoEstandarMasEstandar / dato.TiempoEstandar.TotalSeconds) * 100 > PorcMinimo)
                    {
                        dato.Indicador = 2; //Amarillo
                    }
                    else
                    {
                        dato.Indicador = 3;//Verde
                    }
                }

                var documento = new ReportDocument();
                var reporte   = String.Format("{0}{1}", AppDomain.CurrentDomain.BaseDirectory, "\\Reporte\\RptReporteBitacoraLlegada.rpt");
                documento.Load(reporte);

                documento.DataSourceConnections.Clear();
                documento.SetDataSource(resultadoInfo);
                documento.Refresh();

                var forma = new ReportViewer(documento, encabezado.Titulo);
                forma.MostrarReporte();
                forma.Show();
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                MessageBoxResult result = SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                                            Properties.Resources.ReporteBitacoraLlegada_MsgErrorExportarExcel, MessageBoxButton.OK,
                                                            MessageImage.Error);
            }
        }