static ApplicationContainer()
        {
            var builder = new ContainerBuilder();

            builder.RegisterType<MainViewModel>().SingleInstance();
            builder.RegisterType<MessageBoxService>().As<IMessageBoxService>().SingleInstance();
            builder.RegisterType<FileDialogService>().As<IFileDialogService>().SingleInstance();
            builder.RegisterType<AboutViewModel>().As<IAboutViewModel>();

            //ViewService
            var viewService = new ViewService();

            viewService.Register<IAboutViewModel, AboutView>();

            builder.RegisterInstance(viewService).As<IViewService>();

            //DirtyService
            builder.RegisterType<DirtyService>()
                .As<IDirtyService>()
                .As<IMarkClean>()
                .As<IMarkClean>()
                .SingleInstance();

            _instance = builder.Build();
        }
Esempio n. 2
0
        private async void OtworzPodsumowanieFinansoweCommandExecute()
        {
            await ActivityLogger.LogUserActivityAsync();

            ViewService.Show <PodsumowanieFinansoweViewModel>();
        }
Esempio n. 3
0
 private void OnAddActorClicked(object sender, RoutedEventArgs e)
 {
     ViewService.ShowDrawer <TargetSelectorView>(DrawerDirection.Left);
 }
Esempio n. 4
0
        public async Task FunctionHandler(RoutedPodioEvent e, ILambdaContext context)
        {
            //var awsClient = new Amazon.Lambda.AmazonLambdaClient();
            //InvokeRequest request = new InvokeRequest { FunctionName = "FunctionHandler" };
            //await awsClient.InvokeAsync(request);
            context.Logger.LogLine("---Recieved Routed Podio Event");

            var factory         = new AuditedPodioClientFactory(e.solutionId, e.version, e.clientId, e.environmentId);
            var podio           = factory.ForClient(e.clientId, e.environmentId);
            var saasafrasClient = new SaasafrasClient(
                Environment.GetEnvironmentVariable("BBC_SERVICE_URL"),
                Environment.GetEnvironmentVariable("BBC_SERVICE_API_KEY")
                );
            var dictChild = await saasafrasClient.GetDictionary(e.clientId, e.environmentId, e.solutionId, e.version);

            var dictMaster = await saasafrasClient.GetDictionary("vcadministration", "vcadministration", "vilcap", "0.0");

            var ids = new GetIds(dictChild, dictMaster, e.environmentId);

            //string functionName = "VilcapDateAssignTask";

            var taskServ = new TaskService(podio);
            var itemServ = new ItemService(podio);

            var fieldIdToSearch = ids.GetFieldId("Task List|Date");
            var filterValue     = DateTime.Now.AddDays(7).Ticks;

            var viewServ = new ViewService(podio);

            context.Logger.LogLine("Got View Service ...");
            var views = await viewServ.GetViews(22708289);

            var view = from v in views
                       where v.Name == "[TaskAutomation]"
                       select v;

            context.Logger.LogLine($"Got View '[TaskAutomation]' ...");
            var op = new FilterOptions {
                Filters = view.First().Filters
            };
            var filter = await podio.FilterItems(22708289, op);

            context.Logger.LogLine($"Items in filter:{filter.Items.Count()}");

            foreach (var item in filter.Items)
            {
                var responsibleMember = item.Field <ContactItemField>(ids.GetFieldId("Task List|Responsible Member"));
                var title             = item.Field <TextItemField>(ids.GetFieldId("Task List|Title"));
                var date        = item.Field <DateItemField>(ids.GetFieldId("Task List|Date"));
                var description = item.Field <TextItemField>(ids.GetFieldId("Task List|Description"));

                var t = new TaskCreateUpdateRequest
                {
                    Description = description.Value,
                    Private     = false,
                    RefType     = "item",
                    Id          = item.ItemId,
                    DueDate     = date.Start.GetValueOrDefault(),
                    Text        = title.Value
                };

                IEnumerable <int> cIds = new List <int>();
                foreach (var contact in responsibleMember.Contacts)
                {
                    cIds.Append(Convert.ToInt32(contact.UserId));
                }
                t.SetResponsible(cIds);
                //t.SetResponsible(cIds);

                var tasks = await taskServ.CreateTask(t);

                foreach (var task in tasks)
                {
                    await taskServ.AssignTask(Convert.ToInt32(task.TaskId), task.Responsible.UserId); //neccessary?

                    context.Logger.LogLine($"Assigned Task");
                }

                var updateMe = new Item()
                {
                    ItemId = item.ItemId
                };
                var dupecheck = updateMe.Field <CategoryItemField>(ids.GetFieldId("Task List|Task Assigned?"));
                dupecheck.OptionText = "Yes";
                await itemServ.UpdateItem(updateMe, hook : false);

                context.Logger.LogLine($"Updated Item");
            }
        }
Esempio n. 5
0
 private void Initialize()
 {
     ViewService.RegisterView(typeof(MainwindowViewModel), typeof(MainWindow));
 }
Esempio n. 6
0
 private void CreateLoadingScreen()
 {
     ViewService.Show(UI.ViewType.IAPLoadingView);
 }
Esempio n. 7
0
        /// <summary>
        /// Performs a hit test on the design surface, raising <paramref name="callback"/> for each match.
        /// Hit testing continues while the callback returns true.
        /// </summary>
        public void HitTest(Point mousePosition, bool testAdorners, bool testDesignSurface, Predicate <DesignPanelHitTestResult> callback, HitTestType hitTestType)
        {
            if (mousePosition.X < 0 || mousePosition.Y < 0 || mousePosition.X > this.RenderSize.Width || mousePosition.Y > this.RenderSize.Height)
            {
                return;
            }
            // First try hit-testing on the adorner layer.

            bool continueHitTest = true;

            HitTestFilterCallback filterBehavior = CustomHitTestFilterBehavior ?? (x => FilterHitTestInvisibleElements(x, hitTestType));

            CustomHitTestFilterBehavior = null;

            if (testAdorners)
            {
                RunHitTest(
                    _adornerLayer, mousePosition, filterBehavior,
                    delegate(HitTestResult result) {
                    if (result != null && result.VisualHit != null && result.VisualHit is Visual)
                    {
                        DesignPanelHitTestResult customResult = new DesignPanelHitTestResult((Visual)result.VisualHit);
                        DependencyObject obj = result.VisualHit;
                        while (obj != null && obj != _adornerLayer)
                        {
                            AdornerPanel adorner = obj as AdornerPanel;
                            if (adorner != null)
                            {
                                customResult.AdornerHit = adorner;
                            }
                            obj = VisualTreeHelper.GetParent(obj);
                        }
                        continueHitTest = callback(customResult);
                        return(continueHitTest ? HitTestResultBehavior.Continue : HitTestResultBehavior.Stop);
                    }
                    else
                    {
                        return(HitTestResultBehavior.Continue);
                    }
                });
            }

            if (continueHitTest && testDesignSurface)
            {
                RunHitTest(
                    this.Child, mousePosition, filterBehavior,
                    delegate(HitTestResult result) {
                    if (result != null && result.VisualHit != null && result.VisualHit is Visual)
                    {
                        DesignPanelHitTestResult customResult = new DesignPanelHitTestResult((Visual)result.VisualHit);

                        ViewService viewService = _context.Services.View;
                        DependencyObject obj    = result.VisualHit;

                        while (obj != null)
                        {
                            if ((customResult.ModelHit = viewService.GetModel(obj)) != null)
                            {
                                break;
                            }
                            obj = VisualTreeHelper.GetParent(obj);
                        }
                        if (customResult.ModelHit == null)
                        {
                            customResult.ModelHit = _context.RootItem;
                        }


                        continueHitTest = callback(customResult);
                        return(continueHitTest ? HitTestResultBehavior.Continue : HitTestResultBehavior.Stop);
                    }
                    else
                    {
                        return(HitTestResultBehavior.Continue);
                    }
                }
                    );
            }
        }
