예제 #1
0
        public IssueTrackingControl(Issue issue)
        {
            // Required to initialize variables
            InitializeComponent();
            mIssue = issue;
            ViewModel = new IssueTrackingViewModel(mIssue) {View = this};

            ViewModel.DataLoaded += () =>
            {
                DataContext = ViewModel;

                if (ControlLoaded != null)
                {
                    ControlLoaded();
                }

                Loaded += (s, a) =>
                {
                    ViewModel.RaisePropertyChanged("Ranking");

                    Utils.ResetOriginalValues(this);
                    Utils.SetUpChangeEvents(this, EventAggregator, mIssue);
                };
            };
        }
예제 #2
0
 public CategoriesPicker(Issue issue)
 {
     InitializeComponent();
     mCategoryPickerModel = new CategoryPickerModel(issue);
     mCategoryPickerModel.View = this;
     DataContext = mCategoryPickerModel;
 }
예제 #3
0
        public IssueFilesViewModel(Issue issue)
        {
            CompositionInitializer.SatisfyImports(this);
            mIssue = issue;

            var cmsWebServiceClient = new CmsWebServiceClient(Utils.WcfBinding, Utils.WcfEndPoint);
            cmsWebServiceClient.GetAttachmentTypesCompleted += (s, e) =>
            {
                mAttachmentTypes = e.Result;

                cmsWebServiceClient.GetIssueFilesCompleted += (s1, e1) =>
                {
                    mIssue.IssueFiles.Clear();
                    foreach (IssueFile attachment in e1.Result)
                    {
                        attachment.Issue = mIssue;//this brings i the distribution list we need to set padlock.
                        attachment.AttachmentTypes = mAttachmentTypes;
                        mIssue.IssueFiles.Add(attachment);
                    }

                    if (DataLoaded != null)
                    {
                        DataLoaded();
                    }

                    RaisePropertyChanged("Attachments");
                };
                cmsWebServiceClient.GetIssueFilesAsync(mIssue.Id);
            };
            cmsWebServiceClient.GetAttachmentTypesAsync();

            AddButton = new DelegateCommand<object>(AddButtonHandler, CanAddHandler);
            DeleteButton = new DelegateCommand<object>(DeleteButtonHandler, CanDeleteHandler);
            ExportButton = new DelegateCommand<object>(ExportButtonHandler, x => true);
        }
예제 #4
0
        public IssueControlViewModel(Issue issue, IssueControl view)
        {
            CompositionInitializer.SatisfyImports(this);
            mIssue = issue;
            View = view;
            mOriginalStatusId = mIssue.IssueStatusId;

            BuildClassificationsListBasedOnSelectedIssueType();
            GetIssueSubTypes();
            CategoriesPickerButton = new DelegateCommand<object>(CategoriesPickerButtonHandler, CanClickCategoriesButtonHandler);
            PromptCategoriesPickerButton = new DelegateCommand<object>(PromptCategoriesPickerButtonHandler, CanClickCategoriesButtonHandler);
            AreaButtonClick = new DelegateCommand<object>(AreasPickerButtonHandler, CanClickAreasButtonHandler);
            KeyStakeholdersButtonClick = new DelegateCommand<object>(KeyStakeholdersPickerButtonHandler, CanClickKeyStakeholdersButtonHandler);

            StartDateCommand = new DelegateCommand<object>(StartButtonButtonHandler, CanClickStartButtonCommand);
            EndDateCommand = new DelegateCommand<object>(EndButtonButtonHandler, CanClickEndButtonCommand);

            GetAvailableStatuses(true);

            mIssueCategories = new ObservableCollection<IssueCategory>(CMS.Cache.IssueCategories);
            mAssignedToUsers = new List<QuickUser>(CMS.Cache.ActiveUsers);
            mProjectSupervisors = new List<QuickUser>(CMS.Cache.ActiveUsers);

            //Add inactive users to the collection, if we don't it will throw javascript exception with GeneralPosition '-1,1' ...
            Utils.GetAndAddInactiverUserToList(AssignedToUsers, mIssue.CurrentlyAssignedToId);

            //Add inactive users to the collection, if we don't it will throw javascript exception with GeneralPosition '-1,1' ...
            Utils.GetAndAddInactiverUserToList(ProjectSupervisors, mIssue.ProjectSupervisorId);

            mStatuses = new List<IssueStatus>();
        }
        public IssueSystemReferencesViewModel(Issue issue)
        {
            CompositionInitializer.SatisfyImports(this);
            mIssue = issue;

            var getSystemReferencesTask = DatabaseLoader.GetSystemReferences(mIssue.Id);

            List<Task> tasks = new List<Task> {getSystemReferencesTask};

            Task.Factory.ContinueWhenAll(tasks.ToArray(), x =>
            {
                CMS.UiFactory.StartNew(() =>
                {
                    //SystemReferences
                    mIssue.SystemReferences = getSystemReferencesTask.Result;
                    mIssue.ModifiedObjects.SystemReferenceModified = true;
                    Utils.SetUpChangeEvents(View, EventAggregator, mIssue);
                    RaisePropertyChanged("SystemReferences");

                    mDictionary = Utils.BuildDictionaryForCollection(mIssue.SystemReferences.Select(r => r.Id).ToList());

                    if (DataLoaded != null) { DataLoaded(); }
                });
            });

            AddButton = new DelegateCommand<object>(AddHandler, CanAdd);
            DeleteButton = new DelegateCommand<object>(DeleteHandler, CanDelete);
            EditButton = new DelegateCommand<object>(EditHandler, CanModify);
            SelectButton = new DelegateCommand<object>(SelectHandler, CanModify);
        }
