Beispiel #1
0
        public static void DeleteEntireGroup(string groupID)
        {
            TBRGroupRoot groupToDelete = TBRGroupRoot.RetrieveFromDefaultLocation(groupID);

            throw new NotImplementedException("Call remove group membership for each member, then delete to recycle bin");
            foreach (var member in groupToDelete.Group.Roles.CollectionContent)
            {
                string       emailRootID = TBREmailRoot.GetIDFromEmailAddress(member.Email.EmailAddress);
                TBREmailRoot emailRoot   = TBREmailRoot.RetrieveFromDefaultLocation(emailRootID);
                emailRoot.Account.GroupRoleCollection.CollectionContent.RemoveAll(
                    candidate => candidate.GroupID == groupToDelete.Group.ID);
                emailRoot.Account.StoreAccountToRoot();
            }
            StorageSupport.DeleteInformationObject(groupToDelete);
            //WorkerSupport.DeleteEntireOwner(groupToDelete.Group);
            OperationRequest operationRequest = new OperationRequest
            {
                DeleteEntireOwner = DeleteEntireOwnerOperation.CreateDefault()
            };

            operationRequest.DeleteEntireOwner.ContainerName  = groupToDelete.Group.ContainerName;
            operationRequest.DeleteEntireOwner.LocationPrefix = groupToDelete.Group.LocationPrefix;
            //QueueSupport.PutToOperationQueue(operationRequest);
            InformationContext.Current.AddOperationRequestToFinalizingQueue(operationRequest);
        }
Beispiel #2
0
        private static void DoCustomCleanup(string groupLoc)
        {
            var defaultBlogToDelete = StorageSupport.CurrActiveContainer.
                                      GetInformationObjects(groupLoc, null,
                                                            item => item is Blog && item.RelativeLocation.EndsWith("/default")).ToArray();

            foreach (Blog blog in defaultBlogToDelete)
            {
                StorageSupport.DeleteInformationObject(blog);
            }
            InformationContext.ProcessAndClearCurrent();
            InformationContext.Current.InitializeCloudStorageAccess(Properties.Settings.Default.CurrentActiveContainerName);
        }
Beispiel #3
0
        private static void ClearEmptyLocations()
        {
            var locations =
                GetAllInformationObjects(null, io => io is AddressAndLocation).Cast <AddressAndLocation>().ToArray();

            foreach (var loc in locations)
            {
                if (String.IsNullOrEmpty(loc.Location.LocationName))
                {
                    try
                    {
                        StorageSupport.DeleteInformationObject(loc);
                    } finally
                    {
                        InformationContext.ProcessAndClearCurrent();
                        InformationContext.Current.InitializeCloudStorageAccess(Properties.Settings.Default.CurrentActiveContainerName);
                    }
                }
            }
        }
Beispiel #4
0
        private void HandleEmailValidation(HttpContext context)
        {
            string            loginUrl          = WebSupport.GetLoginUrl(context);
            TBRLoginRoot      loginRoot         = TBRLoginRoot.GetOrCreateLoginRootWithAccount(loginUrl, false);
            string            requestPath       = context.Request.Path;
            string            emailValidationID = requestPath.Substring(AuthEmailValidationLen);
            TBAccount         account           = loginRoot.Account;
            TBEmailValidation emailValidation   = TBEmailValidation.RetrieveFromDefaultLocation(emailValidationID);

            if (emailValidation == null)
            {
                RespondEmailValidationRecordNotExist(context);
                return;
            }
            StorageSupport.DeleteInformationObject(emailValidation);
            if (emailValidation.ValidUntil < DateTime.UtcNow)
            {
                RespondEmailValidationExpired(context, emailValidation);
                return;
            }
            if (emailValidation.GroupJoinConfirmation != null)
            {
                HandleGroupJoinConfirmation(context, account, emailValidation);
            }
            else if (emailValidation.DeviceJoinConfirmation != null)
            {
                HandleDeviceJoinConfirmation(context, account, emailValidation);
            }
            else if (emailValidation.InformationInputConfirmation != null)
            {
                HandleInputJoinConfirmation(context, account, emailValidation);
            }
            else
            {
                HandleAccountEmailValidation(context, account, emailValidation);
            }
        }
Beispiel #5
0
 public static void ExecuteMethod_DeleteObject(IInformationObject objectToDelete)
 {
     StorageSupport.DeleteInformationObject(objectToDelete);
 }