Esempio n. 8
0
        protected override ICollection <DesignItem> GetChildDesignItemsInContainer(Geometry geometry)
        {
            HashSet <DesignItem> resultItems = new HashSet <DesignItem>();
            ViewService          viewService = container.Services.View;

            HitTestFilterCallback filterCallback = delegate(DependencyObject potentialHitTestTarget)
            {
                FrameworkElement element = potentialHitTestTarget as FrameworkElement;
                if (element != null)
                {
                    // ensure we are able to select elements with width/height=0
                    if (element.ActualWidth == 0 || element.ActualHeight == 0)
                    {
                        DependencyObject tmp   = element;
                        DesignItem       model = null;
                        while (tmp != null)
                        {
                            model = viewService.GetModel(tmp);
                            if (model != null)
                            {
                                break;
                            }
                            tmp = VisualTreeHelper.GetParent(tmp);
                        }
                        if (model != container)
                        {
                            resultItems.Add(model);
                            return(HitTestFilterBehavior.ContinueSkipChildren);
                        }
                    }
                }
                return(HitTestFilterBehavior.Continue);
            };

            HitTestResultCallback resultCallback = delegate(HitTestResult result)
            {
                if (((GeometryHitTestResult)result).IntersectionDetail == IntersectionDetail.FullyInside || (Mouse.RightButton == MouseButtonState.Pressed && ((GeometryHitTestResult)result).IntersectionDetail == IntersectionDetail.Intersects))
                {
                    // find the model for the visual contained in the selection area
                    DependencyObject tmp   = result.VisualHit;
                    DesignItem       model = null;
                    while (tmp != null)
                    {
                        model = viewService.GetModel(tmp);
                        if (model != null)
                        {
                            break;
                        }
                        tmp = VisualTreeHelper.GetParent(tmp);
                    }
                    if (model != container)
                    {
                        resultItems.Add(model);
                    }
                }
                return(HitTestResultBehavior.Continue);
            };

            VisualTreeHelper.HitTest(container.View, filterCallback, resultCallback, new GeometryHitTestParameters(geometry));
            return(resultItems);
        }
Esempio n. 9
0
 private void AddCommandExecute()
 {
     ViewService.Show <GPRuchNaglowekViewModel>();
 }
        /// <summary>
        /// Performs a hit test on the design surface, raising <paramref name="callback"/> for each match.
        /// Hit testing continues while the callback returns true.
        /// </summary>
        public void HitTest(Point mousePosition, bool testAdorners, bool testDesignSurface, Predicate <DesignPanelHitTestResult> callback, HitTestType hitTestType)
        {
            if (mousePosition.X < 0 || mousePosition.Y < 0 || mousePosition.X > this.RenderSize.Width || mousePosition.Y > this.RenderSize.Height)
            {
                return;
            }
            // First try hit-testing on the adorner layer.

            bool continueHitTest = true;

            HitTestFilterCallback filterBehavior = CustomHitTestFilterBehavior ?? FilterHitTestInvisibleElements;

            CustomHitTestFilterBehavior = null;
            hitTestElements.Clear();

            if (testAdorners)
            {
                RunHitTest(
                    _adornerLayer, mousePosition, filterBehavior,
                    delegate(HitTestResult result) {
                    if (result != null && result.VisualHit != null && result.VisualHit is Visual)
                    {
                        DesignPanelHitTestResult customResult = new DesignPanelHitTestResult((Visual)result.VisualHit);
                        DependencyObject obj = result.VisualHit;
                        while (obj != null && obj != _adornerLayer)
                        {
                            AdornerPanel adorner = obj as AdornerPanel;
                            if (adorner != null)
                            {
                                customResult.AdornerHit = adorner;
                            }
                            obj = VisualTreeHelper.GetParent(obj);
                        }
                        continueHitTest = callback(customResult);
                        return(continueHitTest ? HitTestResultBehavior.Continue : HitTestResultBehavior.Stop);
                    }
                    else
                    {
                        return(HitTestResultBehavior.Continue);
                    }
                });
            }

            if (continueHitTest && testDesignSurface)
            {
                RunHitTest(
                    this.Child, mousePosition, filterBehavior,
                    delegate(HitTestResult result) {
                    if (result != null && result.VisualHit != null && result.VisualHit is Visual)
                    {
                        DesignPanelHitTestResult customResult = new DesignPanelHitTestResult((Visual)result.VisualHit);

                        ViewService viewService = _context.Services.View;
                        DependencyObject obj    = result.VisualHit;

                        if (hitTestType == HitTestType.ElementSelection)
                        {
                            if (Keyboard.IsKeyDown(Key.LeftAlt))
                            {
                                if (lastElement != null && lastElement != _context.RootItem.Component &&
                                    hitTestElements.Contains(lastElement))
                                {
                                    var idx = hitTestElements.IndexOf(lastElement) - 1;
                                    if (idx >= 0)
                                    {
                                        obj = hitTestElements[idx];
                                    }
                                }
                            }
                        }

                        while (obj != null)
                        {
                            if ((customResult.ModelHit = viewService.GetModel(obj)) != null)
                            {
                                break;
                            }
                            obj = VisualTreeHelper.GetParent(obj);
                        }
                        if (customResult.ModelHit == null)
                        {
                            customResult.ModelHit = _context.RootItem;
                        }

                        if (hitTestType == HitTestType.ElementSelection)
                        {
                            lastElement = obj;
                        }


                        continueHitTest = callback(customResult);
                        return(continueHitTest ? HitTestResultBehavior.Continue : HitTestResultBehavior.Stop);
                    }
                    else
                    {
                        return(HitTestResultBehavior.Continue);
                    }
                }
                    );
            }
        }
