示例#1
0
        /// <summary>
        /// Realiza la búsqueda de Proveedores del Servicio Web -SAP
        /// </summary>
        /// <param name="filtro">Filtro de búsqueda</param>
        /// <returns>Listado de Proveedores del Servicio Web - SAP </returns>
        public ProcessResult <List <ProveedorResponse> > BuscarProveedorSAP(ProveedorRequest filtro)
        {
            ProcessResult <List <ProveedorResponse> > resultado = new ProcessResult <List <ProveedorResponse> >();

            try
            {
                ISAPProxy sapProxy = new SAPProxy();
                filtro.RucNombreProveedor = filtro.RucNombreProveedor ?? "";

                filtro.RucNombreProveedor = filtro.RucNombreProveedor.ToUpper();
                List <ProveedorSAPLogic> listado = sapProxy.ZSGC_OBTPROVEEDORES(filtro.RucNombreProveedor);

                resultado.Result = new List <ProveedorResponse>();
                foreach (var registro in listado)
                {
                    var proveedorResponse = new ProveedorResponse();
                    proveedorResponse.Nombre          = registro.Nombre;
                    proveedorResponse.NombreComercial = registro.Nombre;
                    proveedorResponse.TipoDocumento   = DatosConstantes.TipoDocumentoIdentificacion.Ruc;
                    proveedorResponse.NumeroDocumento = registro.Ruc;

                    resultado.Result.Add(proveedorResponse);
                }
            }
            catch (Exception e)

            {
                resultado.IsSuccess = false;
                resultado.Exception = new ApplicationLayerException <ProveedorService>(e);
            }

            return(resultado);
        }
示例#2
0
        /// <summary>
        /// Sincronizar bienes de servicio SAP
        /// </summary>
        /// <returns>Registro de nuevos equipos de SAP</returns>
        public ProcessResult <string> SincronizarBienesServicioSAP()
        {
            ProcessResult <string> resultado = new ProcessResult <string>();

            try
            {
                ISAPProxy        SAPService = new SAPProxy();
                List <BienLogic> equiposSAP = SAPService.ObtenerEquipos();

                var listaBienes = ListarBienes(new BienRequest()).Result;

                var equiposAgregados = equiposSAP.Where(e => !listaBienes.Any(b => b.CodigoIdentificacion.ToUpper().Trim() == e.CodigoIdentificacion.ToUpper().Trim() && b.Modelo.ToUpper().Trim() == e.Modelo.ToUpper().Trim() && b.NumeroSerie.Trim() == e.NumeroSerie.Trim()));

                var parametros = parametroValorService.BuscarParametroValor(new ParametroValorRequest()
                {
                    CodigoParametro = DatosConstantes.ParametroValor.ConfiguracionEquiposAmt,
                    CodigoValor     = 1,
                    EstadoRegistro  = "1"
                }).Result;

                if (parametros.Count > 0)
                {
                    var parametroTiempoVida            = parametros[0].RegistroCadena[DatosConstantes.ParametroConfiguracionAmtValorSeccion.TiempoVida.ToString()];
                    var parametroValorResidual         = parametros[0].RegistroCadena[DatosConstantes.ParametroConfiguracionAmtValorSeccion.ValorResidual.ToString()];
                    var parametroCodigoTipoTarifa      = parametros[0].RegistroCadena[DatosConstantes.ParametroConfiguracionAmtValorSeccion.CodigoTipoTarifa.ToString()];
                    var parametroCodigoPeriodoAlquiler = parametros[0].RegistroCadena[DatosConstantes.ParametroConfiguracionAmtValorSeccion.CodigoPeriodoAlquiler.ToString()];
                    var parametroValorAlquiler         = parametros[0].RegistroCadena[DatosConstantes.ParametroConfiguracionAmtValorSeccion.ValorAlquiler.ToString()];
                    var parametroCodigoMoneda          = parametros[0].RegistroCadena[DatosConstantes.ParametroConfiguracionAmtValorSeccion.CodigoMoneda.ToString()];
                    var parametroCodigoTipoBien        = parametros[0].RegistroCadena[DatosConstantes.ParametroConfiguracionAmtValorSeccion.CodigoTipoBien.ToString()];

                    decimal tiempoVida = 0;
                    decimal.TryParse(parametroTiempoVida, out tiempoVida);

                    decimal valorResidual = 0;
                    decimal.TryParse(parametroValorResidual, out valorResidual);

                    decimal valorAlquiler = 0;
                    decimal.TryParse(parametroValorAlquiler, out valorAlquiler);

                    foreach (var item in equiposAgregados)
                    {
                        BienEntity bienEntidad = new BienEntity();
                        bienEntidad.CodigoBien           = Guid.NewGuid();
                        bienEntidad.Marca                = item.Marca;
                        bienEntidad.Modelo               = item.Modelo;
                        bienEntidad.NumeroSerie          = item.NumeroSerie;
                        bienEntidad.CodigoIdentificacion = item.CodigoIdentificacion;
                        bienEntidad.Descripcion          = item.Descripcion;
                        if (item.FechaAdquisicion != null)
                        {
                            bienEntidad.FechaAdquisicion = (DateTime)item.FechaAdquisicion;
                        }
                        else
                        {
                            bienEntidad.FechaAdquisicion = DateTime.Today;
                        }


                        bienEntidad.TiempoVida            = tiempoVida;
                        bienEntidad.ValorResidual         = valorResidual;
                        bienEntidad.CodigoTipoTarifa      = parametroCodigoTipoTarifa != null ? parametroCodigoTipoTarifa : string.Empty;
                        bienEntidad.CodigoPeriodoAlquiler = parametroCodigoPeriodoAlquiler != null ? parametroCodigoPeriodoAlquiler : string.Empty;
                        bienEntidad.ValorAlquiler         = valorAlquiler;
                        bienEntidad.CodigoMoneda          = parametroCodigoMoneda != null ? parametroCodigoMoneda : string.Empty;
                        bienEntidad.CodigoTipoBien        = parametroCodigoTipoBien != null ? parametroCodigoTipoBien : string.Empty;
                        bienEntidad.MesInicioAlquiler     = (byte)DateTime.Today.Month;
                        bienEntidad.AnioInicioAlquiler    = (short)DateTime.Today.Year;

                        bienRepository.Insertar(bienEntidad);
                    }

                    resultado.Result = bienRepository.GuardarCambios().ToString();
                }
            }
            catch (Exception e)
            {
                resultado.IsSuccess = false;
                resultado.Exception = new ApplicationLayerException <ProveedorService>(e);
            }

            return(resultado);
        }