// // GET: /FueraLineaPrepago/AddNew/1 public ActionResult AddNew(int id) { BeneficiarioPrepago record = repBeneficiario.Find(id); //BeneficiarioPrepago beneficiario = repBeneficiario.Find(id); SaldosMovimientos SaldosMovimientos = repAfiliado.FindSaldosMovimientos(record.Afiliado); BeneficiarioPrepagoViewModel model = new BeneficiarioPrepagoViewModel() { numdoc = record.Afiliado.docnumber, beneficiario = record.Afiliado.name + " " + record.Afiliado.lastname1, monto = "0,00", saldo = SaldosMovimientos.Saldos.First(x => x.accounttype.Equals(Globals.TIPO_CUENTA_PREPAGO)).saldo, }; return View(model); }
public ActionResult AddNew(BeneficiarioPrepagoViewModel model) { if (ModelState.IsValid) { if (decimal.Parse(model.monto) <= 0) { ModelState.AddModelError("Monto", "El Monto de Transacción debe ser superior a cero."); } else if (model.monto.IndexOf(",") == -1) { ModelState.AddModelError("Monto", "El Monto de Transacción debe contener coma (,) como símbolo separador decimal."); } else if (decimal.Parse(model.saldoactual) <= 0 || decimal.Parse(model.monto) > decimal.Parse(model.saldoactual)) { ModelState.AddModelError("Monto", "El Monto de Transacción supera el Saldo Disponible."); } else { ViewModel viewmodel = new ViewModel(); string respuesta = repBeneficiario.CompraFueraLinea(model.documento, model.montotrx, model.storeid, model.observaciones); if (respuesta == null) { viewmodel.Title = "Prepago / Fuera de Línea / Crear Transacción de Compra"; viewmodel.Message = "La Transacción no pudo ser efectuada. Revise los estatus de la Tarjeta o Cuenta e intente de nuevo."; viewmodel.ControllerName = "FueraLineaPrepago"; viewmodel.ActionName = "Filter"; } else { viewmodel.Title = "Prepago / Fuera de Línea / Crear Transacción de Compra"; viewmodel.Message = "La Transacción ha sido efectuada satisfactoriamente. Clave de aprobación: " + respuesta; viewmodel.ControllerName = "FueraLineaPrepago"; viewmodel.ActionName = "Filter"; } return RedirectToAction("GenericView", viewmodel); } } return View(model); }