public static void Backup(Image img) { Image newImage = null; string newUrl = File.PreventNameClash(img.GetFileURL()).Replace(Site.MapPath("~/").Replace(@"\", "/"), "~/"); string newName = File.GetFileName(newUrl).Split('.').FirstOrDefault(); newImage = GetImage(img.Name); if (newImage != null) { newImage.GetResizes().ForEach((imgT) => { Backup(imgT); }); newImage.Active = false; newImage.BackupOf = newImage.ID + 0; newImage.ID = 0; newImage.Name = newName; newImage.URL = newImage.GetURL(); System.IO.File.Copy(Site.MapPath(img.GetFileURL()), Site.MapPath(newUrl)); System.IO.File.Copy(Site.MapPath(img.GetThumbUrl()), Site.MapPath(newImage.GetThumbUrl())); using (ImgRDataContext db = new ImgRDataContext()) { var query = (from pp in db.tbl_Images where pp.Name.Equals(img.Name) select pp).FirstOrDefault(); if (query != null) { query.Name = newImage.Name; query.URL = newImage.URL; query.BackupOf = img.ID; query.Active = false; } db.SubmitChanges(); } } }
public static void Edit(Device dv) { if (Exists(dv)) { using (ImgRDataContext db = new ImgRDataContext()) { var query = (from pp in db.tbl_ImageDevices where pp.ID.Equals(dv.ID) || pp.ShortName.Equals(dv.ShortName) select pp).FirstOrDefault(); if (query != null) { query.Width = dv.Width; query.Height = dv.Height; query.UserAgent = dv.UserAgent; query.Orientation = Convert.ToInt32(dv.Orientation); query.Name = dv.Name; query.IsDefault = dv.IsDefault; if (query.IsDefault) { removeAllDefault(); } } db.SubmitChanges(); } for (int i = 0; i < Devices.Count; i++) { var device = Devices[i]; if (device.ID == dv.ID || device.ShortName.Equals(dv.ShortName)) { device = Map(dv.Map()); } } } }
public static List <string> GetCategories() { using (ImgRDataContext db = new ImgRDataContext()) { return((from pp in db.tbl_Images select pp.Category).Distinct().OrderBy((str) => str).ToList()); } }
private static bool NameExists(string name) { using (ImgRDataContext db = new ImgRDataContext()) { return((from pp in db.tbl_Images where pp.Name.Equals(name) select pp.Name).Count() > 0); } }
public static bool Exists(Device dv) { using (ImgRDataContext db = new ImgRDataContext()) { return((from pp in db.tbl_ImageDevices where pp.ID.Equals(dv.ID) || pp.ShortName.Equals(dv.ShortName) || pp.Height.Equals(dv.Height) && pp.Width.Equals(dv.Width) select pp).Count() > 0 || (from pp in Devices where pp.Height.Equals(dv.Height) && pp.Width.Equals(dv.Width) select pp).Count() > 0); } }
private static long AddToDatabase(Image img) { using (ImgRDataContext db = new ImgRDataContext()) { db.tbl_Images.InsertOnSubmit(Image.Map(img)); db.SubmitChanges(); } return(GetImage(img.Name).ID); }
public static void Add(Image img) { img.Name = CreateImageName(); img.Extension = "jpg"; bool willReplaceExistingImage = false; Image newImage = null; img.URL = img.GetFileURL(); if (img.Data != null) { //save the image if (System.IO.File.Exists(Site.MapPath(img.URL))) { // create and save a backup of the original image if exists willReplaceExistingImage = true; string newUrl = File.PreventNameClash(img.URL).Replace(Site.MapPath("~/"), "~/"); string newName = File.GetFileName(newUrl).Split('.').FirstOrDefault(); System.IO.File.Copy(Site.MapPath(img.URL), Site.MapPath(newUrl)); newImage = GetImage(img.Name); if (newImage != null) { newImage.Active = false; newImage.BackupOf = newImage.ID + 0; newImage.ID = 0; newImage.Name = newName; newImage.URL = newUrl; } } img.Data.ToBitmap().Save(Site.MapPath(img.URL), GetImageFormat(img.Extension)); if (img.Data != null) { img.Data.ToBitmap().Scale(160).Save(Site.MapPath(img.GetThumbUrl()), GetImageFormat(img.Extension)); } img.CreationTime = DateTime.Now; img.ID = AddToDatabase(img); if (img.ResizeForDevices) { img.SaveTransforms(); } if (willReplaceExistingImage) { using (ImgRDataContext db = new ImgRDataContext()) { var query = (from pp in db.tbl_Images where pp.Name.Equals(img.Name) select pp).FirstOrDefault(); if (query != null) { query.Name = newImage.Name; query.URL = newImage.URL; query.BackupOf = img.ID; query.Active = false; } db.SubmitChanges(); } } } }
public static IEnumerable <Image> GetImages(bool onlyActive = true, int ownerType = 0, long ownerID = 0) { using (ImgRDataContext db = new ImgRDataContext()) { foreach (tbl_Image img in (from pp in db.tbl_Images where (!onlyActive || (Convert.ToBoolean(pp.Active) == true)) && (ownerType.Equals(0) || pp.OwnerType == Convert.ToInt32(ownerType)) && (ownerID.Equals(0) || Convert.ToInt64(pp.OwnerID) == ownerID) select pp).ToList()) { yield return((new Image()).Map(img)); } } }
public List <Image> GetResizes() { List <Image> ret = new List <Image>(); using (ImgRDataContext db = new ImgRDataContext()) { var query = (from pp in db.tbl_Images where pp.ResizeOf.Equals(this.ID) select pp).ToList(); return(query.Select(img => (new Image()).Map(img)).ToList()); } }
public static IEnumerable <Image> GetImagesByCategory(string category, bool onlyActive = true) { using (ImgRDataContext db = new ImgRDataContext()) { foreach (tbl_Image img in (from pp in db.tbl_Images where pp.Category.Equals(category) && (!onlyActive || (Convert.ToBoolean(pp.Active) == true)) select pp)) { Image ret = (new Image()).Map(img); yield return(ret); } } }
public static List <Device> Load() { if (Devices == null || (Devices.Count == 0)) { using (ImgRDataContext db = new ImgRDataContext()) { Devices = db.tbl_ImageDevices.ToList().Select((device) => Map(device)).ToList(); return(Devices); } } return(Devices); }
public static void Add(Device dv) { if (!Exists(dv)) { using (ImgRDataContext db = new ImgRDataContext()) { db.tbl_ImageDevices.InsertOnSubmit(dv.Map()); db.SubmitChanges(); Devices.Add(dv); } } }
public static List <Device> Load(bool forceRefresh = false) { if (Devices == null || (Devices.Count == 0) || forceRefresh) { using (ImgRDataContext db = new ImgRDataContext()) { Devices = (from pp in db.tbl_ImageDevices where (Convert.ToBoolean(pp.Active) == true) select pp).ToList().Select((device) => Map(device)).ToList(); return(Devices); } } return(Devices); }
private static void removeAllDefault() { Devices.ForEach((device) => device.IsDefault = false); using (ImgRDataContext db = new ImgRDataContext()) { var query = (from pp in db.tbl_ImageDevices select pp); foreach (var device in query) { device.IsDefault = false; } db.SubmitChanges(); } }
public static IEnumerable <Image> GetImagesByCategory(string category, bool onlyActive = true, int ownerType = 0, long ownerID = 0, int startIndex = 0) { using (ImgRDataContext db = new ImgRDataContext()) { foreach (tbl_Image img in (from pp in db.tbl_Images where pp.Category.Equals(category) && (!onlyActive || (Convert.ToBoolean(pp.Active) == true)) && (ownerType.Equals(0) || pp.OwnerType == Convert.ToInt32(ownerType)) && (ownerID.Equals(0) || Convert.ToInt64(pp.OwnerID) == ownerID) select pp).Skip(startIndex).Take(60).ToList()) { Image ret = (new Image()).Map(img); yield return(ret); } } }
public static Image GetImage(long ID) { Image ret = new Image(); using (ImgRDataContext db = new ImgRDataContext()) { var query = (from pp in db.tbl_Images where pp.ID.Equals(ID) select pp).ToList().LastOrDefault(); if (query != null) { return(ret.Map(query)); } } return(null); }
public static void Edit(Image img) { if (img.Data != null) { var oldImg = GetImage(img.Name); bool doOldImgResize = oldImg.GetResizes().Count > 0; Backup(img); img.ID = 0; long newImgID = AddToDatabase(img); img.Data.ToBitmap().Save(Site.MapPath(img.GetRootUrl() + img.Name + "." + img.Extension), GetImageFormat(img.Extension)); img.Data.ToBitmap().Scale(160).Save(Site.MapPath(img.GetThumbUrl()), GetImageFormat(img.Extension)); if (doOldImgResize) { img.ID = newImgID; img.SaveTransforms(); } } else { using (ImgRDataContext db = new ImgRDataContext()) { var query = (from pp in db.tbl_Images where pp.ID.Equals(img.ID) || pp.Name.Equals(img.Name) select pp).FirstOrDefault(); if (query != null) { query.Title = img.Title; query.Category = img.Category; query.Description = img.Description; if (img.Data != null) { Bitmap bmp = img.Data.ToBitmap(); query.Width = bmp.Width; query.Height = bmp.Height; } db.SubmitChanges(); } } } }