public ActionResult prueba(Informe_VM informe_VM)
        {
            int moneda_pk       = informe_VM.operaciones.Moneda_PK;
            int fechaMovimiento = informe_VM.movimientoSemana;

            Thread.Sleep(1500);

            //Creamos una lista que rellenaremos
            List <Moneda> listaMonedas = new List <Moneda>();

            Func_Monedas.recuperarListaMonedas(listaMonedas);
            informe_VM.listaMonedas = listaMonedas;

            //Creamos una lista que rellenaremos y asignaremos al ViewModel
            List <TiposOperaciones> listaTiposOperaciones = new List <TiposOperaciones>();

            Func_Monedas.recuperarListaTiposOperaciones(listaTiposOperaciones);
            informe_VM.listaTipoOperacion = listaTiposOperaciones;

            //Rellenamos la lista de operaciones en el ViewModel
            List <Operaciones> listaOperaciones = new List <Operaciones>();

            Func_Monedas.recuperarListaOperaciones(listaOperaciones, moneda_pk, fechaMovimiento);
            informe_VM.listaOperaciones = listaOperaciones;

            return(PartialView("_resultados", informe_VM));
        }
        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(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 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));
        }
        // GET: Informe
        public ActionResult Index()
        {
            //Creamos el ViewModel para rellenar los datos
            Informe_VM informe_VM = new Informe_VM();

            //Creamos una lista que rellenaremos
            List <Moneda> listaMonedas = new List <Moneda>();
            Respuesta     respuesta    = Func_Monedas.recuperarListaMonedas(listaMonedas);

            //Asignamos la lista al ViewModel
            informe_VM.listaMonedas = listaMonedas;

            //Creamos una lista que rellenaremos y asignaremos al ViewModel
            List <TiposOperaciones> listaTiposOperaciones = new List <TiposOperaciones>();

            respuesta = Func_Monedas.recuperarListaTiposOperaciones(listaTiposOperaciones);
            informe_VM.listaTipoOperacion = listaTiposOperaciones;

            //Rellenamos la lista de operaciones en el ViewModel
            List <Operaciones> listaOperaciones = new List <Operaciones>();

            respuesta = Func_Monedas.recuperarListaOperaciones(listaOperaciones);
            informe_VM.listaOperaciones = listaOperaciones;

            List <SelectListItem> listaMovimientos = new List <SelectListItem>();

            respuesta = Func_Monedas.recuperarListaMovimientos(listaMovimientos);
            informe_VM.listaMovimientos = listaMovimientos;

            if (respuesta.tipoRespuesta != TipoRespuesta.OK)
            {
                return(View("Error"));
            }

            //Enviamos el ViewModel a la vista con los datos necesarios
            return(View(informe_VM));
        }
        public ActionResult Index(Informe_VM informe_VM)
        {
            int moneda_pk       = informe_VM.operaciones.Moneda_PK;
            int fechaMovimiento = informe_VM.movimientoSemana;

            //Creamos una lista que rellenaremos
            List <Moneda> listaMonedas = new List <Moneda>();
            Respuesta     respuesta    = Func_Monedas.recuperarListaMonedas(listaMonedas);

            //Asignamos la lista al ViewModel
            informe_VM.listaMonedas = listaMonedas;

            //Creamos una lista que rellenaremos y asignaremos al ViewModel
            List <TiposOperaciones> listaTiposOperaciones = new List <TiposOperaciones>();

            respuesta = Func_Monedas.recuperarListaTiposOperaciones(listaTiposOperaciones);
            informe_VM.listaTipoOperacion = listaTiposOperaciones;

            //Rellenamos la lista de operaciones en el ViewModel
            List <Operaciones> listaOperaciones = new List <Operaciones>();

            respuesta = Func_Monedas.recuperarListaOperaciones(listaOperaciones, moneda_pk, fechaMovimiento);
            informe_VM.listaOperaciones = listaOperaciones;

            List <SelectListItem> listaMovimientos = new List <SelectListItem>();

            respuesta = Func_Monedas.recuperarListaMovimientos(listaMovimientos);
            informe_VM.listaMovimientos = listaMovimientos;

            string    boton = Request.Form["btn"];
            DataTable datos = new DataTable();

            if (boton == "Exportar")
            {
                Func_Monedas.recuperarDatosExcel(datos, moneda_pk, fechaMovimiento);

                using (ExcelPackage excel = new ExcelPackage())
                {
                    //Creamos una hoja
                    ExcelWorksheet worksheet = excel.Workbook.Worksheets.Add("Hoja 1");

                    //Cargamos la lista en la hoja de excel
                    worksheet.Cells["A1"].LoadFromDataTable(datos, true);

                    //Creamos un rango
                    //Parámetros: 1a fila, 1a columna, última fila, última columna
                    ExcelRange range = worksheet.Cells[1, 1, worksheet.Dimension.End.Row, worksheet.Dimension.End.Column];

                    //Añadimos una tabla con el rango
                    ExcelTable tab = worksheet.Tables.Add(range, "tabla");

                    //Formateamos la tabla
                    tab.TableStyle = TableStyles.Medium2;

                    //Le damos espacio entre columnas
                    worksheet.Cells.AutoFitColumns();

                    //Creo un memorystream
                    using (var memoryStream = new MemoryStream())
                    {
                        //Tipo de contenido del stream. XMLS en este caso
                        Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
                        //Cabezera del archivo
                        Response.AddHeader("content-disposition", "attachment; filename= informe.xlsx");
                        //Guardamos el documento como memory stream
                        excel.SaveAs(memoryStream);
                        //Escribimos el stream en la respuesta del navegador
                        memoryStream.WriteTo(Response.OutputStream);
                        //Vaciamos y eliminamos la respuesta por seguridad
                        Response.Flush();
                        Response.End();
                    }
                }

                if (respuesta.tipoRespuesta != TipoRespuesta.OK)
                {
                    return(View("Error"));
                }
            }
            //return View("_resultados");
            return(View(informe_VM));
        }