public ActionResult IBono(Int32?bonoId) { var viewModel = new AddEditBonoViewModel(); viewModel.CargarDatos(BonoDAO.context, bonoId); return(View(viewModel)); }
public ActionResult IBono(AddEditBonoViewModel model) { if (!ModelState.IsValid) { TryUpdateModel(model); Debug.WriteLine("IBono - no es valido"); return(View(model)); } try { using (var transactionScope = new TransactionScope()) { //Le tengo que especificar que es del Model ya que hay un namespace con Bono y se confunde model.userId = Session.GetUsuarioId(); BonoDAO.AddEditEntity(model); Debug.WriteLine("IBono - antes de TransactionScope"); transactionScope.Complete(); Debug.WriteLine("IBono - Redireccionando al Index"); return(RedirectToAction("Index", "Home")); } } catch (Exception ex) { model.CargarDatos(BonoDAO.context, model.BonoId); Debug.WriteLine("IBono - catch -> " + ex.Message + "\n" + ex.InnerException + "\n"); TryUpdateModel(model); return(View(model)); } }
public void AddEditEntity(AddEditBonoViewModel model) { var bono = new Models.Bono(); if (model.BonoId.HasValue) { Debug.WriteLine("IBono - if:editar"); bono = context.Bono.Find(model.BonoId); } else { Debug.WriteLine("IBono - else:agregar"); context.Bono.Add(bono); } model.TransferModel(ref bono); Debug.WriteLine("IBono - antes de guardar"); context.SaveChanges(); }
public static void TransferModel(this AddEditBonoViewModel model, ref Models.Bono bono /*, ref Models.Bono_Tasa bonoTasa*/) { //ID del bono se autogenera bono.Entidad_ID = model.userId; bono.ValorNominal = model.ValorNominal.ToDouble(); bono.ValorComercial = model.ValorComercial.ToDouble(); bono.NroAnios = model.nAnios; bono.FrecCupon = model.frecCupon; bono.DiasPorAnio = model.diasXanio; bono.ImpRenta = model.ImpRenta.ToDouble(); bono.FechaEmision = model.FechaEmision; bono.TasaAnualDescuento = model.TasaAnualDescuento.ToDouble(); if (model.LstTasaId.Count != model.LstValorTasa.Count) { Debug.WriteLine("TranferHelper-(bono, bonoTasa) sizes of List non equal"); return; } Debug.WriteLine(model.LstValorTasa.Count + ", " + model.LstTasaId.Count); for (var i = 0; i < model.LstValorTasa.Count; i++) { Debug.WriteLine("i: " + i + " -> " + model.LstTasaId[i] + ", " + model.LstValorTasa[i].ToDouble() + ", " + model.LstCapitalizaciones[i] + ", " + model.LstNroPeriodos[i]); } for (var i = 0; i < model.LstValorTasa.Count; i++) { bono.Bono_Tasa.Add(new Bono_Tasa { //ID del Bono_Tasa se autogenera TipoTasa_ID = model.LstTasaId[i], //BonoId se autogenera ya que es IDENTITY el pk del Bono TasaInteres = model.LstValorTasa[i].ToDouble(), NroCuota = model.LstNroPeriodos[i], capitalizacion = model.LstCapitalizaciones[i].validacionCap(model.LstTasaId[i]) }); } for (var i = 0; i < model.LstValInflaciones.Count; i++) { bono.Inflacion.Add(new Inflacion { Valor = model.LstValInflaciones[i].ToDouble(), Periodo = model.LstPerInflaciones[i] }); } for (var i = 0; i < model.LstPlazosDeGraciaId.Count; i++) { if (model.LstPlazosDeGraciaId.Count <= 1 && model.LstPlazosDeGraciaId[0] == 1) { break; } //{ /*bono.PlazoBono.Add(new PlazoBono * { * PlazoGracia_ID = 1, * Periodo = 1 * });*/ //break; // } // else // { bono.PlazoBono.Add(new PlazoBono { PlazoGracia_ID = model.LstPlazosDeGraciaId[i], Periodo = model.LstPerPlazoBono[i] }); // } } for (int i = 0; i < model.LstCostesGastosNombres.Count; i++) { bono.Costes_Gastos.Add(new Costes_Gastos { Nombre = model.LstCostesGastosNombres[i], Valor = model.LstCostesGastosValores[i].ToDouble(), Emisor = model.LstCostesGastosEmisor[i] }); } }