コード例 #1
0
        public ProductModel SaveThis()
        {
            //Validation
            if (Name == string.Empty)
            {
                return(null);
            }
            //Save
            DataTable dt = this.Save(this.FillMe());

            this.Id = Convert.ToInt32(dt.Rows[0][0].ToString());
            if (Images != null)
            {
                if (Images[0] != null)
                {
                    foreach (string[] im in Images)
                    {
                        ImageModel NewImage = new ImageModel()
                        {
                            Name  = im[0].ToString(),
                            Type  = im[1].ToString(),
                            Image = im[2].ToString()
                        };
                        NewImage = NewImage.SaveThis();
                        ProductImageModel ProductImage = new ProductImageModel()
                        {
                            Product = Id,
                            Image   = NewImage.Id
                        };
                        ProductImage = ProductImage.SaveThis();
                    }
                }
            }
            return(this);
        }
コード例 #2
0
        public BitmapImage GetImageFromDb()
        {
            List <ImageModel> ImagesList = new List <ImageModel>();
            ProductImageModel pim        = new ProductImageModel();

            ImagesList = pim.ImagesOfProduct(Id);
            if (ImagesList.Count > 0)
            {
                byte[]       blob   = ImagesList[0].Base64ToByteArr(ImagesList[0].Image);
                MemoryStream stream = new MemoryStream();
                stream.Write(blob, 0, blob.Length);
                stream.Position = 0;

                System.Drawing.Image img = System.Drawing.Image.FromStream(stream);
                BitmapImage          bi  = new BitmapImage();
                bi.BeginInit();

                MemoryStream ms = new MemoryStream();
                img.Save(ms, System.Drawing.Imaging.ImageFormat.Bmp);
                ms.Seek(0, SeekOrigin.Begin);
                bi.StreamSource = ms;
                bi.EndInit();
                return(bi);
            }
            return(null);
        }
コード例 #3
0
        private ImageModel GetImageModelFromDb()
        {
            List <ImageModel> ImagesList = new List <ImageModel>();
            ProductImageModel pim        = new ProductImageModel();

            ImagesList = pim.ImagesOfProduct(Id);
            if (ImagesList.Count > 0)
            {
                return(ImagesList[0]);
            }
            return(null);
        }
コード例 #4
0
 private void UpdateImage()
 {
     if (this.CheckAChange("Image"))
     {
         // Get Image If exists
         ImageModel MyImage = this.GetImageModelFromDb();
         if (MyImage == null)
         {
             // We don't have an old Image => create new Image
             foreach (string[] im in Images)
             {
                 ImageModel NewImage = new ImageModel()
                 {
                     Name  = im[0].ToString(),
                     Type  = im[1].ToString(),
                     Image = im[2].ToString()
                 };
                 NewImage = NewImage.SaveThis();
                 ProductImageModel ProductImage = new ProductImageModel()
                 {
                     Product = Id,
                     Image   = NewImage.Id
                 };
                 ProductImage = ProductImage.SaveThis();
             }
         }
         else
         {
             // We have an old Image
             if (Images == null || Images.Count == 0)
             {
                 // Delete old Image and ProductImage row
                 ProductImageModel prod_img = new ProductImageModel();
                 prod_img = prod_img.FillMeByImageId(MyImage.Id);
                 prod_img.Delete();
                 MyImage.Delete();
             }
             else
             {
                 // Update new Image
                 foreach (string[] im in Images)
                 {
                     MyImage.Name  = im[0].ToString();
                     MyImage.Type  = im[1].ToString();
                     MyImage.Image = im[2].ToString();
                 }
                 MyImage = MyImage.UpdateThis();
             }
         }
     }
 }