예제 #6
0
        public IssueTrackingViewModel(Issue issue)
        {
            CompositionInitializer.SatisfyImports(this);
            mIssue = issue;

            var getIssueEffordsTask = DatabaseLoader.GetIssueEffords();
            var getIssueRewardsTask = DatabaseLoader.GetIssueRewards();
            var getCalculatedRatingCoefficientsTask = DatabaseLoader.GetCalculatedRatingCoefficients();

            var tasks = new List<Task> {getIssueEffordsTask, getIssueRewardsTask, getCalculatedRatingCoefficientsTask};

            Task.Factory.ContinueWhenAll(tasks.ToArray(), x =>
            {
                CMS.UiFactory.StartNew(() =>
                {
                    mIssue.ModifiedObjects.SystemReferenceModified = true;
                    Utils.SetUpChangeEvents(View, EventAggregator, mIssue);
                    RaisePropertyChanged("SystemReferences");

                    //IssueEffords
                    mEffortList = getIssueEffordsTask.Result.OrderBy(e => e.Ordinal).ToList();

                    //IssueRewards
                    mRewardList = getIssueRewardsTask.Result.OrderBy(r => r.Ordinal).ToList();

                    //CalculatedRatingCoefficients
                    mCalculatedRatingCoefficients = getCalculatedRatingCoefficientsTask.Result;

                    if (DataLoaded != null)
                    {
                        DataLoaded();
                    }
                });
            });
        }
        public IssueSystemReferencesControl(Issue issue)
        {
            // Required to initialize variables
            InitializeComponent();
            mIssue = issue;
            ViewModel = new IssueSystemReferencesViewModel(mIssue)
            {
                View = this
            };

            ViewModel.DataLoaded += () =>
            {
                DataContext = ViewModel;

                if (ControlLoaded != null)
                {
                    ControlLoaded();
                }

                Loaded += (s, a) =>
                {

                    TelerikGrid.DataLoaded += (s1, e1) =>
                    {
                        Utils.ResetOriginalValues(TelerikGrid);
                        Utils.SetUpChangeEvents(TelerikGrid, EventAggregator, mIssue);
                    };

                    Utils.ResetOriginalValues(this);
                    Utils.SetUpChangeEvents(this, EventAggregator, mIssue);
                };
            };
        }
 public IssueRelatedOverridesControl(Issue issue)
 {
     if (DesignerProperties.IsInDesignTool) { return; }
     InitializeComponent();
     CompositionInitializer.SatisfyImports(this);
     mIssue = issue;
     Loaded += ControlLoaded;
 }
