public static List <Photo> CopyAdPhotos(List <Photo> photos, int adId) { if (!photos.Any()) { return(new List <Photo>()); } foreach (var group in photos.GroupBy(p => p.GroupId).Select(g => g.ToList()).ToList()) { var groupId = Guid.NewGuid(); foreach (var photo in group) { var oldFullPath = photo.FullPath.Replace("/", "\\"); if (!System.IO.File.Exists(oldFullPath)) { continue; } photo.AdId = adId; var directory = PhotosController.GetFileDirectoryForPhotos(photo); if (!Directory.Exists(directory)) { Directory.CreateDirectory(directory); } photo.GroupId = groupId; string fileName = String.Empty; #region Get unique fileName while (true) { string _fileName = Guid.NewGuid().ToString().Replace("-", "").Remove(10) + ".jpg"; if (!System.IO.File.Exists(directory + _fileName)) { fileName = _fileName; break; } } if (fileName == String.Empty) { LogsDAL.AddError("in PhotosController.SavePhoto(): filePathAndName = String.Empty"); //return false; } #endregion photo.FileNameWithExtension = fileName; System.IO.File.Copy(oldFullPath, photo.FullPath.Replace("/", "\\")); photo.Added = DateTime.Now.ToUniversalTime(); photo.Changed = photo.Added; PhotosDAL.AddPhoto(photo); } } return(photos); }
public static Photo SavePhoto(System.Drawing.Image photoImage, Photo photo) { var directory = GetFileDirectoryForPhotos(photo); if (!Directory.Exists(directory)) { Directory.CreateDirectory(directory); } /*Photo photo = new Photo(); * photo.UserId = userId; * //photo.ImageType = "jpeg"; * //photo.ModerateResult = moderateResult; * //photo.IsMain = setMain; * //photo.Width = photo.Width; * //photo.Height = photo.Height; * //photo.NearestWidth = nearestWidth;*/ #region Get unique fileName string fileName = String.Empty; while (true) { string _fileName = Guid.NewGuid().ToString().Replace("-", "").Remove(10) + ".jpg"; if (!System.IO.File.Exists(directory + _fileName)) { fileName = _fileName; break; } } if (fileName == String.Empty) { LogsDAL.AddError("in PhotosController.SavePhoto(): filePathAndName = String.Empty"); //return false; } #endregion SaveJPGWithCompressionSetting(photoImage, directory + fileName, 70L); photo.FileNameWithExtension = fileName; photo.Width = photoImage.Width; photo.Height = photoImage.Height; photo.Id = PhotosDAL.AddPhoto(photo); return(photo); }