Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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;
            }
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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);
        }
Esempio n. 5
0
        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);
            }
        }