Ejemplo n.º 1
0
            public override void Execute(IOperation operation, IOperationLogger logger)
            {
                logger.Debug($"[Operation: {operation.ComplexOperationId}, note: {NoteId}] Sending notifications for users").Wait();

                var note = noteFolderStore.GetNoteById(operation, NoteId).Result;

                var(_, users) = userDataStore.GetUsers(operation, new UserPagingRequest
                {
                    PageNo   = 0,
                    PageSize = UserIds.Count(),
                    Filter   = new UserPagingFilter
                    {
                        Ids = UserIds
                    }
                }).Result;

                foreach (var user in users)
                {
                    var message = $"[Operation: {operation.ComplexOperationId}, note: {NoteId}] Note \"{note.FolderName}\" -> \"{note.Title}\":";
                    message += $"\n- The following user: {user.FirstName}{(!string.IsNullOrWhiteSpace(user.LastName) ? $" {user.LastName}" : "")} <{user.Email}>";
                    message += $"\n- The text:\n{note.Text}";
                    logger.Info(message).Wait();
                }

                logger.Debug($"[Operation: {operation.ComplexOperationId}, note: {NoteId}] Sent notifications for users").Wait();
            }
Ejemplo n.º 2
0
        public async Task <UserPagingResponse> GetUsers(IOperation operation, UserPagingRequest request)
        {
            var(total, users) = await userDataStore.GetUsers(operation, request);

            return(new UserPagingResponse
            {
                Total = total,
                Items = users
            });
        }