Esempio n. 11
0
        public async System.Threading.Tasks.Task CreateExpendituresAndPreWSSurvs(ILambdaContext context, Podio podio, ViewService viewServ, Item check, RoutedPodioEvent e, DriveService service, GetIds ids, GoogleIntegration google)
        {
            try
            {
                var fieldId = 0;
                context.Logger.LogLine("Creating Expenditures and Pre WS Surveys");
                //--- Create Program Budget Template (Expendatures) ---//
                viewServ = new ViewService(podio);
                context.Logger.LogLine("Got View Service");
                var views = await viewServ.GetViews(21481130);                 //VC Admin Master Schedule App

                var view = from v in views
                           where v.Name == "Workshop Associations"
                           select v;
                context.Logger.LogLine("Got View");
                var op = new FilterOptions
                {
                    Filters = view.First().Filters,
                    Limit   = 500
                };
                var filter = await podio.FilterItems(21481130, op);

                foreach (var master in filter.Items)
                {
                    var child = new Item();

                    fieldId = ids.GetFieldId("VC Administration|Expenditures Curation |Purpose");
                    var purposeMaster = master.Field <TextItemField>(fieldId);
                    if (purposeMaster.Value != null)
                    {
                        fieldId = ids.GetFieldId("Expenditures|Purpose");
                        var purposeChild = child.Field <TextItemField>(fieldId);
                        purposeChild.Value = purposeMaster.Value;
                    }

                    fieldId = ids.GetFieldId("VC Administration|Expenditures Curation |Workshop Associations");
                    var waMaster = master.Field <CategoryItemField>(fieldId);
                    if (waMaster.Options.Any())
                    {
                        fieldId = ids.GetFieldId("Expenditures|Workshop Associations");
                        var waChild = child.Field <CategoryItemField>(fieldId);
                        waChild.OptionText = waMaster.Options.First().Text;
                    }

                    fieldId = ids.GetFieldId("VC Administration|Expenditures Curation |Expense Type");
                    var expMaster = master.Field <CategoryItemField>(fieldId);
                    if (expMaster.Options.Any())
                    {
                        fieldId = ids.GetFieldId("Expenditures|Expense Type");
                        var expChild = child.Field <CategoryItemField>(fieldId);
                        expChild.OptionText = expMaster.Options.First().Text;
                    }

                    fieldId = ids.GetFieldId("VC Administration|Expenditures Curation |Amount");
                    var amountMaster = master.Field <MoneyItemField>(fieldId);
                    if (amountMaster.Value.HasValue)
                    {
                        fieldId = ids.GetFieldId("Expenditures|Amount");
                        var amountChild = child.Field <MoneyItemField>(fieldId);
                        amountChild.Value = amountMaster.Value;
                    }
                    fieldId = ids.GetFieldId("Admin|Program Manager");
                    var managerMaster = check.Field <ContactItemField>(fieldId);
                    if (managerMaster.Contacts.Any())
                    {
                        fieldId = ids.GetFieldId("Expenditures|Spender");
                        var managerChild = child.Field <ContactItemField>(fieldId);
                        var cs           = new List <int>();
                        foreach (var contact in managerMaster.Contacts)
                        {
                            cs.Add(contact.ProfileId);
                            managerChild.ContactIds = cs;
                        }
                    }
                    fieldId = ids.GetFieldId("Expenditures|Status");
                    var status = child.Field <CategoryItemField>(fieldId);
                    status.OptionText = "Template";
                    var waitSeconds = 5;
CallPodio:
                    try
                    {
                        await podio.CreateItem(child, ids.GetFieldId($"Expenditures"), false);
                    }
                    catch (PodioUnavailableException ex)
                    {
                        context.Logger.LogLine($"{ex.Message}");
                        context.Logger.LogLine($"Trying again in {waitSeconds} seconds.");
                        for (var i = 0; i < waitSeconds; i++)
                        {
                            System.Threading.Thread.Sleep(1000);
                            context.Logger.LogLine(".");
                        }
                        waitSeconds = waitSeconds * 2;
                        goto CallPodio;
                    }
                }

                //--- Create Pre-Workshop Surveys ---//
                context.Logger.LogLine("Creating surveys");
                viewServ = new ViewService(podio);
                context.Logger.LogLine("Got View Service");
                views = await viewServ.GetViews(21389770);                 //VC Admin Master Schedule App

                view = from v in views
                       where v.Name == "PreWS"
                       select v;
                context.Logger.LogLine("Got View");
                op = new FilterOptions
                {
                    Filters = view.First().Filters,
                    Limit   = 500
                };
                filter = await podio.FilterItems(21389770, op);

                foreach (var master in filter.Items)
                {
                    var child = new Item();
                    fieldId = ids.GetFieldId("VC Administration|Survey|Title");
                    var titleMaster = master.Field <TextItemField>(fieldId);
                    if (titleMaster.Value != null)
                    {
                        fieldId = ids.GetFieldId("Surveys|Title");
                        var titleChild = child.Field <TextItemField>(fieldId);
                        titleChild.Value = titleMaster.Value;
                    }

                    fieldId = ids.GetFieldId("VC Administration|Survey|Notes");
                    var notesMaster = master.Field <TextItemField>(fieldId);
                    if (notesMaster.Value != null)
                    {
                        fieldId = ids.GetFieldId("Surveys|Notes");
                        var notesChild = child.Field <TextItemField>(fieldId);
                        //notesChild.Value = StripHTML(notesMaster.Value);
                        notesChild.Value = notesMaster.Value;
                    }

                    fieldId = ids.GetFieldId("VC Administration|Survey|Related Workshop");
                    var relMaster = master.Field <CategoryItemField>(fieldId);
                    if (relMaster.Options.Any())
                    {
                        fieldId = ids.GetFieldId("Surveys|Related Workshop");
                        var relChild = child.Field <CategoryItemField>(fieldId);
                        relChild.OptionText = relMaster.Options.First().Text;
                    }

                    fieldId = ids.GetFieldId("VC Administration|Survey|Gdrive Survey");
                    var embedMaster = master.Field <EmbedItemField>(fieldId);
                    fieldId = ids.GetFieldId("Surveys|Link to Survey");
                    var embedChild     = child.Field <EmbedItemField>(fieldId);
                    var embeds         = new List <Embed>();
                    var parentFolderId = Environment.GetEnvironmentVariable("GOOGLE_PARENT_FOLDER_ID");
                    var cloneFolderId  = google.GetSubfolderId(service, podio, e, parentFolderId);
                    foreach (var em in embedMaster.Embeds)
                    {
                        if (em.OriginalUrl.Contains(".google."))
                        {
                            await google.UpdateOneEmbed(service, em, embeds, cloneFolderId, podio, e);
                        }
                        else                                  // Hold for 2.0 //
                        {
                            var nonG = new NonGdriveLinks();
                            await nonG.NonGDriveCopy(em, embeds, podio, e);
                        }
                    }
                    foreach (var embed in embeds)
                    {
                        embedChild.AddEmbed(embed.EmbedId);
                    }
                    var waitSeconds = 5;
CallPodio:
                    try
                    {
                        await podio.CreateItem(child, ids.GetFieldId("Surveys"), false);
                    }
                    catch (PodioUnavailableException ex)
                    {
                        context.Logger.LogLine($"{ex.Message}");
                        context.Logger.LogLine($"Trying again in {waitSeconds} seconds.");
                        for (var i = 0; i < waitSeconds; i++)
                        {
                            System.Threading.Thread.Sleep(1000);
                            context.Logger.LogLine(".");
                        }
                        waitSeconds = waitSeconds * 2;
                        goto CallPodio;
                    }
                }
            }
            catch (Exception ex)
            {
                context.Logger.LogLine(ex.Message);
            }
        }
