public async Task <IActionResult> Add(SpaceshipViewModel model) { var dto = new SpaceshipDto { Id = model.Id, CrewSize = model.CrewSize, Armament = model.Armament, Role = model.Role, CreatedAt = model.CreatedAt, ModifiedAt = model.ModifiedAt, Files = model.Files, Image = model.Image.Select(x => new FileToDatabaseDto { Id = x.ImageId, ImageData = x.ImageData, ImageTitle = x.ImageTitle, SpaceshipId = x.SpaceshipId }).ToArray() }; var result = await _spaceshipService.Add(dto); if (result == null) { return(RedirectToAction(nameof(Index))); } return(RedirectToAction("index", model)); }
public async Task <Spaceship> Update(SpaceshipDto dto) { Spaceship spaceship = new Spaceship(); FileToDatabase file = new FileToDatabase(); spaceship.Id = dto.Id; spaceship.CrewSize = dto.CrewSize; spaceship.Armament = dto.Armament; spaceship.Role = dto.Role; spaceship.CreatedAt = dto.CreatedAt; spaceship.ModifiedAt = DateTime.Now; if (dto.Files != null) { file.ImageData = UploadFile(dto, spaceship); } _context.Spaceship.Update(spaceship); await _context.SaveChangesAsync(); return(spaceship); }
public byte[] UploadFile(SpaceshipDto dto, Spaceship spaceship) { if (dto.Files != null && dto.Files.Count > 0) { foreach (var photo in dto.Files) { using (var target = new MemoryStream()) { FileToDatabase objfiles = new FileToDatabase { Id = Guid.NewGuid(), ImageTitle = photo.FileName, SpaceshipId = spaceship.Id }; photo.CopyTo(target); objfiles.ImageData = target.ToArray(); _context.FileToDatabase.Add(objfiles); } } } return(null); }