private void ApplyOnClick(int id) { var builder = new AlertDialog.Builder(_context); builder.SetTitle("Вы точно хотите выполнить оплату?"); builder.SetPositiveButton("ОК", (o, args) => { ThreadPool.QueueUserWorkItem(w => { _showLoader?.Invoke(); var model = new PayCreditRequest(_creditId, id); var commandDelegate = new CommandDelegate <PayCreditResponce>(responce => _reloadActivity?.Invoke(responce.Credit), _showError, _showErrorNotEnternet); var command = new PayCreditCommand(LocalDb.Instance, commandDelegate); command.Execute(model); _hideLoader?.Invoke(); }); }); builder.SetNegativeButton("Нет", (o, args) => { }); builder.Create().Show(); }
public JsonResult Pay([FromBody] PayCreditRequest model) { var authorization = GetUserWithToken(); if (authorization.Error != null) { return(Json(authorization.Error)); } var credit = Context.Credits.FirstOrDefault(w => w.Id == model.CreditId); if (credit == null) { return(Json(new Error("notFound", "Такого кредита не найдено"))); } var payments = JsonConvert.DeserializeObject <List <PaymentModel> >(credit.ListPayment); var payment = payments.FirstOrDefault(w => w.Id == model.PaymentId); if (payment == null) { return(Json(new Error("notFound", "Такого платежа не найдено"))); } payment.IsPay = true; credit.ListPayment = JsonConvert.SerializeObject(payments); if (payments.All(w => w.IsPay)) { credit.IsPay = true; } Context.SaveChanges(); return(Json(new PayCreditResponce { Credit = credit })); }