Esempio n. 12
0
 private void OnLoadReferentsSuccess(List <Referent> _Result)
 {
     ReferentList = _Result;
     ViewService.ToggleUI();
     ViewService.TriggerUIBindings();
 }
Esempio n. 13
0
 internal void LoadData()
 {
     ViewService.ToggleUI();
     Task.Factory.StartNew(async() => await CommunicationService.LoadReferents(new OnLoadReferentsSuccess(OnLoadReferentsSuccess)));
 }
Esempio n. 14
0
        public PostsController(IOptions <Blog.Settings> settings, IPostService postService)
        {
            this.postService = postService;

            this.viewService = new ViewService(settings, this.postService);
        }
Esempio n. 15
0
        private async void OtworzEwidencjeStanuKontCommandExecute()
        {
            await ActivityLogger.LogUserActivityAsync();

            ViewService.Show <EwidencjaStanKontViewModel>();
        }
Esempio n. 16
0
        public void ConfigureContainer()
        {
            ShootingRangeEntities entities = new ShootingRangeEntities();

            _messenger = new Messenger();
            ContainerBuilder builder = new ContainerBuilder();
            builder.RegisterInstance(_messenger).As<IMessenger>();

            IShooterNumberService shooterNumberService = new ShooterNumberService(new ShooterNumberConfigDataStore(entities)); 
            IPersonDataStore personDataStore = new PersonDataStore(entities);
            IShooterCollectionDataStore shooterCollectionDataStore = new ShooterCollectionDataStore(entities);
            ICollectionShooterDataStore collectionShooterDataStore = new CollectionShooterDataStore(entities);
            IShooterDataStore shooterDataStore = new ShooterDataStore(entities);
            IShooterParticipationDataStore shooterParticipationDataStore = new ShooterParticipationDataStore(entities);
            ISessionDataStore sessionDataStore = new SessionDataStore(entities);
            ISessionSubtotalDataStore sessionSubtotalDataStore = new SessionSubtotalDataStore(entities);
            IShotDataStore shotDataStore = new ShotDataStore(entities);

            IBarcodePrintService barcodePrinter = new PtouchBarcodePrinter();
            IBarcodeBuilderService barcodeBuilder = new Barcode2Of5InterleavedService();
            ISsvShooterDataWriterService shooterDataWriter = new SsvFileWriter(@"C:\Sius\SiusData\SSVDaten\SSV_schuetzen.txt");

            builder.RegisterInstance(shooterNumberService).As<IShooterNumberService>();
            builder.RegisterInstance(personDataStore).As<IPersonDataStore>();
            builder.RegisterInstance(shooterDataStore).As<IShooterDataStore>();
            builder.RegisterInstance(new ShooterParticipationDataStore(entities)).As<IShooterParticipationDataStore>();
            builder.RegisterInstance(shooterCollectionDataStore).As<IShooterCollectionDataStore>();
            builder.RegisterInstance(collectionShooterDataStore).As<ICollectionShooterDataStore>();
            builder.RegisterInstance(sessionDataStore).As<ISessionDataStore>();
            builder.RegisterInstance(sessionSubtotalDataStore).As<ISessionSubtotalDataStore>();
            builder.RegisterInstance(shotDataStore).As<IShotDataStore>();

            builder.RegisterInstance(barcodePrinter).As<IBarcodePrintService>();
            builder.RegisterInstance(barcodeBuilder).As<IBarcodeBuilderService>();
            builder.RegisterInstance(shooterDataWriter).As<ISsvShooterDataWriterService>();

            _vs = new ViewService();
            ViewServiceHandler vsh = new ViewServiceHandler();

            #region Windows and Dialogs

            _vs.RegisterFunction<MainWindowViewModel, IWindow>(
                (window, model) => vsh.GetOwnedWindow<MainWindow>((Window) window, model));

            #endregion

            _vs.RegisterFunction<PersonsPageViewModel, IPage>(
                (window, model) => vsh.GetUserControl<UcPersons>((Window) window, model));
            _vs.RegisterFunction<GroupsPageViewModel, IPage>(
                (window, model) => vsh.GetUserControl<UcGroups>((Window) window, model));
            _vs.RegisterFunction<ResultsPageViewModel, IPage>(
                (window, model) => vsh.GetUserControl<UcResults>((Window) window, model));
            _vs.RegisterFunction<RankViewModel, IPage>(
                (window, model) => vsh.GetUserControl<UcRankings>((Window) window, model));

            _vs.RegisterFunction<CreatePersonViewModel, IWindow>(
                (window, model) => vsh.GetOwnedWindow<CreatePerson>((Window) window, model));
            _vs.RegisterFunction<CreateGroupingViewModel, IWindow>(
                (window, model) => vsh.GetOwnedWindow<CreateGrouping>((Window) window, model));
            _vs.RegisterFunction<EditGroupingViewModel, IWindow>(
                (window, model) => vsh.GetOwnedWindow<EditGrouping>((Window) window, model));
            _vs.RegisterFunction<SelectParticipationViewModel, IWindow>(
                (window, model) => vsh.GetOwnedWindow<AddParticipationToShooterDialog>((Window) window, model));
            _vs.RegisterFunction<SelectGroupingViewModel, IWindow>(
                (window, model) => vsh.GetOwnedWindow<AddGroupingToShooterDialog>((Window) window, model));
            _vs.RegisterFunction<SelectShooterViewModel, IWindow>(
                (window, model) => vsh.GetOwnedWindow<AddShooterToGroupingDialog>((Window) window, model));
            _vs.RegisterFunction<ReassignSessionViewModel, IWindow>(
                (window, model) => vsh.GetOwnedWindow<ReassignSessionDialog>((Window) window, model));
            _vs.RegisterFunction<ReassignProgramNumberViewModel, IWindow>(
                (window, model) => vsh.GetOwnedWindow<ReassignProgramNumber>((Window) window, model));

            _vs.RegisterFunction<YesNoMessageBoxViewModel, IWindow>(
                (w, m) => vsh.GetOwnedWindow<YesNoMessageBox>((Window) w, m));
            _vs.RegisterFunction<MessageBoxViewModel, IWindow>((w, m) => vsh.GetOwnedWindow<OkMessageBox>((Window) w, m));

            InitializeServiceDeskConfiguration();
            _config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
            ServiceDeskConfiguration serviceDeskConfiguration =
                _config.GetSection("ServiceDeskConfiguration") as ServiceDeskConfiguration;

            if (serviceDeskConfiguration == null)
            {
                serviceDeskConfiguration = new ServiceDeskConfiguration();
                _config.Sections.Add("ServiceDeskConfiguration", serviceDeskConfiguration);
            }

            builder.Register(c => serviceDeskConfiguration);
            
            IContainer container = builder.Build();
            ServiceLocator.SetLocatorProvider(() => new AutofacServiceLocator(container));

            PersonsPageViewModel personsPageViewModel = new PersonsPageViewModel();
            personsPageViewModel.Initialize();

            GroupsPageViewModel groupsPageViewModel = new GroupsPageViewModel();
            groupsPageViewModel.Initialize();

            ResultsPageViewModel resultsPageViewModel = new ResultsPageViewModel();
            resultsPageViewModel.Initialize();

            RankViewModel rankViewModel = new RankViewModel();
            rankViewModel.Initialize();

            RegisterCreatePersonDialog(personDataStore);
            RegisterEditPersonDialog(personDataStore);
            RegisterCreateGroupingDialog(shooterCollectionDataStore, serviceDeskConfiguration);
            RegisterEditGroupingDialog(shooterCollectionDataStore);
            RegisterDeletePersonDialog(personDataStore);
            RegisterDeleteGroupingDialog(shooterCollectionDataStore);
            RegisterAddShooterToGroupingDialog(collectionShooterDataStore);
            RegisterDeleteShooterDialog(shooterDataStore);
            RegisterAddGroupingToShooterDialog(collectionShooterDataStore);
            RegisterRemoveGroupingFromShooterDialog(collectionShooterDataStore);
            RegisterAddParticipationToShooterDialog(shooterParticipationDataStore);
            RegisterRemoveParticipationFromShooterDialog(shooterParticipationDataStore);
            RegisterMessageBoxDialog();
            RegisterReassignSessionDialog(sessionDataStore);
            RegisterReassignShooterNumberDialog(sessionDataStore);

            RegisterShowShooterPageMessage(personsPageViewModel);
            RegisterShowGroupsPageMessage(groupsPageViewModel);
            // RegisterShowResultsPageMessage(resultsPageViewModel);
            RegisterShowRankingsPageMessage(rankViewModel);
        }