예제 #9
0
        public IssueKpiControlViewModel(Issue issue, IssueKpiControl view)
        {
            mView = view;
            mIssue = issue;
            CompositionInitializer.SatisfyImports(this);
            mTimer.Interval = TimeSpan.FromMilliseconds(500);
            mTimer.Tick += RefreshKpiTable;

            CmsWebServiceClient cmsWebServiceClient = new CmsWebServiceClient(Utils.WcfBinding, Utils.WcfEndPoint);
            IssueKpis = new List<IssueKpiTableViewModel>();

            AddButtonCommand = new DelegateCommand<object>(AddButtonHandler, CanExecuteAddButtonHandler);
            RemoveButtonCommand = new DelegateCommand<object>(RemoveButtonHandler, CanExecuteRemoveButtonHandler);
            ShowHideBaselineCommand = new DelegateCommand<object>(ShowHideBaselineHandler, x => true);

            IsBusy = true;

            cmsWebServiceClient.GetIssueKpiVarianceCodesCompleted += (s1, e1) =>
            {
                IssueKpiVarianceCodes = e1.Result;
                RaisePropertyChanged("IssueKpiVarianceCodes");

                cmsWebServiceClient.GetIssueKpisCompleted += (s, e) =>
                {
                     mIssue.IssueKpis = e.Result;

                     DatabaseLoader.GetIssueSettings().ContinueWith(getIssueFinancialSettingsTask =>
                     {
                        CMS.UiFactory.StartNew(() =>
                         {
                             mIssueSetting = getIssueFinancialSettingsTask.Result;

                             foreach (var issueKpi in mIssue.IssueKpis)
                             {
                                 var financialTableItem = new IssueKpiTableViewModel(issueKpi, IssueKpiVarianceCodes, view,
                                     CanUserModifyActuals(), mIssueSetting);
                                 mIssueKpis.Add(financialTableItem);
                             }
                             mIssueKpis = mIssueKpis.OrderBy(x => x.Date).ToList();
                             RaisePropertyChanged("IssueKpis");

                             //mDictionary = Utils.BuildDictionaryForCollection(mIssue.IssueFinancials.Select(x => x.Id).ToList());
                             mIssue.ModifiedObjects.KpisModified = true;

                             if (view.ViewModelLoaded != null)
                             {
                                 view.ViewModelLoaded();
                             }
                             IsBusy = false;
                         });
                     });

                };
                cmsWebServiceClient.GetIssueKpisAsync(mIssue.Id);

            };
            cmsWebServiceClient.GetIssueKpiVarianceCodesAsync();
        }
        public IssueRelatedDocumentControl(Issue issue)
        {
            InitializeComponent();

            CompositionInitializer.SatisfyImports(this);

            mIssue = issue;
            Loaded += ControlLoaded;
        }
예제 #11
0
        public ApprovalsControl(Issue issue)
        {
            if (DesignerProperties.IsInDesignTool) { return; }
            // Required to initialize variables
            InitializeComponent();

            mApprovalViewModel = new ApprovalViewModel(issue);
            DataContext = mApprovalViewModel;
        }
예제 #12
0
        public CloseoutControl(Issue issue)
        {
            if (DesignerProperties.IsInDesignTool) { return; }
            // Required to initialize variables
            InitializeComponent();

            mCloseoutViewModel = new CloseoutViewModel(issue);
            DataContext = mCloseoutViewModel;
        }
예제 #13
0
        public RiskReviewDialog(Issue issue, CommonUtils.RiskType riskType)
        {
            if (DesignerProperties.IsInDesignTool){return;}
            // Required to initialize variables
            InitializeComponent();

            RiskReviewDialogViewModel riskReviewDialogViewModel = new RiskReviewDialogViewModel(issue, riskType, this);
            DataContext = riskReviewDialogViewModel;
        }
예제 #14
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="user">Optional paramete. If not specified logged in user will be used</param>
        /// <returns></returns>
        public bool CanViewSensitiveIssues(Issue issue, User user = null)
        {
            if (user == null)
            {
                user = CMS.User;
            }

            return true;
        }
예제 #15
0
        public RiskReviewViewModel(Issue issue)
        {
            mIssue = issue;

            InitialRiskButtonClick = new DelegateCommand<object>(InitialRiskButtonClickHandler, CanModifyHandler);
            FinalRiskButtonClick = new DelegateCommand<object>(FinalRiskButtonClickHandler, CanModifyHandler);
            ExistingRiskButtonClick = new DelegateCommand<object>(ExistingRiskButtonClickHandler, CanModifyHandler);

            GetHighestRisks();
        }
        public IssueRelatedElectricalControl(Issue issue)
        {
            if (DesignerProperties.IsInDesignTool){return;}
            // Required to initialize variables

            InitializeComponent();
            CompositionInitializer.SatisfyImports(this);

            mIssue = issue;
            Loaded += ControlLoaded;
        }
예제 #17
0
        public CopyIssueOptionsModel(Issue issue)
        {
            mIssue = issue;

            BuildOptions();

            DialogTitle = string.Format("Copy of Issue #{0}", issue.Id);

            OkButtonCommand = new DelegateCommand<object>(OkButtonHander, CanExecuteOkButtonHandler);
            CancelButtonCommand = new DelegateCommand<object>(CancelButtonHander, CanExecuteOkButtonHandler);
        }
        public AddEditIssueLearningDialog(Issue issue)
        {
            InitializeComponent();

            AddEditIssueLearningModel viewModel = new AddEditIssueLearningModel(issue);
            DataContext = viewModel;

            this.Title = @"Add Learning";

            viewModel.ViewModelLoaded += () => Utils.ResetOriginalValues(this);
        }
