public void AuthorizeRequest(object sender, EventArgs e)
            {
                if (!SystemSetupFacade.IsSystemFirstTimeInitialized)
                {
                    return;
                }

                HttpApplication application = (HttpApplication)sender;
                HttpContext     context     = application.Context;

                bool adminRootRequest = UrlUtils.IsAdminConsoleRequest(context);

                if (adminRootRequest && UserValidationFacade.IsLoggedIn())
                {
                    _dataScope = new DataScope(DataScopeIdentifier.Administrated, UserSettings.ActiveLocaleCultureInfo);

                    if (!_consoleArtifactsInitialized)
                    {
                        lock (_consoleArtifactsInitializeLock)
                        {
                            if (!_consoleArtifactsInitialized && !SystemSetupFacade.SetupIsRunning)
                            {
                                HookingFacade.EnsureInitialization();
                                FlowControllerFacade.Initialize();
                                ConsoleFacade.Initialize();
                                ElementProviderLoader.LoadAllProviders();
                                _consoleArtifactsInitialized = true;
                            }
                        }
                    }
                }
            }
 /// <exclude />
 protected IEnumerable <string> GetConsoleIdsOpenedByUser(string username)
 {
     if (UserSettings.Username == username)
     {
         string currentConsoleId = GetCurrentConsoleId();
         return(ConsoleFacade.GetConsoleIdsByUsername(username).Union(new[] { currentConsoleId }));
     }
     else
     {
         return(ConsoleFacade.GetConsoleIdsByUsername(username));
     }
 }
        public static async Task Main(string[] args)
        {
            var container = ContainerFactory.GetContainer();

            var mediator = container.Resolve <IMediator>();

            var studentValidator = container.Resolve <IValidator <StudentDto> >();

            var facade = new ConsoleFacade(mediator, studentValidator, _filePath, _outputFolderPath);

            await facade.Main();

            Console.ReadKey();
        }
        private void scavengeCodeActivity_Scavenge_ExecuteCode(object sender, EventArgs e)
        {
            if (HostingEnvironment.ApplicationHost.ShutdownInitiated())
            {
                return;
            }

            try
            {
                using (ThreadDataManager.Initialize())
                {
                    ConsoleFacade.Scavenge();
                }
            }
            catch
            {
                // Ignore exceptions
            }
        }
        private void IsUserLoggedOn(object sender, System.Workflow.Activities.ConditionalEventArgs e)
        {
            DataEntityToken dataEntityToken = (DataEntityToken)this.EntityToken;

            IUser user = (IUser)dataEntityToken.Data;

            string selectedActiveLocaleName = (user.Username != UserSettings.Username ?
                                               this.GetBinding <string>("ActiveLocaleName") :
                                               UserSettings.ActiveLocaleCultureInfo.ToString());

            if (selectedActiveLocaleName != null)
            {
                CultureInfo selectedActiveLocale = CultureInfo.CreateSpecificCulture(selectedActiveLocaleName);

                if (!UserSettings.GetCurrentActiveLocaleCultureInfo(user.Username).Equals(selectedActiveLocale))
                {
                    e.Result = ConsoleFacade.GetConsoleIdsByUsername(user.Username).Any();
                    return;
                }
            }

            e.Result = false;
        }
