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