Example #1
0
        public IActionResult PostUpLoadPhoto([FromBody] UploadImgModel uploadImgModel)
        {
            var auth      = HttpContext.AuthenticateAsync();
            var userIdstr = auth.Result.Principal.Claims.First(t => t.Type.Equals(ClaimTypes.NameIdentifier))?.Value;

            if (!uint.TryParse(userIdstr, out uint userId))
            {
                return(BadRequest(new { messager = "权限查找失败,ID解析失败=" + userId }));
            }
            if (uploadImgModel.File == null || uploadImgModel.File.Length <= 0)
            {
                return(BadRequest(new { messager = "收到的文件为空" }));
            }

            byte[] fileBytes = Convert.FromBase64String(uploadImgModel.File);


            var result = PhotoManager.Instance.UploadNewPhoto(fileBytes, uploadImgModel.PhotoAlbumId, userId, uploadImgModel.Name);

            if (result == "")
            {
                var            user       = UserInfoManager.Instance.GetUserInfo(userId);
                var            albumInfo  = PhotoManager.Instance.GetPhotoAlbumdata(uploadImgModel.PhotoAlbumId);
                AlbumInfoModel albumInfo2 = new AlbumInfoModel(albumInfo, user != null ? user.Username : "");
                return(Ok(new { message = "ok", data = albumInfo2 }));
            }
            else
            {
                return(BadRequest(new { message = result }));
            }
        }
Example #2
0
        private static List <AlbumInfoModel> GetAllAlbumInfoModels()
        {
            List <AlbumInfoModel> infos = new List <AlbumInfoModel>();

            for (int i = 0; i < PhotoManager.Instance.PhotoAlbumDatas.Count; i++)
            {
                var temp = PhotoManager.Instance.PhotoAlbumDatas[i];
                var user = UserInfoManager.Instance.GetUserInfo(temp.CreaterId);

                AlbumInfoModel albumInfo = new AlbumInfoModel(temp, user != null ? user.Username : "");

                infos.Add(albumInfo);
            }
            return(infos);
        }
Example #3
0
        public AlbumInfoModel GetQucikHeader(int folderId)
        {
            var albumInfo = new AlbumInfoModel();

            try
            {
                using (var db = new OggleBoobleMySqlContext())
                {
                    CategoryFolder dbCategoryFolder = db.CategoryFolders.Where(f => f.Id == folderId).First();
                    albumInfo.RootFolder = dbCategoryFolder.RootFolder;
                    albumInfo.FolderName = dbCategoryFolder.FolderName;
                    albumInfo.FolderType = dbCategoryFolder.FolderType;
                }
                albumInfo.Success = "ok";
            }
            catch (Exception ex)
            {
                albumInfo.Success = Helpers.ErrorDetails(ex);
            }
            return(albumInfo);
        }
