protected object RenderStgDoc(StgDoc stgDoc, Dictionary <long, isPin> dicPin, List <User> users, StgDocPerm stgDocPerm, bool isQlk, List <StgDoc> folders, List <UserRecent> userrecents = null) { return(new { ID = stgDoc.ID, Path = GlobalConfig.StgSrcPath(stgDoc.Path), Size = Utils.SizeConvert(stgDoc.Size), Name = stgDoc.Name, Created = CUtils.DateTimeToLong(stgDoc.Created), CreateBy = (users.FirstOrDefault(t => t.ID == stgDoc.CreatedBy) ?? new User()).Name ?? "", Updated = userrecents == null?CUtils.DateTimeToLong(stgDoc.Updated) : CUtils.DateTimeToLong(userrecents.FirstOrDefault(t => t.IDDoc == stgDoc.ID).Created), UpdateBy = (users.FirstOrDefault(t => t.ID == stgDoc.UpdatedBy) ?? new User()).Name ?? "", IsFolder = stgDoc.IsFolder, Icon = GlobalConfig.StgSrcPath((stgDoc.Extension ?? "").Replace(".", "") + ".png"), IsView = isQlk || stgDocPerm.IsView(stgDoc), IsUpdate = isQlk || stgDocPerm.IsUpdate(stgDoc), IsDelete = isQlk || stgDocPerm.IsDelete(stgDoc), IsCreate = isQlk || stgDocPerm.IsCreate(stgDoc), IsCopy = isQlk || stgDocPerm.IsCopy(stgDoc), IsDownload = isQlk || stgDocPerm.IsDownload(stgDoc), IsMove = isQlk || stgDocPerm.IsMove(stgDoc), IsShare = isQlk || stgDocPerm.IsShare(stgDoc), IsNote = isQlk || stgDocPerm.IsNote(stgDoc), IsPassword = !string.IsNullOrEmpty(stgDoc.Password), IsSetPassword = isQlk, IsChangePassword = isQlk, TypeExtension = CUtils.GetTypebyExtension(stgDoc.Extension), Parent = stgDoc.Parent, IsPin = (int)dicPin[stgDoc.ID], PasswordParentId = GetPasswordParent(folders, stgDoc) }); }
private long GetPasswordParent(List <StgDoc> stgDocs, StgDoc stgDoc) { var parent = stgDocs.FirstOrDefault(t => t.ID == stgDoc.Parent); if (Utils.IsEmpty(parent) || parent.ID == 0) { return(0); } return(!string.IsNullOrEmpty(parent.Password) ? parent.ID : GetPasswordParent(stgDocs, parent)); }
protected Dictionary <long, isPin> GetDicPinDocs(List <StgDoc> stgdocs, StgDoc stgdoc = null) { var items = new List <StgDoc>(); if (Utils.IsNotEmpty(stgdocs)) { items.AddRange(stgdocs); } if (Utils.IsNotEmpty(stgdoc)) { items.Add(stgdoc); } var dicResult = new Dictionary <long, isPin>(); var userFavorites = items.Count > 0 ? Repository.UserFavoriteRepository.GetList(CUser.IDChannel, CUser.ID, FavoriteType.Stgfile, items.Select(x => x.ID).ToArray()) : new List <UserFavorite>(); foreach (var item in items) { dicResult[item.ID] = userFavorites.Any(x => x.IDDoc == item.ID) ? isPin.Co : isPin.Khong; } return(dicResult); }
protected Dictionary <long, isPin> GetDicPinDoc(StgDoc stgdoc) { return(GetDicPinDocs(null, stgdoc)); }