Esempio n. 17
0
        public void DodajZlecenieCieciaCommandExecute_OtwieraOknoZeZleceniamiCiecia()
        {
            sut.DodajZlecenieCieciaCommand.Execute(null);

            ViewService.Verify(v => v.Show <ZlecenieCieciaEwidencjaViewModel>());
        }
Esempio n. 18
0
        public async void Execute(object parameter)
        {
            List <BrandCar> list = await Task.Run(() => SearchBrand(parameter));

            ViewService.Resolve <MainWindow>().DataGridTask2.ItemsSource = list;
        }
Esempio n. 19
0
        public void DodajZlecenieProdukcyjneCommandExecute_OtwieraEwidencjeZlecenProdukcyjnych()
        {
            sut.DodajZlecenieProdukcyjneCommand.Execute(null);

            ViewService.Verify(v => v.Show <ZlecenieProdukcyjneEwidencjaViewModel>());
        }
Esempio n. 20
0
 /// <summary>
 /// Informs the user about the application exit and closes the application.
 /// </summary>
 private static void Close()
 {
     ViewService.Sorry();
     CloseApplication();
 }
Esempio n. 21
0
        public void ZamknijOknoCommand_IsChangedFalse_ZamknijOkno()
        {
            sut.CloseWindowCommand.Execute(null);

            ViewService.Verify(v => v.Close(sut.GetType().Name));
        }
Esempio n. 22
0
 private void RemoveLoadingScreen()
 {
     ViewService.Remove(UI.ViewType.IAPLoadingView);
 }
Esempio n. 23
0
        private void ShowAbout()
        {
            var svm = GetViewModel <AboutViewModel>();

            ViewService.ShowModalView(svm);
        }
Esempio n. 24
0
        public override async Task Initialize()
        {
            await base.Initialize();

            if (!File.Exists(VersionFile))
            {
                throw new Exception("No version file found");
            }

            string[] parts = File.ReadAllText(VersionFile).Split(';');

            Version = DateTimeOffset.Parse(parts[0].Trim()).ToUniversalTime();
            SupportedGameVersion = parts[1].Trim();

            // Debug builds should not attempt to update
#if DEBUG
            Version = DateTimeOffset.UtcNow;
#endif

            DateTimeOffset lastCheck = SettingsService.Current.LastUpdateCheck;
            TimeSpan       elapsed   = DateTimeOffset.Now - lastCheck;
            if (elapsed.TotalHours < 6)
            {
                Log.Information("Last update check was less than 6 hours ago. Skipping.");
                return;
            }

            if (Directory.Exists(UpdateTempDir))
            {
                Directory.Delete(UpdateTempDir, true);
            }

            if (!this.httpClient.DefaultRequestHeaders.Contains("User-Agent"))
            {
                this.httpClient.DefaultRequestHeaders.Add("User-Agent", "AutoUpdater");
            }

            try
            {
                string url    = $"https://api.github.com/repos/{Repository}/releases/latest";
                string result = await this.httpClient.GetStringAsync(url);

                this.currentRelease = JsonSerializer.Deserialize <Release>(result);

                if (this.currentRelease == null)
                {
                    throw new Exception("Failed to deserialize json response");
                }

                if (this.currentRelease.Published == null)
                {
                    throw new Exception("No published timestamp in update json");
                }

                DateTimeOffset published = (DateTimeOffset)this.currentRelease.Published;
                published = published.ToUniversalTime();

                if (this.currentRelease.Published != null && published > Version)
                {
                    await Dispatch.MainThread();

                    UpdateDialog dlg = new UpdateDialog();
                    dlg.Changes = this.currentRelease.Changes;
                    await ViewService.ShowDialog <UpdateDialog, bool?>("Update", dlg);
                }

                SettingsService.Current.LastUpdateCheck = DateTimeOffset.Now;
                SettingsService.Save();
            }
            catch (HttpRequestException ex)
            {
                // 404 errors just mean there are no latest releases.
                if (ex.StatusCode == HttpStatusCode.NotFound)
                {
                    SettingsService.Current.LastUpdateCheck = DateTimeOffset.Now;
                    SettingsService.Save();
                    return;
                }

                throw;
            }
            catch (Exception ex)
            {
                Log.Error(ex, "Failed to complete update check");
            }
        }
    protected override void Execute(List <GameEntity> entities)
    {
        foreach (var e in entities)
        {
            if (e.health.value <= 0f)
            {
                e.isDestroyed = true;

                if (!e.hasPosition || !e.hasColor || !e.hasRadius || !e.hasVelocity || !e.hasMass)
                {
                    continue;
                }

                var debrisCount = GameControllerMono.debrisCount;

                var debrisGeneration = (e.hasDebrisGeneration)
                    ? e.debrisGeneration.value + 1
                    : 1;
                debrisCount = Mathf.Max(1, debrisCount / debrisGeneration);

                if (debrisGeneration > GameControllerMono.debrisMaxGeneration &&
                    !GameControllerMono.debrisFinalGenerationPersistant)
                {
                    continue;
                }

                var sectorAngle             = 360f / debrisCount;
                var parentPosition          = e.position.value;
                var debrisColor             = e.color.value;
                var debrisScale             = e.radius.value * GameControllerMono.debrisSizeMultiplier;
                var debrisMass              = e.mass.value * GameControllerMono.debrisSizeMultiplier;
                var parentVelocity          = e.velocity.value;
                var parentVelocityMagnitude = parentVelocity.magnitude;

                for (int i = 0; i < debrisCount; i++)
                {
                    var debrisSpawnPosition = parentPosition + (Vector2)(Quaternion.Euler(0f, 0f, sectorAngle * i)
                                                                         * (Vector2.up * GameControllerMono.debrisSpawnDistance));
                    var awayFromParentVector = (debrisSpawnPosition - parentPosition).normalized;
                    var debrisVelocity       = awayFromParentVector * parentVelocityMagnitude
                                               * GameControllerMono.debrisVelocityMultiplier;

                    var debrisEntity = contexts.game.CreateEntity();
                    ViewService.LoadAsset(contexts, debrisEntity, GameControllerMono.planetAssetName, debrisSpawnPosition);
                    debrisEntity.ReplaceColor(debrisColor);
                    debrisEntity.ReplaceRadius(debrisScale);
                    debrisEntity.ReplaceMass(debrisMass);
                    debrisEntity.ReplacePosition(debrisSpawnPosition);
                    debrisEntity.ReplaceVelocity(debrisVelocity);
                    debrisEntity.isCollideable = true;
                    debrisEntity.AddDebrisGeneration(debrisGeneration);

                    if (!GameControllerMono.debrisFinalGenerationPersistant)
                    {
                        debrisEntity.AddHealth(1f);
                    }
                    else if (debrisGeneration < GameControllerMono.debrisMaxGeneration)
                    {
                        debrisEntity.AddHealth(1f);
                    }
                }
            }
        }
    }
        private void ShowAbout()
        {
            var svm = CompositionHost.GetInstance <AboutViewModel>();

            ViewService.ShowModalView(svm);
        }
 /// <summary>
 /// The constructor.
 /// </summary>
 /// <param name="viewService">the view service</param>
 /// <param name="accountService">the account service</param>
 public LoginView(ViewService viewService, IAccountService accountService)
 {
     this.viewService    = viewService;
     this.accountService = accountService;
     InitializeComponent();
 }