Example #4
0
        public AlbumInfoModel GetAlbumPageInfo(int folderId, string visitorId)
        {
            var albumInfo = new AlbumInfoModel();

            try
            {
                using (var db = new OggleBoobleMySqlContext())
                {
                    CategoryFolder dbCategoryFolder = db.CategoryFolders.Where(f => f.Id == folderId).First();
                    albumInfo.RootFolder      = dbCategoryFolder.RootFolder;
                    albumInfo.FolderName      = dbCategoryFolder.FolderName;
                    albumInfo.FolderType      = dbCategoryFolder.FolderType;
                    albumInfo.FileCount       = dbCategoryFolder.Files;
                    albumInfo.FolderCount     = dbCategoryFolder.SubFolders;
                    albumInfo.TotalChildFiles = dbCategoryFolder.TotalChildFiles;
                    albumInfo.TotalSubFolders = dbCategoryFolder.TotalSubFolders;
                    //albumInfo.FileCount = db.CategoryImageLinks.Where(l => l.ImageCategoryId == folderId).Count();
                    //albumInfo.FolderCount = db.CategoryFolders.Where(f => f.Parent == folderId).Count();
                    albumInfo.UserPageHits = db.PageHits.Where(h => h.VisitorId == visitorId).Count();


                    int curFileCount = db.CategoryImageLinks.Where(l => l.ImageCategoryId == folderId).Count();
                    if (albumInfo.FileCount != curFileCount)
                    {
                        dbCategoryFolder.Files = curFileCount;
                        albumInfo.FileCount    = curFileCount;
                        db.SaveChanges();
                    }

                    #region 1. trackbackLinks
                    var trackbackLinks = db.TrackbackLinks.Where(t => t.PageId == folderId).ToList();
                    foreach (TrackbackLink trackbackLink in trackbackLinks)
                    {
                        if (trackbackLink.LinkStatus == "ok")
                        {
                            albumInfo.TrackBackItems.Add(new TrackbackLink()
                            {
                                SiteCode   = trackbackLink.SiteCode,
                                Href       = trackbackLink.Href,
                                LinkStatus = trackbackLink.LinkStatus
                            });
                        }
                    }
                    var dbFolderDetails = db.FolderDetails.Where(d => d.FolderId == folderId).FirstOrDefault();
                    if (dbFolderDetails != null)
                    {
                        albumInfo.FolderComments = dbFolderDetails.FolderComments;
                        albumInfo.StaticFile     = dbFolderDetails.StaticFile;
                        if (dbFolderDetails.StaticFileUpdate != null)
                        {
                            albumInfo.StaticFileUpdate = dbFolderDetails.StaticFileUpdate.Value.ToShortDateString();
                        }
                    }
                    #endregion

                    #region 2. BreadCrumbs
                    //CategoryFolder thisFolder = db.CategoryFolders.Where(f => f.Id == folderId).First();
                    //albumInfo.BreadCrumbs.Add(new BreadCrumbItemModel()
                    //{
                    //    FolderId = thisFolder.Id,
                    //    FolderName = thisFolder.FolderName,
                    //    ParentId = thisFolder.Parent,
                    //    IsInitialFolder = true
                    //});
                    //var parent = thisFolder.Parent;
                    //while (parent > 1)
                    //{
                    //    CategoryFolder parentDb = db.CategoryFolders.Where(f => f.Id == parent).First();
                    //    albumInfo.BreadCrumbs.Add(new BreadCrumbItemModel()
                    //    {
                    //        FolderId = parentDb.Id,
                    //        FolderName = parentDb.FolderName,
                    //        IsInitialFolder = false
                    //    });
                    //    parent = parentDb.Parent;
                    //}
                    #endregion

                    //db.PageHits.RemoveRange(db.PageHits.Where(h => h.VisitorId == devlVisitorId));
                    //db.ImageHits.RemoveRange(db.ImageHits.Where(i => i.VisitorId == devlVisitorId));
                    //db.SaveChanges();
                    albumInfo.PageHits = db.PageHits.Where(h => h.PageId == folderId).Count();
                    var dbPageHitTotals = db.PageHitTotal.Where(h => h.PageId == folderId).FirstOrDefault();
                    if (dbPageHitTotals != null)
                    {
                        albumInfo.PageHits += dbPageHitTotals.Hits;
                    }
                    CategoryFolder categoryFolder = db.CategoryFolders.Where(f => f.Id == folderId).FirstOrDefault();
                    //if (categoryFolder != null) albumInfo.RootFolder = mdb.CategoryFolders.Where(f => f.Id == folderId).First().RootFolder;
                    //albumInfo.UserPageHits = db.PageHits.Where(h => h.VisitorId == visitorId).Count();
                    //albumInfo.UserImageHits = db.ImageHits.Where(h => h.VisitorId == visitorId).Count();
                }
                albumInfo.Success = "ok";
            }
            catch (Exception ex)
            {
                albumInfo.Success = Helpers.ErrorDetails(ex);
            }
            return(albumInfo);
        }