public async Task <PagedList <CobEstadoDeCuenta> > GetEstadoCuenta(CobEstadoCuentaQueryFilter filters) { filters.PageNumber = filters.PageNumber == 0 ? _paginationOptions.DefaultPageNumber : filters.PageNumber; filters.PageSize = filters.PageSize == 0 ? _paginationOptions.DefaultPageSize : filters.PageSize; filters.PageSize = 1000; //Busca Estado de Cuenta del cliente en Sap var estadoCuentaSap = await GetEstadoCuentaSap(filters.IdCliente); if (estadoCuentaSap != null) { //Actualiza Tabla CobEstadoCuenta con el estado de cuenta Sap await UpdateCobEstadoCuenta(estadoCuentaSap, filters.IdCliente); var estadoCuenta = await _unitOfWork.CobEstadoDeCuentaRepository.GetAllDocumentoMadre(filters.IdCliente); if (filters.Documento > 0) { estadoCuenta = estadoCuenta.Where(x => x.Rpdoc == filters.Documento).ToList(); } var pagedResult = PagedList <CobEstadoDeCuenta> .Create(estadoCuenta, filters.PageNumber, filters.PageSize); return(pagedResult); } else { return(null); } }
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)); }