示例#1
0
        public NoteActionResponse NoteAction(NoteActionRequest request, Guid userID)
        {
            AccountDto userAccount    = _baseService.GetAccountById(userID, true);
            Guid       accountToScann = userID;
            //if (userAccount.Role == "Admin")
            //    accountToScann = request.AccountId;

            AccountDto     account    = _baseService.GetAccountById(accountToScann, true);
            List <NoteDto> savedNotes = _baseService.FindUserNotes(userID);

            if (StaticConfiguration.GetAcrionByProfile(userAccount.Role) == null)
            {
                throw new Exception("Invalid Profile");
            }
            else
            {
                ApplicationAction actions = StaticConfiguration.GetAcrionByProfile(userAccount.Role).Find(x => x.Id == request.ActionId);
                if (actions == null)
                {
                    throw new Exception("Invalid Action");
                }
                Func <List <NoteDto>, NoteDto, AccountDto, NoteActionRequest, NoteActionResponse> func;
                if (!this.ActionIdToFunction.TryGetValue(request.ActionId, out func))
                {
                    throw new Exception("Δεν βρέθηκε ενέργεια για το Id: " + request.ActionId);
                }
                return(func(savedNotes, request.Note, account, request));
            }
        }
        public void Constructor()
        {
            ApplicationAction application;

            application = new ApplicationAction(GetUserContext());
            Assert.IsNotNull(application);
        }
示例#3
0
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            ApplicationAction applicationAction = ApplicationAction.Run;

            CommonTools.Gui.Login login = new CommonTools.Gui.Login();
            if (applicationAction.Equals(ApplicationAction.UpdateVersion))
            {
                login.updateVersion();
            }
            login.ShowDialog();
            if (login.isValid())
            {
                switch (applicationAction)
                {
                case ApplicationAction.GenerateDatabaseStructure:
                    CommonTools.Database.DB.Instance.makeDatabaseVariables();
                    break;

                case ApplicationAction.Run:
                {
                    m_dataImport = new DataImport();
                    m_dataImport.ShowDialog();
                }
                break;
                } // switch (applicationAction)
            }     // if (login.isValid())
        }
        public PasswordActionResponse PasswordAction(PasswordActionRequest request, Guid userID)
        {
            AccountDto userAccount    = _baseService.GetAccountById(userID, true);
            Guid       accountToScann = userID;

            if (userAccount.Role == "Admin")
            {
                accountToScann = request.AccountId;
            }

            AccountDto  account       = _baseService.GetAccountById(accountToScann, true);
            PasswordDto savedPassword = _baseService.GetPasswords(request, account).FirstOrDefault();

            if (StaticConfiguration.GetAcrionByProfile(userAccount.Role) == null)
            {
                throw new Exception("Invalid Profile");
            }
            else
            {
                ApplicationAction actions = StaticConfiguration.GetAcrionByProfile(userAccount.Role).Find(x => x.Id == request.ActionId);
                if (actions == null)
                {
                    throw new Exception("Invalid Action");
                }
                Func <PasswordDto, PasswordDto, AccountDto, PasswordActionRequest, PasswordActionResponse> func;
                if (!this.ActionIdToFunction.TryGetValue(request.ActionId, out func))
                {
                    throw new Exception("Δεν βρέθηκε ενέργεια για το Id: " + request.ActionId);
                }
                return(func(savedPassword, request.Password, account, request));
            }
        }
        public AccountActionResponse ExecuteAction(AccountActionRequest request, Guid userID)
        {
            AccountDto userAccount = _baseService.GetAccountById(userID, false);

            if (request.AccountId == null || request.AccountId == Guid.Empty)
            {
                request.AccountId = userID;
            }
            AccountDto savedAccount = _baseService.GetAccountById(request.AccountId, false);

            if (request.Account == null)
            {
                request.Account = savedAccount;
            }

            if (StaticConfiguration.GetAcrionByProfile(userAccount.Role) == null)
            {
                throw new Exception("Invalid Profile");
            }
            else
            {
                ApplicationAction actions = StaticConfiguration.GetAcrionByProfile(userAccount.Role).Find(x => x.Id == request.ActionId);
                if (actions == null)
                {
                    throw new Exception("Invalid Action");
                }
                Func <AccountDto, AccountDto, AccountActionRequest, string, AccountActionResponse> func;
                if (!this.ActionIdToFunction.TryGetValue(request.ActionId, out func))
                {
                    throw new Exception("Δεν βρέθηκε ενέργεια για το Id: " + request.ActionId);
                }

                return(func(savedAccount, request.Account, request, userAccount.Role));
            }
        }
        static void Main()
        {
            //new Test(); return;

            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            ApplicationAction applicationAction = ApplicationAction.Run;

            CommonTools.Gui.Login login = new CommonTools.Gui.Login();
            if (applicationAction.Equals(ApplicationAction.UpdateVersion))
            {
                login.updateVersion();
            }
            login.ShowDialog();
            if (login.isValid())
            {
                switch (applicationAction)
                {
                case ApplicationAction.GenerateDatabaseStructure:
                    CommonTools.Database.DB.Instance.makeDatabaseVariables();
                    break;

                case ApplicationAction.Run:
                    Application.Run(new frmItems());     // Start the main application
                    break;
                }
                //Search.frmAsset.convertImages(); // Convert the original assets
                //Application.Run(new Search.frmAsset()); // Shortcut to the asset search dialog
                //frmItemTree itemTree = new frmItemTree(); itemTree.setSelectedItemId("516"); Application.Run(itemTree); // Shortcut to the item search dialog
            }
        }
 private ApplicationAction GetApplicationAction(Boolean refresh)
 {
     if (_application.IsNull() || refresh)
     {
         _application = new ApplicationAction(GetUserContext());
     }
     return(_application);
 }
