public IHttpActionResult GetProduct() { try { var objProduct = (from p in _dbContext.Product join i in _dbContext.Image on p.ImageId equals i.ImageId select new ProductModel { Name = p.Name, description = p.Desription, Price = p.Price.ToString(), PictureData = i.Photo }).ToList(); List<ProductModel> lstProductModel = new List<ProductModel>(); foreach (ProductModel productModel in objProduct) { ProductModel objProductModel = new ProductModel(); objProductModel.Name = productModel.Name; objProductModel.description = productModel.description; objProductModel.Price = productModel.Price; objProductModel.Picture = Convert.ToBase64String(productModel.PictureData, 0, productModel.PictureData.Length); lstProductModel.Add(objProductModel); } return Ok(lstProductModel); } catch (Exception ex) { return BadRequest(ex.GetBaseException().Message); } }
public IHttpActionResult Post(ProductModel objProductModel) { try { string img = string.Empty; img = objProductModel.Picture.Replace("data:image/png;base64,", ""); img = objProductModel.Picture.Replace("data:image/jpeg;base64,", ""); img = objProductModel.Picture.Replace("data:image/tiff;base64,", ""); img = objProductModel.Picture.Replace("data:image/gif;base64,", ""); byte[] bytes = Convert.FromBase64String(img); Image image = new Image(); image.Photo = bytes; _dbContext.Image.Add(image); _dbContext.SaveChanges(); int newImageId = image.ImageId; //save product to db Product objProduct = new Product(); objProduct.Name = objProductModel.Name; objProduct.Desription = objProductModel.description; objProduct.Price = Convert.ToDouble(objProductModel.Price); objProduct.ImageId = newImageId; _dbContext.Product.Add(objProduct); _dbContext.SaveChanges(); return Ok(new { Message = "Product saved successfully.", objProduct }); } catch (Exception ex) { return BadRequest(ex.GetBaseException().Message); } }