示例#1
0
        /// <summary>
        /// Metodo que devuelve una cotizacion sin registrarla en las operaciones.
        /// </summary>
        /// <param name="divisa1"></param>
        /// <param name="divisa2"></param>
        /// <param name="operacion"></param>
        /// <returns></returns>
        public static Operacion Cotizar(decimal monto, Divisa divisaAOperar, TipoDeOperacion operacion)
        {
            //generamos una nueva operacion
            Operacion cotizacion = new Operacion();
            decimal   montoResultante;

            //Switch para seleccionar la operacion a cotizar
            switch (operacion)
            {
            case TipoDeOperacion.Compra:
                foreach (Divisa divisa in cotizaciones)
                {     //Buscamos la cotizacion en el listado de cotizaciones
                    if (divisaAOperar.IdDivisa == divisa.IdDivisa)
                    { //Si encontramos la divisa, realizamos la operacion
                        //Calculamos el monto a comprar segun la cotizacion de la divisa
                        montoResultante = monto / divisa.ValorCompra;
                    }
                }
                break;

            case TipoDeOperacion.Venta:

                break;

            default:
                break;
            }

            return(cotizacion);
        }
示例#2
0
        public static Divisa ObtenerDivisaPorNombre(string nombreDivisa)
        {
            Divisa        divisaARetornar = new Divisa();
            SqlConnection conexion        = new SqlConnection(Path);
            SqlCommand    comando         = new SqlCommand();

            comando.Connection  = conexion;
            comando.CommandText = $"SELECT * FROM[TP4].[dbo].[cotizaciones] WHERE [nombreDivisa] = '{nombreDivisa}'";
            try
            {
                conexion.Open();
                SqlDataReader reader = comando.ExecuteReader();

                while (reader.Read())
                {//int idDivisa, NombreDivisa divisa ,double valorCompra,double  valorVenta
                    divisaARetornar.IdDivisa    = (int)reader["idCotizacion"];
                    divisaARetornar.divisa      = SqlDataReaderExtension.ConvertirNombreDivisa(reader["nombreDivisa"].ToString());
                    divisaARetornar.ValorCompra = (decimal)reader["valorCompra"];
                    divisaARetornar.ValorVenta  = (decimal)reader["valorVenta"];
                }
            }
            catch (SqlException ex)
            {
                Console.WriteLine(ex);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
            }
            finally
            {
                conexion.Close();
            }
            return(divisaARetornar);
        }
示例#3
0
        /// <summary>
        /// Metodo que carga las cotizaciones desde un XML
        /// </summary>
        public List <Divisa> CargarCotizaciones()
        {
            List <Divisa> cotizacionesACargar = new List <Divisa>();

            if (File.Exists(ruta))
            {
                using (XmlTextReader auxReader = new XmlTextReader(ruta))
                {
                    XmlSerializer auxSerializer = new XmlSerializer(typeof(Divisa));

                    Divisa divisaARestaurar = new Divisa();
                    divisaARestaurar = (Divisa)auxSerializer.Deserialize(auxReader);
                    cotizacionesACargar.Add(divisaARestaurar);
                }
            }
            File.Delete(Ruta);

            return(cotizacionesACargar);
        }