Esempio n. 28
0
 private void OtworzKonfiguracjeUrzadzenCommandExecute()
 {
     ViewService.ShowDialog <KonfiguracjaUrzadzenViewModel>();
 }
 public static void AddService <T>(this IViewServiceProvider self, Func <T> serviceFactory, string?key = null)
     where T : IViewService =>
 ViewService.AddService <T>(self, serviceFactory, key);
Esempio n. 30
0
        private async void OtworzEwidencjePrzerobuGokomorkiCommandExecute()
        {
            await ActivityLogger.LogUserActivityAsync();

            ViewService.Show <EwidencjaPrzerobProdukcjaGeokomorkaViewModel>();
        }
Esempio n. 31
0
        public async System.Threading.Tasks.Task <int> CreateAddons(ILambdaContext context, Podio podio, Item check, RoutedPodioEvent e, DriveService service, GetIds ids, GoogleIntegration google, PreSurvAndExp pre)
        {
            #region // Utility vars //

            const int MASTER_CONTENT_APP = 21310273;

            var commentText   = "";
            var fieldId       = 0;
            var count         = 0;
            var workshopAppId = ids.GetFieldId("Workshop Modules");
            var tasklistAppId = ids.GetFieldId("Task List");
            var waitSeconds   = 5;

            var day           = 0;
            var timeFromStart = new TimeSpan(0);
            #endregion

            #region // Admin app values //

            var startDateId = ids.GetFieldId("Admin|Program Start Date");
            var startDate   = new DateTime(check.Field <DateItemField>(startDateId).Start.Value.Ticks);

            var addonId = ids.GetFieldId("Admin|Addons");
            var addon   = check.Field <CategoryItemField>(addonId).Options.First().Text;

            #endregion

            #region // Get Modules //

            var viewServ = new ViewService(podio);
            context.Logger.LogLine("Got View Service");
            var views = await viewServ.GetViews(MASTER_CONTENT_APP);

            var view = from v in views
                       where v.Name == addon
                       select v;
            context.Logger.LogLine($"Got View '{addon}'");

            var op = new FilterOptions {
                Filters = view.First().Filters
            };
            op.SortBy   = "185391072"; // fieldId of Package Sequence (num) from Content Curation
            op.SortDesc = false;

            context.Logger.LogLine($"Grabbing Items ...");
            filter = await podio.FilterItems(MASTER_CONTENT_APP, op);

            context.Logger.LogLine($"Items in filter:{filter.Items.Count()}");
            commentText = $"Addon Batch finished";

            if (filter.Items.Count() > 0)
            {
                context.Logger.LogLine("WARNING: No items found for batch!");
                commentText = "No items found for this Addon";
            }
            #endregion

            // Main Loop //

            foreach (var master in filter.Items)
            {
                // Setup //
                count += 1;
                context.Logger.LogLine($"On item #: {count}");
                var child = new Item();

                #region // Check for new Day //

                fieldId = ids.GetFieldId("VC Administration|Content Curation |Workshop Day");
                var dayMaster = master.Field <CategoryItemField>(fieldId);
                if (dayMaster.Values != null)
                {
                    var dayMasterVal = 0;
                    Int32.TryParse(dayMaster.Options.First().Text.Split("Day ")[1], out dayMasterVal);

                    if ((dayMasterVal != day) && (dayMasterVal != 0))
                    {
                        day           = dayMasterVal;
                        timeFromStart = TimeSpan.FromDays(day - 1);
                    }
                }
                #endregion

                #region // Assign Fields //

                fieldId = ids.GetFieldId("VC Administration|Content Curation |Workshop Detail Title");
                var titleMaster = master.Field <TextItemField>(fieldId);
                if (titleMaster.Value != null)
                {
                    fieldId = ids.GetFieldId("Workshop Modules|Title");
                    var titleChild = child.Field <TextItemField>(fieldId);
                    titleChild.Value = titleMaster.Value;
                }

                fieldId = ids.GetFieldId("VC Administration|Content Curation |Purpose");
                var descMaster = master.Field <TextItemField>(fieldId);
                if (descMaster.Value != null)
                {
                    fieldId = ids.GetFieldId("Workshop Modules|Description");
                    var descChild = child.Field <TextItemField>(fieldId);
                    //descChild.Value = StripHTML(descMaster.Value);
                    descChild.Value = descMaster.Value;
                }

                var offsetMaster = master.Field <NumericItemField>(ids.GetFieldId("VC Administration|Content Curation |Minute Offset"));
                if (offsetMaster.Value != null)
                {
                    fieldId = ids.GetFieldId("Workshop Modules|Minute Offset");
                    var offsetChild = child.Field <NumericItemField>(fieldId);
                    offsetChild.Value = offsetMaster.Value;
                }

                fieldId = ids.GetFieldId("VC Administration|Content Curation |Entrepreneur Pre-Work Required");
                var workMaster = master.Field <TextItemField>(fieldId);
                if (workMaster.Value != null)
                {
                    fieldId = ids.GetFieldId("Workshop Modules|Entrepreneur Pre-work Required");
                    var workChild = child.Field <TextItemField>(fieldId);
                    workChild.Value = workMaster.Value;
                }

                fieldId = ids.GetFieldId("VC Administration|Content Curation |Materials Required");
                var matsMaster = master.Field <TextItemField>(fieldId);
                if (matsMaster.Value != null)
                {
                    fieldId = ids.GetFieldId("Workshop Modules|Additional Materials Required");
                    var matsChild = child.Field <TextItemField>(fieldId);
                    matsChild.Value = matsMaster.Value;
                }

                fieldId = ids.GetFieldId("VC Administration|Content Curation |Mentors Required");
                var mentMaster = master.Field <TextItemField>(fieldId);
                if (mentMaster.Value != null)
                {
                    fieldId = ids.GetFieldId("Workshop Modules|Mentors Required");
                    var mentChild = child.Field <TextItemField>(fieldId);
                    mentChild.Value = mentMaster.Value;
                }

                var color = child.Field <CategoryItemField>(ids.GetFieldId("Workshop Modules|Calendar Color"));
                color.OptionText = "Addon";

                var childTasks  = child.Field <AppItemField>(ids.GetFieldId("Workshop Modules|Dependent Task"));
                var masterTasks = master.Field <AppItemField>(ids.GetFieldId("VC Administration|Content Curation |Dependent Task"));
                var taskOffset  = master.Field <DurationItemField>(ids.GetFieldId("VC Administration|Content Curation |Dependent Task Offset"));
                #endregion

                #region // Date Calcs //

                fieldId = ids.GetFieldId("VC Administration|Content Curation |Package Sequence");
                var seqMaster = master.Field <CategoryItemField>(fieldId);

                fieldId = ids.GetFieldId("VC Administration|Content Curation |Duration");
                var durMaster = master.Field <DurationItemField>(fieldId);

                if (durMaster.Value != null)
                {
                    fieldId = ids.GetFieldId("Workshop Modules|Duration");
                    var durChild = child.Field <DurationItemField>(fieldId);
                    durChild.Value = durMaster.Value.Value.Duration(); // durChild.Value.Value.Add(durMaster.Value.Value);? durChild.Value = durMaster.Value;?

                    var childDateTimeStart = startDate.Add(timeFromStart);
                    var childDateTimeEnd   = childDateTimeStart.Add(durChild.Value.Value.Duration());
                    context.Logger.LogLine($"Trying to scheduling for {childDateTimeStart.ToString()} - {childDateTimeEnd.ToString()}");
                    timeFromStart = timeFromStart.Add(durChild.Value.Value.Duration());

                    fieldId = ids.GetFieldId("Workshop Modules|Date");
                    var childTime = child.Field <DateItemField>(fieldId);
                    childTime.Start = childDateTimeStart;
                    childTime.End   = childDateTimeEnd;
                    context.Logger.LogLine($"Scheduled for {childTime.Start.ToString()} - {childTime.End.ToString()}");
                }
                #endregion

                #region // GDrive Integration //

                fieldId = ids.GetFieldId("VC Administration|Content Curation |GDrive File Name");
                var embedMaster = master.Field <EmbedItemField>(fieldId);
                fieldId = ids.GetFieldId("Workshop Modules|Link to Material");
                var embedChild = child.Field <EmbedItemField>(fieldId);
                var embeds     = new List <Embed>();

                var parentFolderId = Environment.GetEnvironmentVariable("GOOGLE_PARENT_FOLDER_ID");
                var cloneFolderId  = google.GetSubfolderId(service, podio, e, parentFolderId);               //TODO:

                foreach (var em in embedMaster.Embeds)
                {
                    if (em.OriginalUrl.Contains(".google."))
                    {
                        await google.UpdateOneEmbed(service, em, embeds, cloneFolderId, podio, e);
                    }
                    //else          // Hold for 2.0 //
                    //{
                    //	NonGdriveLinks nonG = new NonGdriveLinks();
                    //	await nonG.NonGDriveCopy(em, embeds, podio, e);
                    //}
                }

                foreach (var embed in embeds)
                {
                    embedChild.AddEmbed(embed.EmbedId);
                }
                context.Logger.LogLine($"Added field:{embedMaster.Label}");
                #endregion

                // Dependent Tasks Generation//
                foreach (var masterTask in masterTasks.Items)
                {
                    var masterT = new Item();
                    context.Logger.LogLine("Creating empty master item");
                    masterT = await podio.GetItem(masterTask.ItemId);

                    context.Logger.LogLine("Got master item");
                    var cloneT = new Item();

                    #region // Assign Dep. Task Fields //

                    var nameMasterTValue = masterT.Field <TextItemField>(ids.GetFieldId("VC Administration|Master Schedule|Task Name")).Value;
                    if (nameMasterTValue != null)
                    {
                        var nameCloneT = cloneT.Field <TextItemField>(ids.GetFieldId("Task List|Title"));
                        nameCloneT.Value = nameMasterTValue;
                    }

                    var descrMasterT = masterT.Field <TextItemField>(ids.GetFieldId("VC Administration|Master Schedule|Desciption"));
                    if (descrMasterT.Value != null)
                    {
                        var descrCloneT = cloneT.Field <TextItemField>(ids.GetFieldId("Task List|Description"));
                        //descrCloneT.Value = StripHTML(descrMasterT.Value);
                        descrCloneT.Value = descrMasterT.Value;
                    }

                    var priorityMasterT = masterT.Field <CategoryItemField>(ids.GetFieldId("VC Administration|Master Schedule|Priority"));
                    if (priorityMasterT.Options.Any())
                    {
                        var priorityCloneT = cloneT.Field <CategoryItemField>(ids.GetFieldId("Task List|Priority"));
                        priorityCloneT.OptionText = priorityMasterT.Options.First().Text;
                    }

                    var phaseMasterT = masterT.Field <CategoryItemField>(ids.GetFieldId("VC Administration|Master Schedule|Phase"));
                    if (phaseMasterT.Options.Any())
                    {
                        var phaseCloneT = cloneT.Field <CategoryItemField>(ids.GetFieldId("Task List|Phase"));
                        phaseCloneT.OptionText = phaseMasterT.Options.First().Text;
                    }

                    var esoMasterT = masterT.Field <CategoryItemField>(ids.GetFieldId("VC Administration|Master Schedule|ESO Member Role"));
                    if (esoMasterT.Options.Any())
                    {
                        var esoCloneT = cloneT.Field <CategoryItemField>(ids.GetFieldId("Task List|ESO Member Role"));
                        esoCloneT.OptionText = esoMasterT.Options.First().Text;
                    }

                    var depMasterT = masterT.Field <TextItemField>(ids.GetFieldId("VC Administration|Master Schedule|Dependancy"));
                    if (depMasterT.Value != null)
                    {
                        var depCloneT = cloneT.Field <TextItemField>(ids.GetFieldId("Task List|Additional Dependencies"));
                        depCloneT.Value = depMasterT.Value;
                    }

                    //var comChild = child.Field<CategoryItemField>(ids.GetFieldId("Task List|Completetion"));
                    //comChild.OptionText = "Incomplete";
                    #endregion

                    #region // Dep. Task Date Calcs //

                    var durationMasterT = masterT.Field <NumericItemField>(ids.GetFieldId("VC Administration|Master Schedule|Duration (Days)"));
                    var dateCloneT      = cloneT.Field <DateItemField>(ids.GetFieldId("Task List|Date"));
                    var durationCloneT  = cloneT.Field <DurationItemField>(ids.GetFieldId("Task List|Duration"));

                    if (durationMasterT.Value != null)
                    {
                        durationCloneT.Value = new TimeSpan((int)durationMasterT.Value.GetValueOrDefault(), 0, 0);
                        var taskStart = new DateTime(child.Field <DateItemField>(ids.GetFieldId("Workshop Modules|Date")).Start.Value.Ticks).Subtract(taskOffset.Value.GetValueOrDefault());
                        dateCloneT.Start = taskStart.Date;
                        var taskEnd = new DateTime(taskStart.AddDays(durationMasterT.Value.GetValueOrDefault()).Ticks);
                        dateCloneT.End = taskEnd.Date;
                    }
                    #endregion

                    #region // Dep. Task Gdrive Integration //

                    fieldId = ids.GetFieldId("VC Administration|Master Schedule|Gdrive Link");
                    var embedMasterT = masterT.Field <EmbedItemField>(fieldId);
                    fieldId = ids.GetFieldId("Task List|Linked Files");
                    var embedChildT     = cloneT.Field <EmbedItemField>(fieldId);
                    var embedsT         = new List <Embed>();
                    var parentFolderIdT = Environment.GetEnvironmentVariable("GOOGLE_PARENT_FOLDER_ID");
                    var cloneFolderIdT  = google.GetSubfolderId(service, podio, e, parentFolderId);//TODO:

                    foreach (var em in embedMasterT.Embeds)
                    {
                        if (em.OriginalUrl.Contains(".google."))
                        {
                            await google.UpdateOneEmbed(service, em, embedsT, cloneFolderIdT, podio, e);
                        }
                        //else          // Hold for 2.0 //
                        //{
                        //	NonGdriveLinks nonG = new NonGdriveLinks();
                        //	await nonG.NonGDriveCopy(em, embeds, podio, e);
                        //}
                    }
                    #endregion

                    #region // Create Dep. Task Item //

CallPodioTasks:
                    try
                    {
                        var newTaskId = await podio.CreateItem(cloneT, tasklistAppId, true); //child Task List appId

                        cloneT = await podio.GetFullItem(newTaskId);

                        context.Logger.LogLine($"newTaskId ({newTaskId}) - cloned itemId ({cloneT.ItemId}) - cloned exId ({cloneT.ExternalId})");
                        context.Logger.LogLine($"Created Dependent Task");
                        childTasks.ItemId = cloneT.ItemId;
                        context.Logger.LogLine($"childTasks values: {childTasks.Values.FirstOrDefault().ToString()}");
                    }
                    catch (PodioUnavailableException ex)
                    {
                        context.Logger.LogLine($"{ex.Message}");
                        context.Logger.LogLine($"Trying again in {waitSeconds} seconds.");
                        for (var i = 0; i < waitSeconds; i++)
                        {
                            System.Threading.Thread.Sleep(1000);
                            context.Logger.LogLine(".");
                        }
                        waitSeconds = waitSeconds * 2;
                        goto CallPodioTasks;
                    }
                    #endregion
                }

                #region // Create WorkshopModule Podio Item //
                context.Logger.LogLine($"Calling Podio");
CallPodio:
                try
                {
                    context.Logger.LogLine($"Sending CreateItem Request");
                    context.Logger.LogLine($"child.ItemId={child.ItemId} & child.exId={child.ExternalId}");
                    context.Logger.LogLine($"Sending CreateItem Request");
                    await podio.CreateItem(child, workshopAppId, true);

                    context.Logger.LogLine($"CreateItem Request Complete");
                }
                catch (PodioUnavailableException ex)
                {
                    context.Logger.LogLine($"{ex.Message}");
                    context.Logger.LogLine($"Trying again in {waitSeconds} seconds.");
                    for (var i = 0; i < waitSeconds; i++)
                    {
                        System.Threading.Thread.Sleep(1000);
                        context.Logger.LogLine(".");
                    }
                    waitSeconds = waitSeconds * 2;
                    goto CallPodio;
                }
                context.Logger.LogLine($"Created item #{count}");
                #endregion
            }

            // Return the next Batch #, or -1 if all Items have been completed
            if (count == filter.Items.Count())
            {
                return(1);
            }
            return(-1);
        }