示例#8
0
        static void Main(String[] args)
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            ApplicationAction applicationAction = ApplicationAction.Run;

            CommonTools.Gui.Login login = new CommonTools.Gui.Login();
            if (applicationAction.Equals(ApplicationAction.UpdateVersion))
            {
                login.updateVersion();
            }
            login.ShowDialog();
            if (login.isValid())
            {
                switch (applicationAction)
                {
                case ApplicationAction.GenerateDatabaseStructure:
                    CommonTools.Database.DB.Instance.makeDatabaseVariables();
                    break;

                case ApplicationAction.Run:
                {
                    m_frmMission = new FrmMission();
                    m_frmMission.ShowDialog();
                    //System.Console.WriteLine("\n\n" + frmMission.getMissionXml() + "\n\n");
                    //Clipboard.SetText(frmMission.getMissionXml());

                    /*String missionReport = m_frmMission.getMission().getReport();
                     * System.IO.File.Delete("Mission.htm");
                     * StreamWriter streamWriter = new StreamWriter("Mission.htm");
                     * streamWriter.Write(missionReport);
                     * streamWriter.Close();*/
                    //FileStream fileStream = System.IO.File.Open("Mission.hml", FileMode.Truncate);
                    //fileStream.Write((byte[])missionReport.ToCharArray(), 0, missionReport.Length);
                    //System.Console.WriteLine("\n\n" + m_frmMission.getMission().getReport() + "\n\n");
                }
                break;

                case ApplicationAction.Search:
                {
                    CommonTools.Gui.DlgSearch m_dlgSearch = new CommonTools.Gui.DlgSearch();
                    Boolean tryItems = false;
                    if (tryItems)
                    {
                        m_dlgSearch.configure(Net7.Tables.item_base);
                    }
                    else
                    {
                        m_dlgSearch.configure(Net7.Tables.missions);
                    }
                    m_dlgSearch.ShowDialog();
                }
                break;
                }
            }
        }