示例#6
0
        private static void DoInitialize()
        {
            int startTime = Environment.TickCount;

            Guid installationId = InstallationInformationFacade.InstallationId;

            Log.LogVerbose(LogTitle, "Initializing the system core - installation id = " + installationId);

            using (new LogExecutionTime(LogTitle, "Initialization of the static data types"))
            {
                DataProviderRegistry.InitializeDataTypes();
            }


            using (new LogExecutionTime(LogTitle, "Auto update of static data types"))
            {
                bool typesUpdated = AutoUpdateStaticDataTypes();
                if (typesUpdated)
                {
                    using (new LogExecutionTime(LogTitle, "Reinitialization of the static data types"))
                    {
                        SqlTableInformationStore.Flush();
                        DataProviderRegistry.Flush();
                        DataProviderPluginFacade.Flush();


                        DataProviderRegistry.InitializeDataTypes();
                    }

                    CodeGenerationManager.GenerateCompositeGeneratedAssembly(true);
                }
            }


            using (new LogExecutionTime(LogTitle, "Ensure data stores"))
            {
                bool dataStoresCreated = DataStoreExistenceVerifier.EnsureDataStores();

                if (dataStoresCreated)
                {
                    Log.LogVerbose(LogTitle, "Initialization of the system was halted, performing a flush");
                    _initializing = false;
                    GlobalEventSystemFacade.FlushTheSystem();
                    return;
                }
            }



            using (new LogExecutionTime(LogTitle, "Initializing data process controllers"))
            {
                ProcessControllerFacade.Initialize_PostDataTypes();
            }


            using (new LogExecutionTime(LogTitle, "Initializing data type references"))
            {
                DataReferenceRegistry.Initialize_PostDataTypes();
            }


            using (new LogExecutionTime(LogTitle, "Initializing data type associations"))
            {
                DataAssociationRegistry.Initialize_PostDataTypes();
            }


            using (new LogExecutionTime(LogTitle, "Initializing internal urls"))
            {
                InternalUrls.Initialize_PostDataTypes();
            }


            using (new LogExecutionTime(LogTitle, "Initializing functions"))
            {
                MetaFunctionProviderRegistry.Initialize_PostDataTypes();
            }


            Log.LogVerbose(LogTitle, "Starting initialization of administrative secondaries");


            if (SystemSetupFacade.IsSystemFirstTimeInitialized && !SystemSetupFacade.SetupIsRunning)
            {
                using (new LogExecutionTime(LogTitle, "Initializing workflow runtime"))
                {
                    WorkflowFacade.EnsureInitialization();
                }
            }


            if (!RuntimeInformation.IsUnittest)
            {
                using (new LogExecutionTime(LogTitle, "Initializing flow system"))
                {
                    FlowControllerFacade.Initialize();
                }

                using (new LogExecutionTime(LogTitle, "Initializing console system"))
                {
                    ConsoleFacade.Initialize();
                }
            }


            using (new LogExecutionTime(LogTitle, "Auto installing packages"))
            {
                DoAutoInstallPackages();
            }


            using (new LogExecutionTime(LogTitle, "Loading element providers"))
            {
                ElementProviderLoader.LoadAllProviders();
            }


            int executionTime = Environment.TickCount - startTime;

            Log.LogVerbose(LogTitle, "Done initializing of the system core. ({0} ms)".FormatWith(executionTime));
        }
        public static void Menu()
        {
            bool mode = false;

            Console.WriteLine("Choose Archivation Algorithm\n" +
                              "\n\t1.LZW" +
                              "\n\t2.Arifmethic Compression");

            var keyInfo = Console.ReadKey();

            Console.WriteLine();

            switch (keyInfo.Key)
            {
            case ConsoleKey.D1:
                Archivator = new LZW();
                break;

            case ConsoleKey.D2:
                Archivator = new ArifmethicCompression();
                break;
            }

            if (Archivator == null)
            {
                return;
            }

            Console.WriteLine("Choose mode\n" +
                              "\n\t1.Without password" +
                              "\n\t2.With password");

            keyInfo = Console.ReadKey();

            Console.WriteLine();

            switch (keyInfo.Key)
            {
            case ConsoleKey.D1:
                mode = false;
                break;

            case ConsoleKey.D2:
                mode = true;
                break;
            }

            ConsoleFacade consoleFacade = new ConsoleFacade(Archivator, Writer, Reader,
                                                            @"..\..\..\Files\InputFile.txt",
                                                            @"..\..\..\Files\OutputFile.txt",
                                                            @"..\..\..\Files\ResultsFile.txt");

            if (mode)
            {
                consoleFacade.ProcessWithPassword();
            }
            else
            {
                consoleFacade.Process();
            }
        }
示例#8
0
 static WorkflowFacade()
 {
     GlobalEventSystemFacade.SubscribeToFlushEvent(OnFlushEvent);
     GlobalEventSystemFacade.SubscribeToShutDownEvent(OnShutDownEvent);
     ConsoleFacade.SubscribeToConsoleClosedEvent(OnConsoleClosedEvent);
 }