Esempio n. 32
0
        protected override void OnStartup(StartupEventArgs eventArgs)
        {
            base.OnStartup(eventArgs);

            // create Unity container
            var container = new UnityContainer();

            // instantiate services
            var navigationService = new NavigationService();
            var viewService = new ViewService();
            var repositoryService = new RepositoryService(viewService);
            var currentIdentityService = new CurrentIdentityService();

            // register service instances with Unity container
            container
                .RegisterInstance<INavigationService>(navigationService)
                .RegisterInstance<IViewService>(viewService)
                .RegisterInstance<IRepositoryService>(repositoryService)
                .RegisterInstance<ICurrentIdentityService>(currentIdentityService);

            MainWindow mainWindow = new MainWindow();
            MainWindowViewModel mainWindowViewModel = new MainWindowViewModel(new ServiceFactoryImpl(container));

            mainWindow.DataContext = mainWindowViewModel;

            currentIdentityService.IdentityChanged += (_, __) => { mainWindowViewModel.OnCurrentIdentityChanged(); };

            // Hook up the mainWindowViewModel busy state with viewService busy state.
            viewService.BusyChanged += ((_, e) =>
            {
                mainWindowViewModel.IsBusy = e.Data;
            });

            // Initiate an asynchronous operation to fetch initial employee data.
            ((IViewService)viewService)
                .ExecuteBusyActionAsync<Employee>(() =>
                    {
                        return repositoryService.GetEmployeeAsync(DefaultEmployeeAlias);
                    })
                .ContinueWith((e) =>
                    {
                        currentIdentityService.SetNewIdentity(e.Result.Alias, e.Result.EmployeeId, e.Result.Manager, e.Result.Name, false);

                        mainWindowViewModel.ShowChargesAsync();
                    });

            // Wire up navigation events to execute actions on appropriate view-models.
            navigationService.ShowChargeRequested += (_, ea) => { mainWindowViewModel.ShowCharge(ea.Data); };
            navigationService.ShowChargesRequested += (_, __) => { mainWindowViewModel.ShowChargesAsync(); };
            navigationService.ShowExpenseReportRequested += async (_, ea) => { await mainWindowViewModel.ShowExpenseReportAsync(ea.Data); };
            navigationService.ShowApprovedExpenseReportsRequested += async (_, __) => { await mainWindowViewModel.ShowApprovedReportsAsync(); };
            navigationService.ShowSubmittedExpenseReportsRequested += async (_, __) => { await mainWindowViewModel.ShowSubmittedReportsAsync(); };
            navigationService.ShowSavedExpenseReportsRequested += async (_, __) => { await mainWindowViewModel.ShowSavedReportsAsync(); };

            // Connect main window' view-model's close event to main window view action.
            EventHandler handler = null;
            handler = delegate
            {
                mainWindowViewModel.RequestClose -= handler;
                mainWindow.Close();
            };
            mainWindowViewModel.RequestClose += handler;

            // Show up the main window.
            mainWindow.Show();
        }
Esempio n. 33
0
 private void DodajZapotrzebowanieCommandExecute()
 {
     ViewService.Show <ZapotrzebowanieDodajViewModel>();
 }