예제 #19
0
        public IssueRelatedIssuesViewModel(Issue issue)
        {
            CompositionInitializer.SatisfyImports(this);
            mIssue = issue;
            IsBusy = true;
            CMS.UiFactory.StartNew(LoadData);

            DeleteIssueButton = new DelegateCommand<object>(DeleteIssueHandler, CanDelete);
            CreateCommand = new DelegateCommand<object>(AddRelatedIssueHandler, CanCreate);
            LinkCommand = new DelegateCommand<object>(LinkIssueButtonHandler, CanLink);
            ViewCommand = new DelegateCommand<object>(OpenIssueButtonHandler, CanView);
        }
예제 #20
0
        public IssueDistributionModel(Issue issue)
        {
            mIssue = issue;
            CmsWebServiceClient cmsWebServiceClient = new CmsWebServiceClient(Utils.WcfBinding, Utils.WcfEndPoint);
            CompositionInitializer.SatisfyImports(this);

            cmsWebServiceClient.GetIssueDistributionUsersAsync(mIssue.Id);
            cmsWebServiceClient.GetIssueDistributionUsersCompleted += (cmsWebServiceClient_GetIssueDistributionUsersCompleted);

            AddButtonCommand = new DelegateCommand<object>(AddButtonHander, CanExecuteAddButtonHandler);
            RemoveButtonCommand = new DelegateCommand<object>(RemoveButtonHander, CanExecuteDeleteButtonHandler);
        }
예제 #21
0
        public IssueTrendNoticesViewModel(Issue issue)
        {
            CompositionInitializer.SatisfyImports(this);
            mIssue = issue;

            LoadTrendNotices();

            AddButton = new DelegateCommand<object>(AddButtonHandler, CanAdd);
            EditButton = new DelegateCommand<object>(EditButtonHandler, CanModify);
            DeleteButton = new DelegateCommand<object>(DeleteButtonHandler, CanDelete);
            ExportButton = new DelegateCommand<object>(ExportButtonHandler, x => true);
        }