示例#9
0
        /// <exclude />
        protected IEnumerable <string> GetConsoleIdsOpenedByCurrentUser()
        {
            string currentConsoleId = GetCurrentConsoleId();

            return(ConsoleFacade.GetConsoleIdsByUsername(UserSettings.Username).Union(new[] { currentConsoleId }));
        }
        /// <exclude />
        public static GetMessagesResult GetNewMessages(string consoleId, int lastKnownChangeNumber)
        {
            ConsoleFacade.RegisterConsole(UserSettings.Username, consoleId);

            List <ConsoleAction> newMessages = new List <ConsoleAction>();

            GetMessagesResult result = new GetMessagesResult();

            result.CurrentSequenceNumber = ConsoleMessageQueueFacade.CurrentChangeNumber;

            List <ConsoleMessageQueueElement> messageQueueElements = ConsoleMessageQueueFacade.GetQueueElements(lastKnownChangeNumber, consoleId).ToList();

            if (messageQueueElements.Any() && messageQueueElements.Max(f => f.QueueItemNumber) > result.CurrentSequenceNumber)
            {
                result.CurrentSequenceNumber = messageQueueElements.Max(f => f.QueueItemNumber);
            }

            DocumentSuspectMessageRequests(consoleId, lastKnownChangeNumber, result, messageQueueElements);

            // Open views...
            foreach (ConsoleMessageQueueElement queueElement in messageQueueElements.Where(f => f.QueueItem is OpenViewMessageQueueItem))
            {
                OpenViewMessageQueueItem openViewItem = (OpenViewMessageQueueItem)queueElement.QueueItem;

                List <KeyValuePair> arguments = new List <KeyValuePair>();
                if (openViewItem.UrlPostArguments != null)
                {
                    foreach (var entry in openViewItem.UrlPostArguments)
                    {
                        arguments.Add(new KeyValuePair(entry.Key, entry.Value));
                    }
                }

                OpenViewParams openViewParams = new OpenViewParams
                {
                    Url         = openViewItem.Url,
                    Argument    = arguments,
                    EntityToken = openViewItem.EntityToken,
                    FlowHandle  = openViewItem.FlowHandle,
                    ViewId      = openViewItem.ViewId,
                    ViewType    = openViewItem.ViewType.AsConsoleType(),
                    Label       = openViewItem.Label,
                    ToolTip     = openViewItem.ToolTip ?? openViewItem.Label
                };

                openViewParams.Image = GetImage(openViewItem.IconResourceHandle);

                newMessages.Add(new ConsoleAction
                {
                    SequenceNumber = queueElement.QueueItemNumber,
                    ActionType     = ActionType.OpenView,
                    OpenViewParams = openViewParams
                });
            }


            // Open view definitions...
            foreach (ConsoleMessageQueueElement queueElement in messageQueueElements.Where(f => f.QueueItem is OpenHandledViewMessageQueueItem))
            {
                OpenHandledViewMessageQueueItem openViewDefItem = (OpenHandledViewMessageQueueItem)queueElement.QueueItem;

                List <KeyValuePair> arguments = new List <KeyValuePair>();
                foreach (var entry in openViewDefItem.Arguments)
                {
                    arguments.Add(new KeyValuePair(entry.Key, entry.Value));
                }

                OpenViewDefinitionParams openViewDefParams = new OpenViewDefinitionParams
                {
                    ViewId      = openViewDefItem.Handle + Guid.NewGuid().ToString(),
                    EntityToken = openViewDefItem.EntityToken,
                    Handle      = openViewDefItem.Handle,
                    Argument    = arguments
                };

                newMessages.Add(new ConsoleAction
                {
                    SequenceNumber           = queueElement.QueueItemNumber,
                    ActionType               = ActionType.OpenViewDefinition,
                    OpenViewDefinitionParams = openViewDefParams
                });
            }


            // Open generic views...
            foreach (ConsoleMessageQueueElement queueElement in messageQueueElements.Where(f => f.QueueItem is OpenGenericViewQueueItem))
            {
                OpenGenericViewQueueItem openGenericView = (OpenGenericViewQueueItem)queueElement.QueueItem;

                List <KeyValuePair> arguments = new List <KeyValuePair>();
                foreach (var entry in openGenericView.UrlPostArguments)
                {
                    arguments.Add(new KeyValuePair(entry.Key, entry.Value));
                }

                OpenGenericViewParams openGenericViewParams = new OpenGenericViewParams
                {
                    ViewId           = openGenericView.ViewId,
                    EntityToken      = openGenericView.EntityToken,
                    Label            = openGenericView.Label,
                    ToolTip          = openGenericView.ToolTip ?? openGenericView.Label,
                    Url              = openGenericView.Url,
                    UrlPostArguments = arguments
                };

                openGenericViewParams.Image = GetImage(openGenericView.IconResourceHandle);

                newMessages.Add(new ConsoleAction
                {
                    SequenceNumber        = queueElement.QueueItemNumber,
                    ActionType            = ActionType.OpenGenericView,
                    OpenGenericViewParams = openGenericViewParams
                });
            }

            // Open external views...
            foreach (ConsoleMessageQueueElement queueElement in messageQueueElements.Where(f => f.QueueItem is OpenExternalViewQueueItem))
            {
                var openExternalView = (OpenExternalViewQueueItem)queueElement.QueueItem;

                var arguments = new List <KeyValuePair>();
                foreach (var entry in openExternalView.UrlPostArguments)
                {
                    arguments.Add(new KeyValuePair(entry.Key, entry.Value));
                }

                var openExternalViewParams = new OpenExternalViewParams
                {
                    ViewId           = openExternalView.ViewId,
                    EntityToken      = openExternalView.EntityToken,
                    Label            = openExternalView.Label,
                    ToolTip          = openExternalView.ToolTip ?? openExternalView.Label,
                    ViewType         = openExternalView.ViewType,
                    Url              = openExternalView.Url,
                    UrlPostArguments = arguments
                };

                openExternalViewParams.Image = GetImage(openExternalView.IconResourceHandle);

                newMessages.Add(new ConsoleAction
                {
                    SequenceNumber         = queueElement.QueueItemNumber,
                    ActionType             = ActionType.OpenExternalView,
                    OpenExternalViewParams = openExternalViewParams
                });
            }

            // Open slide views...
            foreach (ConsoleMessageQueueElement queueElement in messageQueueElements.Where(f => f.QueueItem is OpenSlideViewQueueItem))
            {
                var openSlideView = (OpenSlideViewQueueItem)queueElement.QueueItem;

                var openSlideViewParams = new OpenSlideViewParams
                {
                    ViewId      = openSlideView.ViewId,
                    EntityToken = openSlideView.EntityToken,
                    Url         = openSlideView.Url
                };

                newMessages.Add(new ConsoleAction
                {
                    SequenceNumber      = queueElement.QueueItemNumber,
                    ActionType          = ActionType.OpenSlideView,
                    OpenSlideViewParams = openSlideViewParams
                });
            }


            // Download files...
            foreach (ConsoleMessageQueueElement queueElement in messageQueueElements.Where(f => f.QueueItem is DownloadFileMessageQueueItem))
            {
                DownloadFileMessageQueueItem downloadFileItem = (DownloadFileMessageQueueItem)queueElement.QueueItem;

                DownloadFileParams downloadFileParams = new DownloadFileParams
                {
                    Url = downloadFileItem.Url,
                };

                newMessages.Add(new ConsoleAction
                {
                    SequenceNumber     = queueElement.QueueItemNumber,
                    ActionType         = ActionType.DownloadFile,
                    DownloadFileParams = downloadFileParams
                });
            }


            // Close views...
            foreach (ConsoleMessageQueueElement queueElement in messageQueueElements.Where(f => f.QueueItem is CloseViewMessageQueueItem))
            {
                CloseViewMessageQueueItem closeViewItem = (CloseViewMessageQueueItem)queueElement.QueueItem;

                newMessages.Add(new ConsoleAction
                {
                    SequenceNumber  = queueElement.QueueItemNumber,
                    ActionType      = ActionType.CloseView,
                    CloseViewParams = new CloseViewParams
                    {
                        ViewId = closeViewItem.ViewId
                    }
                });
            }


            // Refresh tree... Ignoring requests for the same entity tokens
            var entityTokensToRefresh = new HashSet <string>();
            var refreshMessages       = new List <ConsoleAction>();

            foreach (var queueElement in messageQueueElements.Where(f => f.QueueItem is RefreshTreeMessageQueueItem)
                     .OrderByDescending(f => f.QueueItemNumber))
            {
                var refreshTreeItem = (RefreshTreeMessageQueueItem)queueElement.QueueItem;

                string serializedEntityToken = EntityTokenSerializer.Serialize(refreshTreeItem.EntityToken, true);
                if (entityTokensToRefresh.Contains(serializedEntityToken))
                {
                    continue;
                }

                entityTokensToRefresh.Add(serializedEntityToken);

                refreshMessages.Add(new ConsoleAction
                {
                    SequenceNumber    = queueElement.QueueItemNumber,
                    ActionType        = ActionType.RefreshTree,
                    RefreshTreeParams = new RefreshTreeParams
                    {
                        EntityToken = serializedEntityToken,
                    }
                });
            }

            refreshMessages.Reverse();
            newMessages.AddRange(refreshMessages);

            // Send message boxes...
            foreach (ConsoleMessageQueueElement queueElement in messageQueueElements.Where(f => f.QueueItem is MessageBoxMessageQueueItem))
            {
                MessageBoxMessageQueueItem messageBoxItem = (MessageBoxMessageQueueItem)queueElement.QueueItem;

                DialogType clientDialogType = DialogType.Message;

                switch (messageBoxItem.DialogType)
                {
                case Composite.C1Console.Events.DialogType.Message:
                    clientDialogType = DialogType.Message;
                    break;

                case Composite.C1Console.Events.DialogType.Question:
                    clientDialogType = DialogType.Question;
                    break;

                case Composite.C1Console.Events.DialogType.Warning:
                    clientDialogType = DialogType.Warning;
                    break;

                case Composite.C1Console.Events.DialogType.Error:
                    clientDialogType = DialogType.Error;
                    break;

                default:
                    clientDialogType = DialogType.Message;
                    break;
                }


                newMessages.Add(new ConsoleAction
                {
                    SequenceNumber   = queueElement.QueueItemNumber,
                    ActionType       = ActionType.MessageBox,
                    MessageBoxParams = new MessageBoxParams
                    {
                        DialogType = clientDialogType,
                        Title      = messageBoxItem.Title,
                        Message    = messageBoxItem.Message
                    }
                });
            }


            // Send log entries...
            foreach (ConsoleMessageQueueElement queueElement in messageQueueElements.Where(f => f.QueueItem is LogEntryMessageQueueItem))
            {
                var logEntryItem = (LogEntryMessageQueueItem)queueElement.QueueItem;

                newMessages.Add(new ConsoleAction
                {
                    SequenceNumber = queueElement.QueueItemNumber,
                    ActionType     = ActionType.LogEntry,
                    LogEntryParams = new LogEntryParams
                    {
                        SenderId = logEntryItem.Sender.Name,
                        Level    = logEntryItem.Level.AsConsoleType(),
                        Message  = logEntryItem.Message
                    }
                });
            }


            // Restart console application (like culture change)...
            foreach (ConsoleMessageQueueElement queueElement in messageQueueElements.Where(f => f.QueueItem is RebootConsoleMessageQueueItem))
            {
                var rebootConsoleItem = (RebootConsoleMessageQueueItem)queueElement.QueueItem;

                newMessages.Add(new ConsoleAction
                {
                    SequenceNumber = queueElement.QueueItemNumber,
                    ActionType     = ActionType.Reboot
                });
            }


            // Collaps the tree and refresh
            foreach (ConsoleMessageQueueElement queueElement in messageQueueElements.Where(f => f.QueueItem is CollapseAndRefreshConsoleMessageQueueItem))
            {
                var collapseAndRefreshConsoleMessageQueueItem = (CollapseAndRefreshConsoleMessageQueueItem)queueElement.QueueItem;

                newMessages.Add(new ConsoleAction
                {
                    SequenceNumber = queueElement.QueueItemNumber,
                    ActionType     = ActionType.CollapseAndRefresh
                });
            }


            // Close all open views
            foreach (ConsoleMessageQueueElement queueElement in messageQueueElements.Where(f => f.QueueItem is CloseAllViewsMessageQueueItem))
            {
                var closeAllViewsMessageQueueItem = (CloseAllViewsMessageQueueItem)queueElement.QueueItem;

                newMessages.Add(new ConsoleAction
                {
                    SequenceNumber      = queueElement.QueueItemNumber,
                    ActionType          = ActionType.CloseAllViews,
                    CloseAllViewsParams = new CloseAllViewsParams {
                        Reason = closeAllViewsMessageQueueItem.Reason
                    }
                });
            }


            // Lock the console application
            foreach (ConsoleMessageQueueElement queueElement in messageQueueElements.Where(f => f.QueueItem is LockSystemConsoleMessageQueueItem))
            {
                var lockSystemConsoleMessageQueueItem = (LockSystemConsoleMessageQueueItem)queueElement.QueueItem;

                newMessages.Add(new ConsoleAction
                {
                    SequenceNumber = queueElement.QueueItemNumber,
                    ActionType     = ActionType.LockSystem
                });
            }


            // Lock the console application
            foreach (ConsoleMessageQueueElement queueElement in messageQueueElements.Where(f => f.QueueItem is BroadcastMessageQueueItem))
            {
                var broadcastMessageQueueItem = (BroadcastMessageQueueItem)queueElement.QueueItem;

                newMessages.Add(new ConsoleAction
                {
                    SequenceNumber         = queueElement.QueueItemNumber,
                    ActionType             = ActionType.BroadcastMessage,
                    BroadcastMessageParams = new BroadcastMessageParams
                    {
                        Name  = broadcastMessageQueueItem.Name,
                        Value = broadcastMessageQueueItem.Value
                    }
                });
            }


            // SaveStatus
            foreach (ConsoleMessageQueueElement queueElement in messageQueueElements.Where(f => f.QueueItem is SaveStatusConsoleMessageQueueItem))
            {
                var saveStatusConsoleMessageQueueItem = (SaveStatusConsoleMessageQueueItem)queueElement.QueueItem;

                newMessages.Add(new ConsoleAction
                {
                    SequenceNumber   = queueElement.QueueItemNumber,
                    ActionType       = ActionType.SaveStatus,
                    SaveStatusParams = new SaveStatusParams {
                        ViewId = saveStatusConsoleMessageQueueItem.ViewId, Succeeded = saveStatusConsoleMessageQueueItem.Succeeded
                    }
                });
            }

            // BindEntityToken
            foreach (ConsoleMessageQueueElement queueElement in messageQueueElements.Where(f => f.QueueItem is BindEntityTokenToViewQueueItem))
            {
                var bindEntityTokenToViewQueueItem = (BindEntityTokenToViewQueueItem)queueElement.QueueItem;
                newMessages.Add(new ConsoleAction
                {
                    SequenceNumber = queueElement.QueueItemNumber,
                    ActionType     = ActionType.BindEntityTokenToView,
                    BindEntityTokenToViewParams = new BindEntityTokenToViewParams {
                        ViewId = bindEntityTokenToViewQueueItem.ViewId, EntityToken = bindEntityTokenToViewQueueItem.EntityToken
                    }
                });
            }

            // BindEntityToken
            foreach (ConsoleMessageQueueElement queueElement in messageQueueElements.Where(f => f.QueueItem is SelectElementQueueItem))
            {
                var selectElementQueueItem = (SelectElementQueueItem)queueElement.QueueItem;

                newMessages.Add(new ConsoleAction
                {
                    SequenceNumber      = queueElement.QueueItemNumber,
                    ActionType          = ActionType.SelectElement,
                    SelectElementParams = new SelectElementParams
                    {
                        EntityToken           = selectElementQueueItem.EntityToken,
                        PerspectiveElementKey = selectElementQueueItem.PerspectiveElementKey
                    }
                });
            }

            result.ConsoleActions = newMessages.OrderBy(f => f.SequenceNumber).ToList();

            return(result);
        }