public ActionResult <Menu> CreateMenuItem(int id, [FromForm] EditMenuDto dto) { var menu = new Menu { RestaurantId = id, CategoryId = dto.CategoryId, Description = dto.Description, Name = dto.Name, Price = dto.Price, }; if (dto.Image != null) { var fileName = Path.GetFileName(dto.Image.FileName); var poster = new Poster { FileExtension = Path.GetExtension(fileName), Name = dto.Image.FileName, ContentType = dto.Image.ContentType, Size = dto.Image.Length }; using (var memoryStream = new MemoryStream()) { dto.Image.CopyTo(memoryStream); poster.BinaryData = memoryStream.ToArray(); } menu.Poster = poster; } _context.Menus.Add(menu); _context.SaveChanges(); return(GetMenuItem(menu.Id)); }
public ActionResult <Menu> EditMenuItem(int menuId, [FromForm] EditMenuDto dto) { var menu = _context.Menus .Include(x => x.Poster) .SingleOrDefault(x => x.Id == menuId); if (menu == null) { return(NotFound()); } menu.CategoryId = dto.CategoryId; menu.Description = dto.Description; menu.Name = dto.Name; menu.Price = dto.Price; if (dto.Image != null) { if (menu.Poster == null) { menu.Poster = new Poster(); } var fileName = Path.GetFileName(dto.Image.FileName); menu.Poster.FileExtension = Path.GetExtension(fileName); menu.Poster.Name = dto.Image.FileName; menu.Poster.ContentType = dto.Image.ContentType; menu.Poster.Size = dto.Image.Length; using (var memoryStream = new MemoryStream()) { dto.Image.CopyTo(memoryStream); menu.Poster.BinaryData = memoryStream.ToArray(); } } _context.SaveChanges(); return(GetMenuItem(menu.Id)); }