예제 #22
0
        public AddEditIssueLearningModel(Issue issue)
        {
            CompositionInitializer.SatisfyImports(this);

            mIssueLearning = new IssueLearning();
            mIssue = issue;
            mIssueLearning.InitiatedByUserId = CMS.User.Id;
            mIssueLearning.InitiatedByDate = DateTime.Now;
            mIssueLearning.IssueId = mIssue.Id;

            OkButtonCommand = new DelegateCommand<object>(OkButtonHander, CanExecuteOkButtonHandler);
            CancelButtonCommand = new DelegateCommand<object>(CancelButtonHander, x => true);
        }
        public IssueRelatedInstrumentViewModel(Issue issue)
        {
            CompositionInitializer.SatisfyImports(this);
            mIssue = issue;

            CmsWebServiceClient cmsWebServiceClient = new CmsWebServiceClient(Utils.WcfBinding, Utils.WcfEndPoint);

            cmsWebServiceClient.GetIssueRelatedInstrumentCompleted += cmsWebServiceClient_GetIssueRelatedInstrumentCompleted;
            cmsWebServiceClient.GetIssueRelatedInstrumentAsync(issue.Id);

            AddInstrumentEquipmentButton = new DelegateCommand<object>(AddInstrumentEquipmentButtonHandler, CanAddHandler);
            DeleteInstrumentEquipmentButton = new DelegateCommand<object>(DeleteInstrumentEquipmentButtonHandler, CanDeleteHandler);
            OpenInstrumentEquipmentLink = new DelegateCommand<object>(OpenInstrumentEquipmentHandler, CanOpenLinkHandler);
        }
        public IssueDistributionControl(Issue issue)
        {
            if (DesignerProperties.IsInDesignTool){return;}
            // Required to initialize variables
            InitializeComponent();

            mIssueDistributionModel = new IssueDistributionModel(issue);

            mIssueDistributionModel.DistributionUsersLoaded += (users) =>
            {
                DataContext = mIssueDistributionModel;
                mIssueDistributionModel.RaisePropertyChanged("Users");
            };
        }
        public IssueRelatedMobilePlantsViewModel(Issue issue)
        {
            CompositionInitializer.SatisfyImports(this);
            mIssue = issue;

            CmsWebServiceClient cmsWebServiceClient = new CmsWebServiceClient(Utils.WcfBinding, Utils.WcfEndPoint);

            cmsWebServiceClient.GetIssueRelatedMobilePlantsCompleted += cmsWebServiceClient_GetIssueRelatedMobilePlantsCompleted;
            cmsWebServiceClient.GetIssueRelatedMobilePlantsAsync(issue.Id);

            AddButtonCommand = new DelegateCommand<object>(AddButtonHandler, CanAddHandler);
            DeleteButtonCommand = new DelegateCommand<object>(DeleteButtonHandler, CanDeleteHandler);
            OpenIssueLink = new DelegateCommand<object>(OpenIssueHandler, CanOpenLinkHandler);
        }
        public IssueRelatedControlViewModel(Issue issue)
        {
            CompositionInitializer.SatisfyImports(this);
            mIssue = issue;

            CmsWebServiceClient cmsWebServiceClient = new CmsWebServiceClient(Utils.WcfBinding, Utils.WcfEndPoint);

            cmsWebServiceClient.GetIssueRelatedControlSystemsCompleted += CmsWebServiceClientOnGetIssueRelatedControlSystemsCompleted;
            cmsWebServiceClient.GetIssueRelatedControlSystemsAsync(issue.Id);

            AddControlButton = new DelegateCommand<object>(AddControlButtonHandler, CanAddHandler);
            DeleteControlButton = new DelegateCommand<object>(DeleteControlButtonHandler, CanDeleteHandler);
            OpenControlSystemLink = new DelegateCommand<object>(OpenControlSystemHandler, CanOpenLinkHandler);
        }
        public IssueRelatedIssuesControl(Issue issue)
        {
            if (DesignerProperties.IsInDesignTool)
            {
                return;
            }

            InitializeComponent();

            IssueRelatedIssuesViewModel model = new IssueRelatedIssuesViewModel(issue);
            model.CollectionChanged += (count) => { OnCollectionChanged(count); };
            model.View = this;
            DataContext = model;
        }
        public IssueRelatedActionsViewModel(Issue issue)
        {
            CompositionInitializer.SatisfyImports(this);
            mIssue = issue;

            mIssueRelatedActions = new ObservableCollection<IssueRelatedActionWapperViewModel>();
            CmsWebServiceClient cmsWebServiceClient = new CmsWebServiceClient(Utils.WcfBinding, Utils.WcfEndPoint);

            ReloadActions();
            //cmsWebServiceClient.GetIssueRelatedActionsCompleted += cmsWebServiceClient_GetIssueRelatedActionsCompleted;
            //cmsWebServiceClient.GetIssueRelatedActionsAsync(issue.Id);

            AddActionButton = new DelegateCommand<object>(AddActionButtonHandler, CanAddHandler);
            AddActionFromListButton = new DelegateCommand<object>(AddActionFromListButtonHandler, CanAddHandler);
            DeleteActionButton = new DelegateCommand<object>(DeleteActionButtonHandler, CanDeleteHandler);
        }
        public IssueRelatedOverrideViewModel(Issue issue)
        {
            CompositionInitializer.SatisfyImports(this);
            mIssue = issue;

            CmsWebServiceClient cmsWebServiceClient = new CmsWebServiceClient(Utils.WcfBinding, Utils.WcfEndPoint);

            cmsWebServiceClient.GetIssueRelatedOverrideCompleted += cmsWebServiceClient_GetIssueRelatedOverrideCompleted;
            cmsWebServiceClient.GetIssueRelatedOverrideAsync(issue.Id);

            AddOverrideButton = new DelegateCommand<object>(AddOverrideButtonHandler, CanAddHandler);

            DeleteOverrideButton = new DelegateCommand<object>(DeleteOverrideButtonHandler, CanDeleteHandler);
            SelectDateButton = new DelegateCommand<object>(SelectDateOverrideButtonHandler, CanModifyHandler);
            ControlSystemClickButton = new DelegateCommand<object>(ControlSystemClickButtonHandler, CanModifyHandler);
        }
예제 #30
0
        public IssueControl(Issue issue, IssuesPanel issuePanel)
        {
            InitializeComponent();

            mIssue = issue;
            mIssuesPanel = issuePanel;

            ultimateSpellSL1.IncludeDirectory = CommonUtils.UltimateSpellIncludeUrl;

            mIssueControlViewModel = new IssueControlViewModel(mIssue, this);
            mIssueControlViewModel.ModelLoaded += () =>
            {
                DataContext = mIssueControlViewModel;
                Utils.ResetOriginalValues(this.LayoutRoot);  // added this to stop the first three text boxes showing blue background upon load of issue control. (jhb 24 June 2014).
            };
        }