public MultimediaFileObject MultimediaSetDefaultItem(long idItem, long idVersion, long idDocument) { MultimediaFileObject document = null; try { RepositoryItem item = Manager.Get <RepositoryItem> (idItem); RepositoryItemVersion version = Manager.Get <RepositoryItemVersion> (idVersion); List <MultimediaFileObject> cDefaults = (from f in Manager.GetIQ <MultimediaFileObject>() where f.Id != idDocument && f.IdVersion == idVersion && f.IsDefaultDocument select f).ToList(); document = Manager.Get <MultimediaFileObject>(idDocument); if (document != null && !document.IsDefaultDocument) { DateTime date = DateTime.Now; Manager.BeginTransaction(); FileTransferMultimedia mTransfer = MultimediaTransferGet(idItem, idVersion); if (mTransfer != null) { mTransfer.DefaultDocument = document; mTransfer.DefaultDocumentPath = document.Fullname; Manager.SaveOrUpdate(mTransfer); } document.IsDefaultDocument = true; foreach (MultimediaFileObject d in cDefaults) { d.IsDefaultDocument = false; } if (cDefaults.Any()) { Manager.SaveOrUpdateList(cDefaults); } version.UpdateMetaInfo(UC.CurrentUserID, UC.IpAddress, UC.ProxyIpAddress, date); if (item.IdVersion == version.Id) { item.UpdateMetaInfo(UC.CurrentUserID, UC.IpAddress, UC.ProxyIpAddress, date); Manager.SaveOrUpdate(item); } Manager.SaveOrUpdate(version); Manager.SaveOrUpdate(document); Manager.Commit(); } } catch (Exception ex) { Manager.RollBack(); } return(document); }
public void CloneMultimediaIndexes(FileTransferMultimedia clone, FileTransferMultimedia original) { IList <MultimediaFileObject> previous = FindMultimediaFileIndexes(original); //MultimediaFileObject originaldefault = (from item in previous where item.IsDefaultDocument == true select item).FirstOrDefault(); //String originalpath = originaldefault.Fullname.Replace(original.UniqueIdVersion.ToString(), clone.UniqueIdVersion.ToString()); IList <MultimediaFileObject> cloned = (from item in previous select new MultimediaFileObject() { IdItemTransfer = clone.IdItem, IdVersion = clone.IdVersion, UniqueIdItem = clone.UniqueIdItem, UniqueIdVersion = clone.UniqueIdVersion, IsDefaultDocument = item.IsDefaultDocument, Probability = item.Probability, Fullname = item.Fullname.Replace(original.UniqueIdVersion.ToString(), clone.UniqueIdVersion.ToString()), Deleted = item.Deleted }).ToList(); MultimediaFileObject clonedefault = (from item in previous where item.IsDefaultDocument == true select item).FirstOrDefault(); if (clonedefault != null) { String clonepath = clonedefault.Fullname; clone.DefaultDocument = clonedefault; clone.DefaultDocumentPath = clonepath; } try { manager.BeginTransaction(); manager.SaveList(cloned); manager.SaveFile(clone); manager.Commit(); } catch (Exception ex) { manager.Rollback(); throw; } }
public dtoMultimediaFileObject MultimediaGetItem(long idDocument) { dtoMultimediaFileObject item = null; try { MultimediaFileObject obj = Manager.Get <MultimediaFileObject>(idDocument); if (obj != null) { item = new dtoMultimediaFileObject(obj); } } catch (Exception ex) { } return(item); }
private MultimediaFileObject GenerateMultimediaFileIndex(IEnumerable <KeyValue> candidates, FileTransferMultimedia FileTransfer, KeyValue winner, string item) { KeyValue current = candidates.Where(x => x.Key == item).FirstOrDefault(); MultimediaFileObject mfi = new MultimediaFileObject() { Fullname = NormalizeFullname(item), //MultimediaFile = FileTransfer, IdItemTransfer = FileTransfer.Id, IdVersion = FileTransfer.IdVersion, UniqueIdItem = FileTransfer.UniqueIdItem, UniqueIdVersion = FileTransfer.UniqueIdVersion, IdItem = FileTransfer.IdItem, IsDefaultDocument = (winner != null && winner.Key == item), Probability = (current != null) ? current.Value : 0 }; return(mfi); }
private IList <MultimediaFileObject> GenerateMultimediaFileIndexes(IEnumerable <String> all, IEnumerable <KeyValue> candidates, FileTransferMultimedia FileTransfer) { KeyValue winner = candidates.FirstOrDefault(); IList <MultimediaFileObject> list = new List <MultimediaFileObject>(); foreach (var item in all) { MultimediaFileObject mfi = GenerateMultimediaFileIndex(candidates, FileTransfer, winner, item); if (mfi.IsDefaultDocument) { FileTransfer.DefaultDocument = mfi; FileTransfer.DefaultDocumentPath = mfi.Fullname; } list.Add(mfi); } return(list); }
public void SetDefaultDocument(long idItem, long idVersion, long idDocument) { if (!SessionTimeout()) { ModuleRepository.ActionType uAction = ModuleRepository.ActionType.MultimedaSettingsUnableToSetDefaultDocument; Int32 idCommunity = View.RepositoryIdCommunity; liteRepositoryItemVersion version = Service.ItemGetVersion(idItem, idVersion); if (version == null) { View.DisplayUnknownItem(); View.AllowSave = false; } else { dtoMultimediaFileObject obj = Service.MultimediaGetItem(idDocument); if (obj == null) { View.DisplayMessage(version.DisplayName, version.Extension, version.Type, Domain.UserMessageType.multimediaSettingsDocumentNotFound); } else { MultimediaFileObject file = Service.MultimediaSetDefaultItem(idItem, idVersion, idDocument); if (file == null || !file.IsDefaultDocument) { uAction = ModuleRepository.ActionType.MultimedaSettingsUnableToSetDefaultDocument; View.DisplayMessage(version.DisplayName, version.Extension, version.Type, Domain.UserMessageType.multimediaSettingsUnableToSave, version.Availability, obj.Fullname); } else { List <dtoMultimediaFileObject> items = Service.MultimediaGetItems(idItem, idVersion); View.AllowSave = (items != null); View.LoadItems(version.UniqueIdVersion.ToString(), version.DisplayName, items, (items == null ? null : items.Where(i => i.IsDefaultDocument).FirstOrDefault())); uAction = ModuleRepository.ActionType.MultimedaSettingsSetDefaultDocument; View.DisplayMessage(version.DisplayName, version.Extension, version.Type, Domain.UserMessageType.multimediaSettingsSaved, version.Availability, obj.Fullname); } } } View.SendUserAction(idCommunity, Service.GetIdModule(), uAction); } }