public async Task <IActionResult> GetContractList([FromBody] GetContractListRequest req) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } PortalUser user = await repository.AuthenticateUserToken(req.CurrentUser.UserId, req.CurrentUser.UserToken); if (user == null) { return(NotFound()); } GetContractListResponse resp = new GetContractListResponse(); var contracts = await repository.GetContractsByCompanyId(user.CompanyId); foreach (Contract c in contracts) { resp.ContractList.Add(new ContractListModel { ContractId = c.ContractId, ContractName = c.ContractName, ContractNumber = c.ContractNumber }); } return(Ok(resp)); }
private async void ResponseUrlPayment(string url) { if (yaNO) { return; } yaNO = true; if (url.Contains("back")) { await _navigationService.GoBackAsync(); } else { var dic = GetParams(url); Analytics.TrackEvent(url); var EstatusPago = dic.Where(e => e.Key == "vpc_TxnResponseCode").ToList().First().Value; if (EstatusPago == "0") { Analytics.TrackEvent("ok code"); var request = new GetContractListRequest { Email = DatosPago.email }; if (await CallServiceAsync <GetContractListRequest, Models.Responses.GetBalanceListResponse>(request, "Actualizando pago", true) is Models.Responses.GetBalanceListResponse response && response.Success) { Analytics.TrackEvent("ok response"); var seleccionado = response.BalanceList.Where(t => t.Nis == DatosPago.NIS_RAD.ToString()).First(); var fecha = seleccionado.v_fecsec.Remove(seleccionado.v_fecsec.Length - 1); fecha = new string(fecha.Skip(6).Take(2).ToArray()) + new string(fecha.Skip(4).Take(2).ToArray()) + new string(fecha.Take(4).ToArray()); DatosPago.NIS_RAD = int.Parse(seleccionado.Nis); DatosPago.SEC_NIS = seleccionado.SecNis ?? 0; DatosPago.F_FACT = fecha; var pay = new PAGOSRequest { v_f_fact = DatosPago.F_FACT, v_importe = DatosPago.v_importe / 100, v_nis_rad = DatosPago.NIS_RAD, v_referencia = DatosPago.v_referencia, v_sec_nis = DatosPago.SEC_NIS, v_sec_rec = DatosPago.SEC_REC, v_fecha_vencimiento = seleccionado.ExpirationDate }; string json = JsonConvert.SerializeObject(pay); await sadmApiService.CallServiceAsync <PAGOSRequest, Models.Responses.ResponseBase>(pay); await _hudService.ShowSuccessMessageAsync("Pago realizado con éxito."); await _navigationService.NavigateAsync(new Uri($"/{nameof(LateralMenuPage)}/{nameof(NavigationPage)}/{nameof(BalancesPage)}", UriKind.Absolute)); } else { Analytics.TrackEvent("Error response"); await _hudService.ShowErrorAsync("Ocurrio un error en el pago intente de nuevo."); await _navigationService.GoBackAsync(); } }
public async Task GetNisListAsync() { var request = new GetContractListRequest { Email = SettingsService.User.Email }; if (await CallServiceAsync <GetContractListRequest, GetBalanceListResponse>(request, "Preparando la generación de reporte...", true) is GetBalanceListResponse response && response.Success) { if (response.BalanceList.Any()) { await GoToPageAsync <Views.GenerateReportPage>(response.BalanceList); } else { await HudService.ShowErrorAsync("Debes tener al menos un NIS registrado"); } } }