Ejemplo n.º 1
0
        /// <summary>
        /// Create UploadViewModels based on the LocalUpload List,
        /// which should already be populated with all local uploads
        /// started from this client. This method runs at each application start
        /// and only then. Its purpose is to populate the client's uploads list.
        /// </summary>
        /// <param name="localUploads"></param>
        /// <returns>Task</returns>
        private void CreateUploadViewModels(IList <LocalUpload> localUploads)
        {
            IList <Task <UploadViewModel> > tasks = new List <Task <UploadViewModel> >();

            foreach (LocalUpload localUpload in localUploads)
            {
                //tasks.Add(InstatiateUploadViewModel(localUpload));

                UploadViewModel u = CreateNewUploadVM() as UploadViewModel;
                u.LocalUpload = localUpload;

                if (String.IsNullOrEmpty(localUpload.Status))
                {
                    localUpload.Status = Enumerations.Status.Pending.GetStringValue();
                }

                this.ActivateItem(u);

                Enumerations.Status status = Enumerations.GetStatusFromString(localUpload.Status);

                if (status == Enumerations.Status.Completed)
                {
                    this.CompletedUploads.Add(u);
                }
                else
                {
                    this.PendingUploads.Add(u);
                }
            }

            _log.Info("Created " + this.PendingUploads.Count + " UploadViewModels for the upload manager.");
        }