public ActionResult Index(RegistrarOperaciones_VM registroOperaciones) { //Creo y relleno la lista de monedas List <Moneda> listaMonedas = new List <Moneda>(); Func_Monedas.recuperarListaMonedas(listaMonedas); //Cargo esta lista en la propieda del ViewModel registroOperaciones.listaMonedas = listaMonedas; //Añado al ViewModel los tipos de operaciones Respuesta respuesta = Func_Monedas.recuperarListaTiposOperaciones(registroOperaciones.tiposOperaciones); //Creo el objeto respuesta y ejecuto crearTransaccion() //El parámetro registroOperaciones contiene todos los datos necesarios para crear la transacción respuesta = Func_Monedas.crearTransaccion(registroOperaciones); TipoRespuesta tipoRespuesta = respuesta.tipoRespuesta; //Gestionamos errores if (tipoRespuesta != TipoRespuesta.OK) { return(View("Error")); } else { //Mostramos mensaje de éxito si sale bien todo ViewBag.MensajeExito = "¡Perfecto! Todo ha salido bien "; } return(View(registroOperaciones)); }
public ActionResult RealizarOperacion(RegistrarOperaciones_VM registroOperaciones) { Respuesta respuesta = new Respuesta(); respuesta.tipoRespuesta = TipoRespuesta.OK; //Creo y relleno la lista de monedas List <Moneda> listaMonedas = new List <Moneda>(); respuesta = Func_Monedas.recuperarListaMonedas(listaMonedas); //Cargo esta lista en la propieda del ViewModel registroOperaciones.listaMonedas = listaMonedas; //Añado al ViewModel los tipos de operaciones respuesta = Func_Monedas.recuperarListaTiposOperaciones(registroOperaciones.tiposOperaciones); //Creo el objeto respuesta y ejecuto crearTransaccion() //El parámetro registroOperaciones contiene todos los datos necesarios para crear la transacción respuesta = Func_Monedas.crearTransaccion(registroOperaciones); TipoRespuesta tipoRespuesta = respuesta.tipoRespuesta; if (respuesta.tipoRespuesta != TipoRespuesta.OK) { return(View("Error")); } return(PartialView("~/Views/Monedas/_CrearExito.cshtml", registroOperaciones.moneda)); }
public ActionResult Index() { //Creo listas para guardar los datos de dropdowlist List <Moneda> listaMonedas = new List <Moneda>(); List <TiposOperaciones> listaTiposOperacion = new List <TiposOperaciones>(); //Creo el ViewModel para poder meterle datos luego RegistrarOperaciones_VM registroOperaciones = new RegistrarOperaciones_VM(); //Relleno la lista de monedas Respuesta respuesta = Func_Monedas.recuperarListaMonedas(listaMonedas, false); //Guardo las listas en el ViewModel List <TiposOperaciones> listaTiposOperaciones = new List <TiposOperaciones>(); respuesta = Func_Monedas.recuperarListaTiposOperaciones(listaTiposOperaciones, false); registroOperaciones.tiposOperaciones = listaTiposOperaciones; registroOperaciones.listaMonedas = listaMonedas; if (respuesta.tipoRespuesta != TipoRespuesta.OK) { return(View("Error")); } //Devuelvo la vista con el ViewModel return(View(registroOperaciones)); }
static public Respuesta crearTransaccion(RegistrarOperaciones_VM registrarOperaciones) { //Command para crear procedimientos SqlCommand command = connection.CreateCommand(); //Creo respuesta y asigno valores default Respuesta respuesta = new Respuesta(); respuesta.tipoRespuesta = TipoRespuesta.OK; //Creamos el log Func_Comunes.GuardarLog("Creamos una transacción"); //Creo la tasa de cambio a aplicar decimal tasaCambio = 1 / recuperarTasasCambio(registrarOperaciones.operaciones.Moneda_PK); //Calculo las monedas recibidas según la tasaCambio y el importe € decimal numMonedas = registrarOperaciones.operaciones.Importe * tasaCambio; //La fecha de creación de la transacción la establezco a hoy DateTime fechaCreacion = DateTime.Now; //Juntamos fecha y hora para crear un DateTime string fecha = registrarOperaciones.fecha; string hora = registrarOperaciones.hora; //Convertimos el string a DateTime DateTime fechaOperacion = Convert.ToDateTime(fecha + " " + hora); //Abrimos conexión y ejecutamos consulta connection.Open(); command.CommandText = "insert into dbo.Operaciones (Moneda_PK,TipoOperacion_PK,FechaOperacion,Importe,NumMonedas,FechaCreacion) " + "values (@Moneda_PK,@TipoOperacion_PK,@FechaOperacion,@Importe,@NumMonedas,@FechaCreacion);"; //Añadimos los parámetros que usará el procedimiento command.Parameters.AddWithValue("@Moneda_PK", registrarOperaciones.operaciones.Moneda_PK); command.Parameters.AddWithValue("@TipoOperacion_PK", registrarOperaciones.operaciones.TipoOperacion_PK); command.Parameters.AddWithValue("@FechaOperacion", fechaOperacion); command.Parameters.AddWithValue("@Importe", registrarOperaciones.operaciones.Importe); command.Parameters.AddWithValue("@NumMonedas", numMonedas); command.Parameters.AddWithValue("@FechaCreacion", fechaCreacion); try { command.ExecuteNonQuery(); } catch (SqlException) { connection.Close(); respuesta.tipoRespuesta = TipoRespuesta.KO; } connection.Close(); return(respuesta); }