コード例 #1
0
        public void CargarArchivo()
        {
            _dbContext = new Contexto().GetAplicattionContext();

            CargaArchivoController controlador = new CargaArchivoController(_dbContext);

            var fileMock = new Mock <IFormFile>();

            var content = "1\r\n3\r\n20\r\n20\r\n20";

            var fileName = "test.txt";
            var ms       = new MemoryStream();
            var writer   = new StreamWriter(ms);

            writer.Write(content);
            writer.Flush();
            ms.Position = 0;
            fileMock.Setup(_ => _.OpenReadStream()).Returns(ms);
            fileMock.Setup(_ => _.FileName).Returns(fileName);
            fileMock.Setup(_ => _.Length).Returns(ms.Length);

            CargarArchivo carga = new CargarArchivo()
            {
                Archivo = fileMock.Object, Cedula = "1234"
            };

            var respuesta = controlador.Cargar(carga);
            var actual    = respuesta as FileContentResult;

            Assert.IsNotNull(actual);
        }
コード例 #2
0
        public IActionResult Cargar([FromForm] CargarArchivo datos)
        {
            try
            {
                if (datos.Archivo.Length > 0)
                {
                    CargaArchivoNegocio carga = new CargaArchivoNegocio(_context, datos);
                    carga.CargarArchivo();

                    return(File(Encoding.UTF8.GetBytes(carga.Resultado), "text/plain", "Resultado.txt"));
                }
                else
                {
                    return(BadRequest());
                }
            }
            catch (ArgumentException e)
            {
                return(this.Content(e.Message));
            }
            catch (Exception ex)
            {
                return(StatusCode(500, $"Internal server error: {ex}"));
            }
        }
コード例 #3
0
 public CargaArchivoNegocio(ApplicationContext context, CargarArchivo data)
 {
     Context      = context;
     CargaArchivo = data;
 }