public void SaveProductImageData(Product product, UploadIamge uploadIamge, string fileName) { if (product == null) { return; } //seq == 1 表示為主圖 if (uploadIamge.Seq == "01") { var image = product.ProductPictures.FirstOrDefault( a => a.IsMainPicture == true && a.ProductPictureType == (int)uploadIamge.PictureType); if (image != null) { image.ImageUrl = fileName; image.ModifiedOn = DateTime.UtcNow; image.ModifiedBy = 1; } else { image = this.GetProductPictureInstance(product.Id, fileName, true, (int)uploadIamge.PictureType); this.db.ProductPictures.Add(image); } } else { var image = product.ProductPictures.FirstOrDefault( a => a.IsMainPicture == false && a.ImageUrl == fileName && a.ProductPictureType == (int)uploadIamge.PictureType); if (image != null) { image.ImageUrl = fileName; image.ModifiedOn = DateTime.UtcNow; image.ModifiedBy = 1; } else { image = this.GetProductPictureInstance(product.Id, fileName, false, (int)uploadIamge.PictureType); this.db.ProductPictures.Add(image); } } this.db.SaveChanges(); }
private bool TryGetImageName(string fileName, out UploadIamge uploadIamge) { uploadIamge = new UploadIamge(); var imageNames = fileName.Split(new[] { "_" }, StringSplitOptions.RemoveEmptyEntries); if (imageNames.Length != 3) { return false; } uploadIamge = new UploadIamge { ItemCode = imageNames[0] }; if (imageNames[1] == "M") { uploadIamge.PictureType = ProductPictureType.Product; uploadIamge.BlobPath = "product-product"; } else { uploadIamge.PictureType = ProductPictureType.Sale; uploadIamge.BlobPath = "product-sale"; } var tempSeq = imageNames[2].Split(new[] { "." }, StringSplitOptions.RemoveEmptyEntries); uploadIamge.Seq = tempSeq[0]; return true; }