Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        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));
        }