public async Task <IActionResult> GetEstadoCuenta(CobEstadoCuentaQueryFilter filters) { List <CobEstadoCuentaDto> result = new List <CobEstadoCuentaDto>(); Metadata metadata = new Metadata { IsValid = false, Message = "" }; ApiResponse <IEnumerable <CobEstadoCuentaDto> > response = new ApiResponse <IEnumerable <CobEstadoCuentaDto> >(result); string userSap = _paginationOptions.UserSap; string passwordSap = _paginationOptions.PasswordSap; var meta = await _sapClient.GetToken(userSap, passwordSap); if (!meta.IsValid) { metadata.IsValid = false; metadata.Message = "No tenemos conexion a SAP.....Intente mas tarde(Validando Conexion. CobEstadoCuentaController line 84)"; response.Data = result; response.Meta = metadata; return(Ok(response)); } PagedList <CobEstadoDeCuenta> listEstadoCuenta; listEstadoCuenta = await _cobEstadoCuentaService.GetEstadoCuenta(filters); if (listEstadoCuenta == null) { response.Meta = metadata; return(Ok(response)); } IEnumerable <CobEstadoCuentaDto> listEstadoCuentaDto = _mapper.Map <IEnumerable <CobEstadoCuentaDto> >(listEstadoCuenta); foreach (var item in listEstadoCuentaDto) { var cliente = await _mtrClienteService.GetByIdAsync(item.IdCliente); item.Saldo = item.Rpaap; decimal decimalValue = (decimal)item.Saldo; item.SaldoString = string.Format("{0:N}", decimalValue); // 1,234,567.00 decimalValue = (decimal)item.Iva; item.IvaString = string.Format("{0:N}", decimalValue); // 1,234,567.00 decimalValue = (decimal)item.MontoOriginal; item.MontoOriginalString = string.Format("{0:N}", decimalValue); // 1,234,567.00 decimalValue = (decimal)item.BaseImponible; item.BaseImponibleString = string.Format("{0:N}", decimalValue); // 1,234,567.00 item.searchText = item.Rpdct + "-" + item.Rpdoc.ToString() + "- Cliente: " + cliente.Nombre.Trim() + "- Saldo: " + item.SaldoString; result.Add(item); } metadata.IsValid = true; metadata.Message = ""; metadata.TotalCount = listEstadoCuenta.TotalCount; metadata.PageSize = listEstadoCuenta.PageSize; metadata.CurrentPage = listEstadoCuenta.CurrentPage; metadata.TotalPage = listEstadoCuenta.TotalPage; metadata.HasNextPage = listEstadoCuenta.HasNextPage; metadata.HasPreviousPage = listEstadoCuenta.HasPreviousPage; metadata.NextPageUrl = ""; // _uriService.GetGeneralCobranzaPaginationUri(filters, "").ToString(), metadata.PreviousPageUrl = ""; // _uriService.GetGeneralCobranzaPaginationUri(filters, "").ToString(), response.Data = result; response.Meta = metadata; return(Ok(response)); }
public async Task <List <EstadoCuentaSap> > GetEstadoCuentaSap(string cliente) { string userSap = _paginationOptions.UserSap; string passwordSap = _paginationOptions.PasswordSap; string tokenSap = ""; var meta = await _sapClient.GetToken(userSap, passwordSap); if (meta.IsValid) { tokenSap = meta.Message; } else { return(null); } string action = $"EstadoCuentaCliente?Sociedad='1000'&Cliente='{cliente}'&MostrarImportesMonedaDoc=true"; var result = await _sapClient.GetEstadoCuenta(action, tokenSap); JsonSerializerOptions options = new JsonSerializerOptions { IgnoreNullValues = true, WriteIndented = true, PropertyNameCaseInsensitive = true }; AppService.Core.DTOs.SapEstadoCuentaResult.Application resultSapEstadoCuenta = new AppService.Core.DTOs.SapEstadoCuentaResult.Application(); resultSapEstadoCuenta = JsonSerializer.Deserialize <AppService.Core.DTOs.SapEstadoCuentaResult.Application>(result.Message, options); List <EstadoCuentaSap> estadoCuentaSap = new List <EstadoCuentaSap>(); foreach (var item in resultSapEstadoCuenta.d.results) { EstadoCuentaSap itemEstadoCuentaSap = new EstadoCuentaSap(); itemEstadoCuentaSap.DocumentoSAP = item.DocumentoSAP; itemEstadoCuentaSap.DocumentoExterno = item.DocumentoExterno; itemEstadoCuentaSap.ClaseDoc = item.ClaseDoc; itemEstadoCuentaSap.Correlativo = item.Correlativo; itemEstadoCuentaSap.Cliente = item.Cliente; itemEstadoCuentaSap.DocumentoExterno = item.DocumentoExterno; itemEstadoCuentaSap.Moneda = item.Moneda; var valor = long.Parse(GetSubStringByString("(", ")", item.FechaDoc)); var fecha = DateTimeOffset.FromUnixTimeMilliseconds(valor).DateTime; itemEstadoCuentaSap.FechaDoc = fecha; fecha = DateTimeOffset.FromUnixTimeMilliseconds(long.Parse(GetSubStringByString("(", ")", item.FechaVencimiento))).DateTime; itemEstadoCuentaSap.FechaVencimiento = fecha; itemEstadoCuentaSap.Monto = decimal.Parse(item.Monto); itemEstadoCuentaSap.BaseImponible = decimal.Parse(item.BaseImponible); itemEstadoCuentaSap.Impuesto = decimal.Parse(item.Impuesto); itemEstadoCuentaSap.Saldo = decimal.Parse(item.Saldo); estadoCuentaSap.Add(itemEstadoCuentaSap); } return(estadoCuentaSap); }