public ActionResult Pago(Guid id) { var usuario = DataContext.Usuarios.Single(u => u.IdUsuario == id); var modelo = new ModeloPago() { IdUsuario = id, Nombre = usuario.Nombre, Saldo = Decimal.Round((decimal)usuario.MovimientosCuentaCorriente.Sum( //Saldo = Decimal.Round((decimal)usuario.Transacciones.Sum( m => (double)((m.MontoHaber - m.MontoDebe) * m.Cotizacion)), 2), FechaPago = DateTime.Now.Date }; return(View(modelo)); }
public ActionResult Pago(ModeloPago pago) { if (ModelState.IsValid) { var mov = new MovimientoCuentaCorriente() //var mov = new Transaccion() { IdMovimientoCuentaCorriente = Guid.NewGuid(), //IdTransaccion = Guid.NewGuid(), IdUsuario = pago.IdUsuario, FechaMovimiento = pago.FechaPago, //FechaAlta = pago.FechaPago, Moneda = DataContext.Monedas.SingleOrDefault(m => m.Descripcion == pago.Moneda.ToString()), MontoDebe = 0f, MontoHaber = (float)pago.MontoPagado, Cotizacion = (float)pago.TipoCambio }; DataContext.MovimientosCuentaCorriente.InsertOnSubmit(mov); //DataContext.Transacciones.InsertOnSubmit(mov); return(RedirectToAction("DetallesCuenta", new { id = pago.IdUsuario })); } else { ViewBag.Message = "Detalles del pago no válidos"; pago.Saldo = Decimal.Round((decimal)DataContext.MovimientosCuentaCorriente.Where( //pago.Saldo = Decimal.Round((decimal)DataContext.Transacciones.Where( m => m.IdUsuario == pago.IdUsuario).Sum(m => (double)((m.MontoHaber - m.MontoDebe) * m.Cotizacion)), 2); pago.FechaPago = DateTime.Now.Date; return(View(pago)); } }