示例#9
0
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            base.OnNavigatedTo(e);
            AudioBox.ItemsSource = AudioList;

            if ((int)localSettings.Values[Settings.ACTIONACTION] == Settings.Actions.CREATE)
            {
                return;
            }

            using (var context = new TaskSchedulerDbContext())
            {
                Models.Action action = context.Actions.Where(x => x.Id == (int)localSettings.Values[Settings.ACTIONID]).First();

                switch (action.Type)
                {
                case ActionType.URI:
                {
                    UriAction uriAction = context.UriActions.Where(x => x.Id == action.ActionId).First();
                    Uri   = uriAction.Uri;
                    Index = 0;
                }; break;

                case ActionType.NOTIFICATION:
                {
                    NotificationAction notificationAction = context.NotificationActions.Where(x => x.Id == action.ActionId).First();
                    Text  = notificationAction.Text;
                    Image = notificationAction.Image;
                    Audio = notificationAction.Audio.GetValueOrDefault(0);
                    if (notificationAction.Timeout.HasValue)
                    {
                        Timeout = notificationAction.Timeout.Value.ToString();
                    }
                    Index = 1;
                }; break;

                case ActionType.APPLICATION:
                {
                    ApplicationAction applicationAction = context.ApplicationActions.Where(x => x.Id == action.ActionId).First();
                    appListProvider.IsDoneTask.ContinueWith(async(result) =>
                        {
                            await CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
                            {
                                bool ok = appListProvider.AppList.Where(x => x.Package.Id.FullName == applicationAction.ApplicationName).Any();
                                if (ok)
                                {
                                    AppEntry entry             = appListProvider.AppList.Where(x => x.Package.Id.FullName == applicationAction.ApplicationName).First();
                                    LoadedContent.SelectedItem = entry;
                                    LoadedContent.ScrollIntoView(entry);
                                }
                            });
                        });
                    Index = 2;
                }; break;
                }
            }
        }
        /// <summary>
        /// Get ApplicationAction from WebApplicationAction.
        /// </summary>
        /// <param name="userContext">User context.</param>
        /// <param name="webApplicationAction">webApplicationAction.</param>
        /// <returns>Requested application version.</returns>
        public IApplicationAction GetApplicationAction(IUserContext userContext,
                                                       WebApplicationAction webApplicationAction)
        {
            IApplicationAction applicationAction;

            applicationAction = new ApplicationAction(userContext);
            UpdateApplicationAction(userContext, applicationAction, webApplicationAction);
            return(applicationAction);
        }
        private IApplicationAction GetNewApplicationAction()
        {
            IApplicationAction newApplicationAction;

            newApplicationAction               = new ApplicationAction(GetUserContext());
            newApplicationAction.Identifier    = @"ActionIdentity";
            newApplicationAction.ApplicationId = 3;
            newApplicationAction.Name          = @"ActionName";
            newApplicationAction.Description   = @"testdescription";
            return(newApplicationAction);
        }
示例#12
0
 /// <summary>
 /// コンストラクタ
 /// </summary>
 /// <param name="hookService">フックサービス</param>
 /// <param name="applicationAction">アクションサービス</param>
 public SettingsWindowViewModel(HookService hookService, ApplicationAction applicationAction)
 {
     this.TabItems = new List <SettingsBaseViewModel>
     {
         (this.General = new GeneralViewModel().AddTo(this)),
         (this.Output = new OutputViewModel().AddTo(this)),
         (this.ShortcutKey = new ShortcutKeyViewModel().AddTo(this)),
         (this.VersionInfo = new VersionInfoViewModel().AddTo(this)),
     };
     this.SelectedItem      = this.TabItems.FirstOrDefault();
     this.hookService       = hookService;
     this.applicationAction = applicationAction;
 }
示例#13
0
        public async Task BootstrapAsync(ApplicationAction action, bool publishApplicationAction)
        {
            try
            {
                await RunAsync(() => Title = $"{Assembly.GetEntryAssembly().GetAssemblyInformation().Product}");

                if (!WindowsPermissionUtility.IsCurrentUserAdministrator())
                {
                    ShowError("application launched without administrator rights");
                    await RunAsync(Shutdown);

                    return;
                }

                await Bootstrapper.Bootstrapper.StartAsync();

                if (publishApplicationAction)
                {
                    await PublishApplicationActionCommandAsync(action);

                    return;
                }

                StartListener();

                _eventPublisher = DependencyResolver.Current.Resolve <IEventPublisher>();
                _eventPublisher.Register <HideApplicationToTrayEvent>(this);
                _eventPublisher.Register <ShowApplicationEvent>(this);
                _eventPublisher.Register <ShowErrorEvent>(this);
                _eventPublisher.Register <ShutdownEvent>(this);

                _viewModel = DependencyResolver.Current.Resolve <MainWindowViewModel>();

                await _viewModel.InjectionConfigurationViewModel.BootstrapAsync(action);
                await RunAsync(() => DataContext = _viewModel);
                await RunAsync(async() => await _viewModel.InjectionConfigurationViewModel.ShowReleaseNotesAsync());
            }
            catch (SecurityException exception)
            {
                await HandleCriticalErrorAsync(exception, "security exception occured");
            }
            catch (UnauthorizedAccessException exception)
            {
                await HandleCriticalErrorAsync(exception, "unauthorized access exception occured");
            }
            catch (Exception exception)
            {
                await HandleCriticalErrorAsync(exception, "unknown exception occured");
            }
        }
示例#14
0
        private async Task PublishApplicationActionCommandAsync(ApplicationAction action)
        {
            try
            {
                Logger.Current.Log(LogLevel.Information, $"publishing command: {action}");
                var output = await DependencyResolver.Current.Resolve <IPublisher>()
                             .PublishAsync(
                    new Command(
                        CommandId.ApplicationActionCommand,
                        action.ToString()));

                Logger.Current.Log(LogLevel.Information, $"command published: {output}");
            }
            catch (Exception exception)
            {
                Logger.Current.Log(LogLevel.Error, $"unknown exception occured while publishing command: {action}; exception: {exception}");
            }
            finally
            {
                await RunAsync(Shutdown);
            }
        }
