// GET: CuentasTelepeajes/Delete/5 public async Task <ActionResult> Delete(long?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } CuentasTelepeaje cuentasTelepeaje = await db.CuentasTelepeajes.FindAsync(id); if (cuentasTelepeaje == null) { return(HttpNotFound()); } return(View(cuentasTelepeaje)); }
public async Task <ActionResult> RegresarListaBlanca(string numtag, string numcuenta) { try { db.Configuration.ValidateOnSaveEnabled = false; ListaNegra tag = await db.ListaNegras.Where(x => x.Numero == numtag).FirstOrDefaultAsync(); CuentasTelepeaje cuenta = await db.CuentasTelepeajes.Where(x => x.NumCuenta == numcuenta).FirstOrDefaultAsync(); if (cuenta == null) { return(Json(new { success = "", error = "No existe la cuenta." })); } var tagNew = new Tags { StatusResidente = false, StatusTag = true, DateTTag = DateTime.Now, IdCajero = User.Identity.GetUserId(), NumTag = numtag, CuentaId = cuenta.Id, }; switch (cuenta.TypeCuenta) { case "Colectiva": tagNew.SaldoTag = cuenta.SaldoCuenta; break; case "Individual": var SaldoSend = tag.SaldoAnterior.Value.ToString("F2"); SaldoSend = SaldoSend.Replace(",", string.Empty); tagNew.SaldoTag = SaldoSend.Replace(".", string.Empty); break; default: break; } db.Tags.Add(tagNew); db.ListaNegras.Remove(tag); await db.SaveChangesAsync(); return(Json(new { success = $"Se agregó correctamente el tag: {numtag} a la cuenta: {numcuenta}." })); } catch (Exception ex) { return(Json(new { success = "", error = ex.Message })); } }
// GET: CuentasTelepeajes/Edit/5 public async Task <ActionResult> Edit(long?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } CuentasTelepeaje cuentasTelepeaje = await db.CuentasTelepeajes.FindAsync(id); if (cuentasTelepeaje == null) { return(HttpNotFound()); } //ViewBag.ClienteId = new SelectList(db.Clientes, "Id", "NumCliente", cuentasTelepeaje.ClienteId); return(View(cuentasTelepeaje)); }
public async Task <ActionResult> Edit(CuentasTelepeaje cuentasTelepeaje) { db.Configuration.ValidateOnSaveEnabled = false; if (ModelState.IsValid) { if (cuentasTelepeaje.StatusCuenta == true) { db.CuentasTelepeajes.Attach(cuentasTelepeaje); db.Entry(cuentasTelepeaje).State = EntityState.Modified; await db.SaveChangesAsync(); ViewBag.Success = "Se actualizó correctamente la cuenta: " + cuentasTelepeaje.NumCuenta + "."; return(View("Index")); } ViewBag.Error = "La cuenta no puede ser actualizado porque está dado de baja."; return(RedirectToAction("Index")); } ViewBag.Error = "¡Ups! ocurrio un error inesperado."; return(View("Index")); }
public async Task <ActionResult> RecargarSaldo(CuentasTelepeaje modelCuenta, string ReturnController) { try { db.Configuration.ValidateOnSaveEnabled = false; var FoundCuenta = await db.CuentasTelepeajes .Join(db.Clientes, cue => cue.ClienteId, cli => cli.Id, (cue, cli) => new { cue, cli }) .SingleOrDefaultAsync(x => x.cue.NumCuenta == modelCuenta.NumCuenta); if (FoundCuenta == null) { TempData["ECreate"] = $"La cuenta no existe."; return(RedirectToAction("Index", ReturnController)); } if (FoundCuenta.cli.StatusCliente == true) { if (FoundCuenta.cue.TypeCuenta == "Colectiva") { var UserId = User.Identity.GetUserId(); var lastCorteUser = await db.CortesCajeros .Where(x => x.IdCajero == UserId) .OrderByDescending(x => x.DateTApertura).FirstOrDefaultAsync(); if (lastCorteUser != null) { var Saldo = (double.Parse(FoundCuenta.cue.SaldoCuenta) / 100).ToString("F2"); var SaldoNuevo = (double.Parse(Saldo) + double.Parse(modelCuenta.SaldoARecargar, new NumberFormatInfo { NumberDecimalSeparator = ".", NumberGroupSeparator = "," })); var SaldoSend = Math.Round(SaldoNuevo, 2).ToString("F2"); SaldoSend = SaldoSend.Replace(",", string.Empty); FoundCuenta.cue.SaldoCuenta = SaldoSend.Replace(".", string.Empty); if ((double.Parse(FoundCuenta.cue.SaldoCuenta, new NumberFormatInfo { NumberDecimalSeparator = ".", NumberGroupSeparator = "," }) / 100) >= 100) { if (FoundCuenta.cue.StatusCuenta == false) { FoundCuenta.cue.StatusCuenta = true; } List <Tags> tags = await db.Tags.Where(x => x.CuentaId == FoundCuenta.cue.Id).ToListAsync(); foreach (var item in tags) { if (item.StatusTag == false) { item.StatusTag = true; } item.SaldoTag = FoundCuenta.cue.SaldoCuenta; db.Tags.Attach(item); db.Entry(item).State = EntityState.Modified; } } var detalle = new OperacionesCajero { Concepto = "CUENTA RECARGA", DateTOperacion = DateTime.Now, Numero = FoundCuenta.cue.NumCuenta, Tipo = "CUENTA", TipoPago = "EFE", Monto = double.Parse(modelCuenta.SaldoARecargar, new NumberFormatInfo { NumberDecimalSeparator = ".", NumberGroupSeparator = "," }), CorteId = lastCorteUser.Id, NoReferencia = await methods.RandomNumReferencia(), }; db.OperacionesCajeros.Add(detalle); db.CuentasTelepeajes.Attach(FoundCuenta.cue); db.Entry(FoundCuenta.cue).State = EntityState.Modified; await db.SaveChangesAsync(); TempData["SCreate"] = $"Se recargó Q{modelCuenta.SaldoARecargar} a la cuenta: {FoundCuenta.cue.NumCuenta} con éxito."; return(RedirectToAction("Index", ReturnController)); } TempData["ECreate"] = $"¡Ups! ocurrio un error inesperado."; return(RedirectToAction("Index", ReturnController)); } TempData["ECreate"] = "La cuenta: " + modelCuenta.NumCuenta + " es individual o puede que este dada de baja."; return(RedirectToAction("Index", ReturnController)); } TempData["ECreate"] = "No se puede recargar saldo a la cuenta: " + modelCuenta.NumCuenta + " porque el cliente al que pertenece está dado de baja."; return(RedirectToAction("Index", "Clientes")); } catch (Exception ex) { TempData["ECreate"] = $"¡Ups! ocurrio un error inesperado, {ex.Message}"; return(RedirectToAction("Index", ReturnController)); } }
public async Task <ActionResult> CreateAjax(CuentasTelepeaje cuentasTelepeaje) { try { //ViewBag.ClienteId = new SelectList(db.Clientes, "Id", "NumCliente", cuentasTelepeaje.ClienteId); db.Configuration.ValidateOnSaveEnabled = false; Clientes cliente = await db.Clientes.FindAsync(cuentasTelepeaje.ClienteId); if (cliente.StatusCliente == true) { var UserId = User.Identity.GetUserId(); var lastCorteUser = await db.CortesCajeros .Where(x => x.IdCajero == UserId) .OrderByDescending(x => x.DateTApertura).FirstOrDefaultAsync(); if (lastCorteUser != null) { if (cuentasTelepeaje.TypeCuenta == "Individual") { cuentasTelepeaje.SaldoCuenta = null; } cuentasTelepeaje.StatusCuenta = true; cuentasTelepeaje.StatusResidenteCuenta = false; cuentasTelepeaje.DateTCuenta = DateTime.Now; cuentasTelepeaje.IdCajero = User.Identity.GetUserId(); ModelState.Remove("NumCuenta"); ModelState.Remove("IdCajero"); ModelState.Remove("SaldoARecargar"); ModelState.Remove("ConfSaldoARecargar"); cuentasTelepeaje.NumCuenta = RandomNumCuenta(); if (ModelState.IsValid) { var query = await db.CuentasTelepeajes.Where(x => x.NumCuenta == cuentasTelepeaje.NumCuenta).ToListAsync(); if (query.Count != 0) { while (query.Count != 0) { cuentasTelepeaje.NumCuenta = RandomNumCuenta(); query = await db.CuentasTelepeajes.Where(x => x.NumCuenta == cuentasTelepeaje.NumCuenta).ToListAsync(); } } var detalle = new OperacionesCajero { Concepto = "CUENTA ACTIVADA", DateTOperacion = DateTime.Now, Numero = cuentasTelepeaje.NumCuenta, Tipo = "CUENTA", CorteId = lastCorteUser.Id, NoReferencia = await methods.RandomNumReferencia(), }; if (cuentasTelepeaje.TypeCuenta == "Colectiva") { detalle.TipoPago = "EFE"; detalle.Monto = double.Parse(cuentasTelepeaje.SaldoCuenta, new NumberFormatInfo { NumberDecimalSeparator = ".", NumberGroupSeparator = "," }); var SaldoSend = double.Parse(cuentasTelepeaje.SaldoCuenta, new NumberFormatInfo { NumberDecimalSeparator = ".", NumberGroupSeparator = "," }).ToString("F2"); SaldoSend = SaldoSend.Replace(",", string.Empty); cuentasTelepeaje.SaldoCuenta = SaldoSend.Replace(".", string.Empty); } db.OperacionesCajeros.Add(detalle); db.CuentasTelepeajes.Add(cuentasTelepeaje); await db.SaveChangesAsync(); return(Json(new { idCuenta = cuentasTelepeaje.Id, numcuenta = cuentasTelepeaje.NumCuenta, typecuenta = cuentasTelepeaje.TypeCuenta, success = "Se registró correctamente la cuenta: " + cuentasTelepeaje.NumCuenta + " para el cliente: " + cliente.NumCliente + " " + cliente.Nombre + " " + cliente.Apellidos + ".", error = "", })); } } return(Json(new { success = "", error = $"¡Ups! ocurrio un error inesperado.", })); } return(Json(new { success = "", error = "El cliente no puede crear una cuenta porque esta dado de baja.", })); } catch (Exception ex) { return(Json(new { success = "", error = $"¡Ups! ocurrio un error inesperado, {ex.Message}", })); } }