コード例 #1
0
        public async Task <BulkInviteSubmission> SendBulkInvitations(BulkInviteSubmission bulkRequest)
        {
            if (!User.Identity.IsInRole(Roles.CompanyAdministrator))
            {
                //enforcing rule: only Company Administrator can invite Members
                bulkRequest.MemberType = MemberType.Guest;
            }

            bulkRequest.InvitationMessage = HtmlSanitizer.SanitizeHtml(bulkRequest.InvitationMessage);
            bulkRequest.SubmissionDate    = DateTime.UtcNow;

            //this call adds the batch to the DB and creates a pending item for each guest
            bulkRequest = await BulkInviteSubmission.AddItem(bulkRequest, User.Identity.Name);

            string userOid = User.Identity.GetClaim(Settings.ObjectIdentifier);

            //queue the request for processing
            var queue = new BatchQueueItem
            {
                BulkInviteSubmissionId = bulkRequest.Id,
                InvitingUserId         = userOid,
                ProfileUrl             = Utils.GetProfileUrl(Request.RequestUri),
                UserSourceHostName     = Utils.GetFQDN(Request)
            };

            StorageRepo.AddQueueItem(queue, "invitations");

            return(bulkRequest);
        }
コード例 #2
0
        public static void AddBulkUsersToQueue(IEnumerable <StagedUser> userBatch, IEnumerable <string> siteDomains = null)
        {
            if (siteDomains != null)
            {
                CheckBatchUsers(ref userBatch, siteDomains);
            }

            //this will be queued
            StorageRepo.AddQueueItem(userBatch, "stageduser");
        }
コード例 #3
0
        public HttpResponseMessage RequeueRequest(dynamic data)
        {
            string signInUserId = User.Identity.GetClaim(Settings.ObjectIdentifier);

            //queue the request for processing
            var queue = new BatchQueueItem
            {
                BulkInviteSubmissionId = data.id,
                InvitingUserId         = signInUserId,
                ProfileUrl             = Utils.GetProfileUrl(Request.RequestUri),
                UserSourceHostName     = Utils.GetFQDN(Request)
            };

            StorageRepo.AddQueueItem(queue, "invitations");
            return(new HttpResponseMessage(HttpStatusCode.Accepted));
        }
 public static void AddBulkLogs(IEnumerable <SyncLogEntry> logBatch, string siteId)
 {
     logBatch.ToList().ForEach(l => l.RemoteSiteID = siteId);
     //this will be queued
     StorageRepo.AddQueueItem(logBatch, "logbatch");
 }
コード例 #5
0
 public static void AddUserToQueue(StagedUser user)
 {
     //this will be queued
     StorageRepo.AddQueueItem(user, "stageduser");
 }