示例#15
0
        private void DeleteInitAction()
        {
            if ((int)localSettings.Values[Settings.ACTIONACTION] == Settings.Actions.CREATE)
            {
                return;
            }

            using (var context = new TaskSchedulerDbContext())
            {
                int           deleted_action_id = (int)localSettings.Values[Settings.ACTIONID];
                Models.Action action            = context.Actions.Where(x => x.Id == deleted_action_id).First();

                switch (action.Type)
                {
                case ActionType.URI:
                {
                    UriAction uriAction = context.UriActions.Where(x => x.Id == action.ActionId).First();
                    context.UriActions.Remove(uriAction);
                }; break;

                case ActionType.NOTIFICATION:
                {
                    NotificationAction notificationAction = context.NotificationActions.Where(x => x.Id == action.ActionId).First();
                    context.NotificationActions.Remove(notificationAction);
                }; break;

                case ActionType.APPLICATION:
                {
                    ApplicationAction applicationActions = context.ApplicationActions.Where(x => x.Id == action.ActionId).First();
                    context.ApplicationActions.Remove(applicationActions);
                }; break;
                }

                context.Actions.Remove(action);
                context.SaveChanges();
            }
        }
示例#16
0
        private async Task HandleActionAsync(ApplicationAction applicationAction)
        {
            if (_processable.IsProcessing)
            {
                return;
            }

            switch (applicationAction)
            {
            case ApplicationAction.Default:
                await _publisher.PublishAsync(new ShowApplicationEvent());

                break;

            case ApplicationAction.Injection:
                await _publisher.PublishAsync(new ShowApplicationEvent());
                await InjectPluginAsync(true);

                break;

            default:
                throw new ArgumentOutOfRangeException(nameof(applicationAction), applicationAction, null);
            }
        }
示例#17
0
 public void LogApplicationAction(LogAppActionCommand command)
 {
     EnsureIsValid(command);
     try
     {
         var operation = _db.Operations.Find(command.OperationId);
         if (operation == null)
         {
             throw NotFound.ExceptionFor <Operation>(command.OperationId);
         }
         var appAction = ApplicationAction.Create(
             operation,
             command.Code,
             command.TimestampUtc,
             command.Description,
             command.Data);
         _db.AuditLogs.CreateAction(appAction);
         Commit();
     }
     catch (Exception ex)
     {
         throw new ServiceException("Can't create application action.", ex);
     }
 }
 public void CreateAction(ApplicationAction action)
 {
     EnsureRepositoryException(() => Context.Set <ApplicationAction>().Add(action));
 }
示例#19
0
        private void AppBarButton_Save(object sender, RoutedEventArgs e)
        {
            SolidColorBrush redBrush     = new SolidColorBrush(Colors.Red);
            SolidColorBrush defaultBrush = new SolidColorBrush();

            switch (Index)
            {
            case 0:
            {
                URIBox.BorderBrush = (String.IsNullOrEmpty(Uri) ? redBrush : defaultBrush);
            }; break;

            case 1:
            {
                TextBox.BorderBrush = (String.IsNullOrEmpty(Text) ? redBrush : defaultBrush);
            }; break;

            case 2:
            {
                LoadedContent.BorderBrush     = (LoadedContent.SelectedItems.Count == 0 ? redBrush : defaultBrush);
                LoadedContent.BorderThickness = (LoadedContent.SelectedItems.Count == 0 ? URIBox.BorderThickness : new Thickness());
            }; break;
            }

            if (Index == 0 && String.IsNullOrEmpty(Uri) || Index == 1 && String.IsNullOrEmpty(Text) || Index == 2 && LoadedContent.SelectedItems.Count == 0)
            {
                return;
            }

            using (var context = new TaskSchedulerDbContext())
            {
                int        actionId   = 0;
                ActionType actionType = ActionType.URI;
                switch (Index)
                {
                case 0:
                {
                    UriAction act = new UriAction()
                    {
                        Uri = Uri
                    };
                    context.UriActions.Add(act);
                    context.SaveChanges();
                    actionId   = act.Id;
                    actionType = ActionType.URI;
                }; break;

                case 1:
                {
                    NotificationAction act = new NotificationAction()
                    {
                        Text = Text, Image = Image, Audio = Audio
                    };
                    if (!String.IsNullOrEmpty(Timeout))
                    {
                        act.Timeout = int.Parse(Timeout);
                    }
                    context.NotificationActions.Add(act);
                    context.SaveChanges();
                    actionId   = act.Id;
                    actionType = ActionType.NOTIFICATION;
                }; break;

                case 2:
                {
                    AppEntry          appEntry = (AppEntry)LoadedContent.SelectedItem;
                    ApplicationAction act      = new ApplicationAction()
                    {
                        ApplicationName = appEntry.Package.Id.FullName
                    };
                    context.ApplicationActions.Add(act);
                    context.SaveChanges();
                    actionId   = act.Id;
                    actionType = ActionType.APPLICATION;
                }; break;
                }



                Models.Action action = new Models.Action()
                {
                    ActionId = actionId, Type = actionType
                };
                if ((int)localSettings.Values[Settings.JOBACTION] == Settings.Actions.EDIT)
                {
                    Job job = context.Jobs.Where(x => x.Id == (int)localSettings.Values[Settings.JOBID]).First();
                    action.JobId = job.Id;
                }
                context.Actions.Add(action);
                context.SaveChanges();
                DeleteInitAction();
            }

            Frame rootFrame = Window.Current.Content as Frame;

            rootFrame.GoBack();
        }
