public ImageInfoModel getFullImageDetails(int folderId, string linkId) { var timer = new System.Diagnostics.Stopwatch(); timer.Start(); var imageInfo = new ImageInfoModel(); try { using (var db = new OggleBoobleMySqlContext()) { //CategoryImageLink dbCategoryImageLink= db.CategoryImageLinks.Where(l=>l.ImageLinkId) CategoryFolder dbPageFolder = db.CategoryFolders.Where(f => f.Id == folderId).FirstOrDefault(); imageInfo.RootFolder = dbPageFolder.RootFolder; imageInfo.FolderPath = dbPageFolder.FolderPath; ImageFile dbImageFile = db.ImageFiles.Where(i => i.Id == linkId).FirstOrDefault(); if (dbImageFile == null) { imageInfo.Success = "no image link found"; return(imageInfo); } if (dbImageFile.FolderId != folderId) { var dbModelFolder = db.CategoryFolders.Where(f => f.Id == dbImageFile.FolderId).FirstOrDefault(); if (dbModelFolder == null) { imageInfo.Success = "no image link folderId file found"; return(imageInfo); } imageInfo.ModelFolderId = dbModelFolder.Id; imageInfo.ModelFolderName = dbModelFolder.FolderName; } imageInfo.FolderName = dbPageFolder.FolderName; imageInfo.Height = dbImageFile.Height; imageInfo.FileName = dbImageFile.FileName; imageInfo.Link = dbImageFile.Id; imageInfo.Width = dbImageFile.Width; imageInfo.Size = dbImageFile.Size; imageInfo.LastModified = dbImageFile.Acquired.ToShortDateString(); imageInfo.ExternalLink = dbImageFile.ExternalLink; imageInfo.InternalLinks = (from l in db.CategoryImageLinks join f in db.CategoryFolders on l.ImageCategoryId equals f.Id where l.ImageLinkId == linkId && l.ImageCategoryId != folderId select new { folderId = f.Id, folderName = f.FolderName }) .ToDictionary(i => i.folderId, i => i.folderName); } imageInfo.Success = "ok"; } catch (Exception ex) { imageInfo.Success = Helpers.ErrorDetails(ex); } timer.Stop(); System.Diagnostics.Debug.WriteLine("GetImageLinks took: " + timer.Elapsed); return(imageInfo); }
public void GetImageInfo_ByName_ReturnsInfo() { var fileName = "Image1.jpg"; File.Copy(Path.Combine(_testData, fileName), Path.Combine(_rootPath, "Images", fileName)); var expected = new ImageInfoModel { Height = 256, Width = 256 }; var actual = _service.GetImageInfo(fileName); Assert.Equal(expected.Width, actual.Width); Assert.Equal(expected.Height, actual.Height); }
private void FileBrowseGrid_SelectionChanged(object sender, SelectionChangedEventArgs e) { ImageInfoModel imageModel = FileBrowseGrid.SelectedItem as ImageInfoModel; if (imageModel == null) { return; } ImagePath = imageModel.ImagePath; m_PreviewImageModel.ImgInfoModel = imageModel; m_ResultViewModel.ClearResultGrid(); }
/// <summary> /// 得到一个对象实体 /// </summary> public ImageInfoModel GetModel(string ImgId, string ImgType) { StringBuilder strSql = new StringBuilder(); strSql.Append("select ImgId, ImgType, ImgUrl, IsBind, CreateTime, CreateUser "); strSql.Append(" from CORE.dbo.ImageInfo "); strSql.Append(" where ImgId=@ImgId and ImgType=@ImgType "); SqlParameter[] parameters = { new SqlParameter("@ImgId", SqlDbType.VarChar, 50), new SqlParameter("@ImgType", SqlDbType.VarChar, 10) }; parameters[0].Value = ImgId; parameters[1].Value = ImgType; ImageInfoModel model = new ImageInfoModel(); DataSet ds = helper.ExecSqlReDs(strSql.ToString(), parameters); if (ds.Tables[0].Rows.Count > 0) { model.ImgId = ds.Tables[0].Rows[0]["ImgId"].ToString(); model.ImgType = ds.Tables[0].Rows[0]["ImgType"].ToString(); model.ImgUrl = ds.Tables[0].Rows[0]["ImgUrl"].ToString(); if (ds.Tables[0].Rows[0]["IsBind"].ToString() != "") { if ((ds.Tables[0].Rows[0]["IsBind"].ToString() == "1") || (ds.Tables[0].Rows[0]["IsBind"].ToString().ToLower() == "true")) { model.IsBind = true; } else { model.IsBind = false; } } if (ds.Tables[0].Rows[0]["CreateTime"].ToString() != "") { model.CreateTime = DateTime.Parse(ds.Tables[0].Rows[0]["CreateTime"].ToString()); } model.CreateUser = ds.Tables[0].Rows[0]["CreateUser"].ToString(); return(model); } else { return(model); } }
/// <summary> /// Gets the image info from website. /// </summary> /// <returns>The image info of website.</returns> /// <param name="document">Document is content of website</param> private ImageInfoModel GetImageInfoFrom(HtmlDocument document) { ImageInfoModel imageInfo = null; var metaTags = document.DocumentNode.SelectNodes("//meta"); var mImage = metaTags.FirstOrDefault((tag) => { return(tag?.Attributes["itemprop"]?.Value == "image"); }); if (mImage == null) { mImage = metaTags.FirstOrDefault((tag) => { return(tag?.Attributes["proprty"]?.Value == "twitter:image" || tag?.Attributes["proprty"]?.Value == "og:image"); }); } if (mImage != null && !string.IsNullOrEmpty(mImage.Attributes["content"].Value)) { imageInfo = new ImageInfoModel(mImage.Attributes["content"].Value); } // If there isn't any meta tag for image, try to get fav icon of website page. var otherTags = document.DocumentNode.SelectNodes("//link"); if (otherTags != null) { var favIcon = otherTags.FirstOrDefault((tag) => tag?.Attributes["rel"]?.Value?.ToLower() == "icon"); if (favIcon != null) { var tagProperty = favIcon?.Attributes["href"]; if (imageInfo == null) { imageInfo = new Models.ImageInfoModel(tagProperty?.Value); } else { imageInfo.ImgUrl = tagProperty.Value; } } } return(imageInfo); }
/// <summary> /// 更新一条数据 /// </summary> public bool Update(ImageInfoModel model) { bool reValue = true; int reCount = 0; StringBuilder strSql = new StringBuilder(); strSql.Append("update CORE.dbo.ImageInfo set "); strSql.Append(" ImgId = @ImgId , "); strSql.Append(" ImgType = @ImgType , "); strSql.Append(" ImgUrl = @ImgUrl , "); strSql.Append(" IsBind = @IsBind , "); strSql.Append(" CreateTime = @CreateTime , "); strSql.Append(" CreateUser = @CreateUser "); strSql.Append(" where ImgId=@ImgId and ImgType=@ImgType "); SqlParameter[] parameters = { new SqlParameter("@ImgId", SqlDbType.VarChar, 50), new SqlParameter("@ImgType", SqlDbType.VarChar, 10), new SqlParameter("@ImgUrl", SqlDbType.VarChar, 200), new SqlParameter("@IsBind", SqlDbType.Bit, 1), new SqlParameter("@CreateTime", SqlDbType.DateTime), new SqlParameter("@CreateUser", SqlDbType.VarChar, 50) }; parameters[0].Value = model.ImgId; parameters[1].Value = model.ImgType; parameters[2].Value = model.ImgUrl; parameters[3].Value = model.IsBind; parameters[4].Value = model.CreateTime; parameters[5].Value = model.CreateUser; try {//异常处理 reCount = this.helper.ExecSqlReInt(strSql.ToString(), parameters); } catch (Exception ex) { this.helper.Close(); throw ex; } if (reCount <= 0) { reValue = false; } return(reValue); }
/// <summary> /// 增加一条数据 /// </summary> public bool Add(ImageInfoModel model) { StringBuilder strSql = new StringBuilder(); strSql.Append("insert into CORE.dbo.ImageInfo ("); strSql.Append("ImgId,ImgType,ImgUrl,IsBind,CreateTime,CreateUser"); strSql.Append(") values ("); strSql.Append("@ImgId,@ImgType,@ImgUrl,@IsBind,@CreateTime,@CreateUser"); strSql.Append(") "); SqlParameter[] parameters = { new SqlParameter("@ImgId", SqlDbType.VarChar, 50), new SqlParameter("@ImgType", SqlDbType.VarChar, 10), new SqlParameter("@ImgUrl", SqlDbType.VarChar, 200), new SqlParameter("@IsBind", SqlDbType.Bit, 1), new SqlParameter("@CreateTime", SqlDbType.DateTime), new SqlParameter("@CreateUser", SqlDbType.VarChar, 50) }; parameters[0].Value = model.ImgId; parameters[1].Value = model.ImgType; parameters[2].Value = model.ImgUrl; parameters[3].Value = model.IsBind; parameters[4].Value = model.CreateTime; parameters[5].Value = model.CreateUser; bool result = false; try { helper.ExecSqlReInt(strSql.ToString(), parameters); result = true; } catch (Exception ex) { this.helper.Close(); throw ex; } finally { } return(result); }
public static ImageInfoModel NewArtList(ArtInfoParams artInfoParams) { Tk_GalleryDetailBLL tk_GalleryDetailBLL = new Tk_GalleryDetailBLL(); string json = artInfoParams.TryToJson(); List <Tk_GalleryDetail> list = tk_GalleryDetailBLL.GetPageList(new Pagination() { page = 1, rows = 1, sidx = "PeriodsNumber", sord = "desc" }, json).ToList(); ImageInfoModel rtdata = new ImageInfoModel(); if (list.Count > 0) { rtdata = new ImageInfoModel() { PeriodsNumber = list[0].PeriodsNumber }; } // rtdata = rtdata.OrderBy(s => s.GalleryNumber).ToList();//升序排序 return(rtdata); }
public HttpResponseMessage QueryArtInfo(ArtInfoParams artInfoParams) { BaseJson <ImageInfoModel> resultMsg = new BaseJson <ImageInfoModel> { Status = (int)JsonObjectStatus.Error, Message = "服务器未知错误。", Data = null }; Logger(typeof(GallerMangerApiController), artInfoParams.TryToJson(), "GallerMangerApi/QueryArtInfo链接成功", () => { if (string.IsNullOrEmpty(artInfoParams.GalleryId) && string.IsNullOrEmpty(artInfoParams.ID) && string.IsNullOrEmpty(artInfoParams.PeriodsNumber)) { resultMsg = new BaseJson <ImageInfoModel> { Status = (int)JsonObjectStatus.Fail, Data = null, Message = JsonObjectStatus.Fail.GetEnumText() + "GallerMangerApi/QueryArtInfo参数错误: ", BackUrl = null }; } ImageInfoModel data = TKApiBLL.QueryArtInfo(artInfoParams); resultMsg = new BaseJson <ImageInfoModel> { Status = (int)JsonObjectStatus.Success, Data = data, Message = JsonObjectStatus.Success.GetEnumText(), BackUrl = null }; }, e => { resultMsg = new BaseJson <ImageInfoModel> { Status = (int)JsonObjectStatus.Exception, Data = null, Message = JsonObjectStatus.Exception.GetEnumText() + ",异常信息:" + e.Message, BackUrl = null }; }); return(resultMsg.TryToJson().ToHttpResponseMessage()); }
/// <summary> /// 查询图谜实体 /// </summary> /// <param name="artInfoParams"></param> /// <returns></returns> public static ImageInfoModel QueryArtInfo(ArtInfoParams artInfoParams) { Tk_GalleryDetailBLL tk_GalleryDetailBLL = new Tk_GalleryDetailBLL(); string json = artInfoParams.TryToJson(); List <Tk_GalleryDetail> list = tk_GalleryDetailBLL.GetPageList(new Pagination() { page = 1, rows = 1, sidx = "PeriodsNumber", sord = "desc" }, json).ToList(); ImageInfoModel rtdata = new ImageInfoModel(); if (list.Count > 0) { rtdata = new ImageInfoModel() { galleryId = list[0].GalleryId, SortCode = list[0].SortCode.Value, ID = list[0].ID, ImageUrl = list[0].ImageUrl, PeriodsNumber = list[0].PeriodsNumber }; } return(rtdata); }
public ImageInfoModel GetLimitedImageDetail(int folderId, string linkId) { //var timer = new System.Diagnostics.Stopwatch(); //timer.Start(); var imageInfo = new ImageInfoModel(); try { using (var db = new OggleBoobleMySqlContext()) { var dbPageFolder = db.CategoryFolders.Where(f => f.Id == folderId).FirstOrDefault(); imageInfo.FolderName = dbPageFolder.FolderName; imageInfo.FolderType = dbPageFolder.FolderType; var dbImageFile = db.ImageFiles.Where(i => i.Id == linkId).FirstOrDefault(); if (dbImageFile == null) { imageInfo.Success = "no image link found"; return(imageInfo); } if (dbImageFile.FolderId != folderId) { var dbModelFolder = db.CategoryFolders.Where(f => f.Id == dbImageFile.FolderId).FirstOrDefault(); if (dbModelFolder == null) { imageInfo.Success = "no image link folderId file found"; return(imageInfo); } imageInfo.ModelFolderId = dbModelFolder.Id; imageInfo.ModelFolderName = dbModelFolder.FolderName; } } imageInfo.Success = "ok"; } catch (Exception ex) { imageInfo.Success = Helpers.ErrorDetails(ex); } //timer.Stop(); //System.Diagnostics.Debug.WriteLine("GetImageLinks took: " + timer.Elapsed); return(imageInfo); }