public ActionResult GuardarCambioCuotas(int?idDetalle, string fecha, string monto) { DetalleCuotasAdenda obj = db.DetalleCuotasAdenda.Find(idDetalle); obj.Vence = DateTime.Parse(fecha); obj.Monto = double.Parse(monto); obj.Saldo = obj.Monto; db.Entry(obj).State = EntityState.Modified; int d = db.SaveChanges(); return(Json(new { d }, JsonRequestBehavior.AllowGet)); }
public ActionResult ActualizarCuotas(int?IdAdenda, string numcuotas, string vence, string monto, string recibo) { int cantd = int.Parse(numcuotas), cuota = 1; using (var transact = db.Database.BeginTransaction()) { try { DateTime fecha = DateTime.Parse(vence); double _monto = double.Parse(monto); List <DetalleCuotasAdenda> lista = db.DetalleCuotasAdenda.Where(x => x.AdendaId == (int)IdAdenda).ToList(); for (int i = 0; i < lista.Count; i++) { DetalleCuotasAdenda reemp = db.DetalleCuotasAdenda.Find(lista[i].Id); if (i < cantd) { if (i != 0) { fecha = fecha.AddMonths(1); } reemp.Couta = (i + 1).ToString(); reemp.Monto = _monto; reemp.Saldo = reemp.Monto; reemp.Vence = fecha; reemp.Deshabilitar = true; cuota++; } else { reemp.Deshabilitar = false; } db.Entry(reemp).State = EntityState.Modified; } db.SaveChanges(); if (cantd > lista.Count) { for (int a = cuota; a <= cantd; a++) { fecha = fecha.AddMonths(1); DetalleCuotasAdenda nuevo = new Models.DetalleCuotasAdenda(); nuevo.Couta = a.ToString(); nuevo.Vence = fecha; nuevo.Monto = _monto; nuevo.Saldo = nuevo.Monto; nuevo.Estado = "Pendiente"; nuevo.AdendaId = (int)IdAdenda; nuevo.CuotaId = lista[0].CuotaId; nuevo.Deshabilitar = true; db.DetalleCuotasAdenda.Add(nuevo); } db.SaveChanges(); } Cuota cambiar = db.Cuotas.Find(lista[0].CuotaId); cambiar.NumCoutas = cantd; if (cantd == 1) { cambiar.TipoCuotas = "Número Único"; } else { cambiar.TipoCuotas = "Consecutivas"; } cambiar.ReciboDePrima = recibo; db.Entry(cambiar).State = EntityState.Modified; db.SaveChanges(); //Si todo se hizo correctamente se guardan los datos definitivamente transact.Commit(); } catch (Exception) { //Si hubo algun error en el almacenamiento de los datos //deshacemos todos lo que habiamos guardado transact.Rollback(); } } return(Json(new { cantd }, JsonRequestBehavior.AllowGet)); }