/// <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); }
/// <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); }