public void CreateFolder(UserAccount user,
                                 string name,
                                 ParentId parentId)
        {
            // Verify if any folder exists
            bool alreadyExists = dataContext.SubscriptionFolders.AsQueryable()
                                 .Where(x => x.UserId == user.Id)
                                 .Where(x => x.ParentId == parentId)
                                 .Where(x => x.Name.ToUpper() == name.ToUpper())
                                 .Any();

            if (!alreadyExists)
            {
                var newFolder = new SubscriptionFolder()
                {
                    User     = user,
                    ParentId = parentId,
                    Name     = name
                };
                dataContext.SubscriptionFolders.Add(newFolder);
                dataContext.SaveChanges();

                FolderCreated?.Invoke(this, new SubscriptionFolderCreatedEventArgs()
                {
                    User = user, Folder = newFolder
                });
            }
        }
示例#2
0
            private void OnParentFolderCreated()
            {
                TryGetInternalWatcher();

                // Notify folder creation if internal watcher has been created (meaning folder exists)
                if (FileSystemWatcher != null)
                {
                    FolderCreated?.Invoke();
                }
            }
示例#3
0
 private void Apply(FolderCreated e)
 {
     ParentId        = e.ParentId;
     OwnedBy         = e.UserId;
     CreatedBy       = e.UserId;
     CreatedDateTime = e.TimeStamp;
     UpdatedBy       = e.UserId;
     UpdatedDateTime = e.TimeStamp;
     Name            = e.Name;
     Status          = e.Status;
 }
示例#4
0
            private void HandleFolderChange(object sender, FolderChangedEventArgs args)
            {
                switch (args.ChangeType)
                {
                case FolderChangeType.Created:

                    TryGetInternalWatcher();
                    FolderCreated?.Invoke();

                    break;

                case FolderChangeType.Deleted:

                    FolderDeleted?.Invoke();
                    DisposeInternalWatcher();

                    break;

                default:
                    throw new NotSupportedException();
                }
            }
示例#5
0
 protected virtual void OnFolderCreated(FolderCreatedEventArgs e)
 {
     FolderCreated?.Invoke(this, e);
 }
 public void InvokeCreateFolder(Folder folder)
 {
     FolderCreated?.Invoke(folder);
 }
示例#7
0
 /// <summary>
 /// Raise the folder created event.
 /// </summary>
 /// <remarks>
 /// Raises the folder created event.
 /// </remarks>
 /// <param name="folder">The folder that was just created.</param>
 protected virtual void OnFolderCreated(IMailFolder folder)
 {
     FolderCreated?.Invoke(this, new FolderCreatedEventArgs(folder));
 }