示例#20
0
 public ApplicationActionEvent(ApplicationAction action)
 {
     Action = action;
 }
示例#21
0
        public static void RegisterActions(ApplicationDbContext context)
        {
            var q = from type in Assembly.GetExecutingAssembly().GetTypes()
                    where type.IsClass && type.Namespace != null && type.Namespace.Contains("Controller")
                    select type;
            List <string> activeActions = new List <string>();

            foreach (Type controller in q)
            {
                var actions = controller.GetMethods().ToList();
                foreach (MethodInfo mi in actions)
                {
                    AuthorizationService attribute = mi.GetCustomAttribute(typeof(AuthorizationService), false) as AuthorizationService;
                    if (attribute != null)
                    {
                        var actionName = mi.Name;
                        ActionNameAttribute customAction = mi.GetCustomAttribute(typeof(ActionNameAttribute), false) as ActionNameAttribute;
                        if (customAction != null)
                        {
                            actionName = customAction.Name;
                        }
                        string controllerName      = controller.Name.Substring(0, controller.Name.Length - 10);
                        bool   isHttpPost          = mi.GetCustomAttributes(typeof(HttpPostAttribute)).Count() > 0;
                        bool   isBackGroundProcess = mi.ReturnType != typeof(ActionResult) && mi.ReturnType != typeof(IActionResult);
                        var    action = context.ApplicationAction.Where(p => p.ActionName == actionName && p.ControllerName == controllerName).FirstOrDefault();
                        // && p.IsHttpPOST == isHttpPost)
                        var affected = 0;
                        if (action == null)
                        {
                            action = new ApplicationAction
                            {
                                ApplicationAction_Id = $"{controllerName} - {actionName}",
                                ActionName           = actionName,
                                ControllerName       = controllerName,
                                AccessNeeded         = attribute.Assignable,
                                IsHttpPOST           = isHttpPost,
                                Description          = attribute.ActionDescription
                            };
                            context.ApplicationAction.Add(action);
                        }
                        else
                        {
                            action.ApplicationAction_Id = $"{controllerName} - {actionName}";
                            action.ActionName           = actionName;
                            action.ControllerName       = controllerName;
                            action.AccessNeeded         = attribute.Assignable;
                            action.IsHttpPOST           = isHttpPost;
                            action.Description          = attribute.ActionDescription;
                            context.ApplicationAction.Update(action);
                        }
                        affected = context.SaveChanges();
                        if (affected > 0)
                        {
                            activeActions.Add(action.Id);
                        }
                    }
                }
            }

            if (activeActions.Any())
            {
                var actionsToRemove = context.ApplicationAction.Where(a => !activeActions.Contains(a.Id)).ToList();
                if (actionsToRemove.Count > 0)
                {
                    context.RemoveRange(actionsToRemove);
                    context.SaveChanges();
                }

                AJMPActionPermission aJMPActionPermission = new AJMPActionPermission(context);
                aJMPActionPermission.Setup();
            }
            else
            {
                if (context.ApplicationAction.Any())
                {
                    context.ApplicationAction.RemoveRange(context.ApplicationAction.ToList());
                    context.SaveChanges();
                }
            }
        }
 public ApplicationActionTest()
 {
     _application = null;
 }