Esempio n. 1
0
        public async Task <ActionResult> Put(int id, [FromBody] EmpresaCreacionDTO empresaActualizacion)
        {
            var empresaDb = await context.Empresas.FirstOrDefaultAsync(x => x.Id == id);

            if (empresaDb == null)
            {
                return(NotFound());
            }
            empresaDb = mapper.Map(empresaActualizacion, empresaDb);
            if (empresaActualizacion.Logo != null)
            {
                using (var memoryStream = new MemoryStream()){
                    await empresaActualizacion.Logo.CopyToAsync(memoryStream);

                    var contenido = memoryStream.ToArray();
                    var extension = Path.GetExtension(empresaActualizacion.Logo.FileName);
                    empresaDb.Logo = await almacenadorArchivos.EditarArchivo(contenido, extension, contenedor, empresaDb.Logo, empresaActualizacion.Logo.ContentType);
                }
            }
            await context.SaveChangesAsync();

            return(NoContent());
        }
Esempio n. 2
0
        public async Task <ActionResult> Post([FromForm] EmpresaCreacionDTO empresaCreacion)
        {
            if (User.Identity.IsAuthenticated)
            {
                var carteraCreacion = new CarteraCreacionDTO();
                var cartera         = mapper.Map <Cartera>(carteraCreacion);
                context.Add(cartera);
                await context.SaveChangesAsync();

                var    empresa = mapper.Map <Empresa>(empresaCreacion);
                string email   = User.FindFirst(ClaimTypes.Email)?.Value;
                var    user    = await userManager.FindByEmailAsync(email);

                empresa.UsuarioId = user.Id.ToString();
                if (empresaCreacion.Logo != null)
                {
                    using (var memoryStream = new MemoryStream()){
                        await empresaCreacion.Logo.CopyToAsync(memoryStream);

                        var contenido = memoryStream.ToArray();
                        var extension = Path.GetExtension(empresaCreacion.Logo.FileName);
                        empresa.Logo = await almacenadorArchivos.GuardarArchivo(contenido, extension, contenedor, empresaCreacion.Logo.ContentType);
                    }
                }
                empresa.CarteraId = cartera.Id;
                context.Add(empresa);
                await context.SaveChangesAsync();

                var empresaDTO = mapper.Map <EmpresaDTO>(empresa);
                return(new CreatedAtRouteResult("ObtenerEmpresas", new { id = empresa.Id }, empresaDTO));
            }
            else
            {
                return(BadRequest("El inicio  de sesión expiró"));
            }
        }