Ejemplo n.º 1
0
        /// <summary>
        /// Raised when the messages collection is changed. Updates <see cref="HasWarnings"/> and <see cref="HasErrors"/> properties.
        /// </summary>
        private void MessagesCollectionChanged(object sender, [NotNull] NotifyCollectionChangedEventArgs e)
        {
            if (e.Action == NotifyCollectionChangedAction.Add)
            {
                if (e.NewItems != null)
                {
                    foreach (ILogMessage newMessage in e.NewItems)
                    {
                        switch (newMessage.Type)
                        {
                        case LogMessageType.Warning:
                            HasWarnings = true;
                            break;

                        case LogMessageType.Error:
                        case LogMessageType.Fatal:
                            HasErrors = true;
                            break;
                        }
                    }
                }
                HasNewMessages = true;
            }
            else
            {
                HasWarnings = messages.Any(x => x.Type == LogMessageType.Warning);
                HasErrors   = messages.Any(x => x.Type == LogMessageType.Error || x.Type == LogMessageType.Fatal);
            }
        }
Ejemplo n.º 2
0
        void CharacterGroups_CollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
        {
            if (!CharacterGroups.Any())
            {
                m_iMale     = 0;
                m_iFemale   = 0;
                m_iChild    = 0;
                m_iNarrator = 0;
                return;
            }
            if (e.NewItems == null)
            {
                return;
            }
            foreach (CharacterGroup characterGroup in e.NewItems)
            {
                if (characterGroup.GroupIdNumber != 0)
                {
                    switch (characterGroup.GroupIdLabel)
                    {
                    case CharacterGroup.Label.Narrator:
                        if (characterGroup.GroupIdNumber > m_iNarrator)
                        {
                            m_iNarrator = characterGroup.GroupIdNumber;
                        }
                        break;

                    case CharacterGroup.Label.Male:
                        if (characterGroup.GroupIdNumber > m_iMale)
                        {
                            m_iMale = characterGroup.GroupIdNumber;
                        }
                        break;

                    case CharacterGroup.Label.Female:
                        if (characterGroup.GroupIdNumber > m_iFemale)
                        {
                            m_iFemale = characterGroup.GroupIdNumber;
                        }
                        break;

                    case CharacterGroup.Label.Child:
                        if (characterGroup.GroupIdNumber > m_iChild)
                        {
                            m_iChild = characterGroup.GroupIdNumber;
                        }
                        break;
                    }
                }
                UpdateGroupIdNumbers(e.NewItems.Cast <CharacterGroup>());
            }
        }
 public void AddFilterGroup(string groupID, string label)
 {
     if (!_FilterGroups.Any(g => string.Equals(g.ID, groupID, StringComparison.OrdinalIgnoreCase)))
     {
         _FilterGroups.Add(new FilterGroup(groupID, label, new List <FilterItem>()));
     }
 }
Ejemplo n.º 4
0
        private void RefreshComboSelectionTagsList()
        {
            //remove from combobox all Items that are already saved on item else load all Soultion Tags.
            if (GetItemTagsCount() != 0)
            {
                if (mItemTagsType == eItemTagsType.Guid)
                {
                    ComboTagsList = mFullTagsList.Where(y => !mItemTagsGUID.Any(x => y.Guid == (Guid)x)).ToList();
                }
                else
                {
                    ComboTagsList = mFullTagsList.Where(y => !mItemTagsKey.Any(x => y.Guid == ((RepositoryItemKey)x).Guid)).ToList();
                }
            }
            else
            {
                ComboTagsList = mFullTagsList.Where(y => mFullTagsList.Contains(y)).ToList();
            }

            //add dummy edit tag
            if (mFullListEditTag != null)
            {
                ComboTagsList.Add(mFullListEditTag);
            }

            //refresh combo
            TagsComboBox.Items.Refresh();
        }
        public void ObservableListExtensions_Any_ReturnsTrueIfObservableListContainsItems()
        {
            var list = new ObservableList<Int32>() { 1 };

            var result = list.Any();

            TheResultingValue(result).ShouldBe(true);
        }
        public void ObservableListExtensions_Any_ReturnsFalseIfObservableListDoesNotContainItems()
        {
            var list = new ObservableList<Int32>();

            var result = list.Any();

            TheResultingValue(result).ShouldBe(false);
        }
        public void ObservableListExtensions_AnyWithPredicate_ReturnsTrueIfObservableListContainsMatchingItems()
        {
            var list = new ObservableList<Int32>() { 1, 2, 3 };

            var result = list.Any(x => x % 2 == 0);

            TheResultingValue(result).ShouldBe(true);
        }
Ejemplo n.º 8
0
        public void ObservableListExtensions_Any_ReturnsFalseIfObservableListDoesNotContainItems()
        {
            var list = new ObservableList <Int32>();

            var result = list.Any();

            TheResultingValue(result).ShouldBe(false);
        }
Ejemplo n.º 9
0
        private void HandleCardCreated(Message message)
        {
            var cardId = Guid.Parse(message.Body.CardId);

            if (!_cards.Any(c => c.CardId == cardId))
            {
                _cards.Add(new Card(cardId));
            }
        }
Ejemplo n.º 10
0
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            ObservableList <IComparable> checkedList = value as ObservableList <IComparable>;

            if (checkedList == null)
            {
                return(false);
            }

            return(checkedList.Any());
        }
Ejemplo n.º 11
0
        void m_characterGroups_CollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
        {
            if (e.NewItems == null)
            {
                return;
            }
            var nextNumberToTry = 1;

            foreach (CharacterGroup characterGroup in e.NewItems)
            {
                if (characterGroup.GroupNumber == default(int))
                {
                    while (CharacterGroups.Any(g => g.GroupNumber == nextNumberToTry))
                    {
                        nextNumberToTry++;
                    }
                    characterGroup.GroupNumber = nextNumberToTry;
                }
            }
        }
Ejemplo n.º 12
0
        public void ObservableListExtensions_AnyWithPredicate_ReturnsFalseIfObservableListDoesNotContainMatchingItems()
        {
            var list = new ObservableList <Int32>()
            {
                1, 3
            };

            var result = list.Any(x => x % 2 == 0);

            TheResultingValue(result).ShouldBe(false);
        }
Ejemplo n.º 13
0
        public void ObservableListExtensions_Any_ReturnsTrueIfObservableListContainsItems()
        {
            var list = new ObservableList <Int32>()
            {
                1
            };

            var result = list.Any();

            TheResultingValue(result).ShouldBe(true);
        }
        private void Save(object sender, RoutedEventArgs e)
        {
            // TODO Rearrange save function to keep old fields value.
            ObservableList <ExternalItemFieldBase> tempItemList = ALMIntegration.Instance.GetUpdatedFields(mItemsFields, false);

            if (tempItemList.Any())
            {
                WorkSpace.Instance.Solution.ExternalItemsFields = tempItemList;
            }
            WorkSpace.Instance.Solution.SolutionOperations.SaveSolution(true, SolutionGeneral.Solution.eSolutionItemToSave.ALMSettings);
            genWin.Close();
        }
        private async Task LoadEncryptedParamtersList()
        {
            ObservableList <GingerCore.Variables.VariablePasswordString> variables = new ObservableList <GingerCore.Variables.VariablePasswordString>();
            await Task.Run(() =>
            {
                this.ShowLoader();
                this.ShowStatusMessage("Searching all password values in the solution...");
                try
                {
                    if (WorkSpace.Instance.SolutionRepository == null)
                    {
                        WorkSpace.Instance.SolutionRepository = GingerSolutionRepository.CreateGingerSolutionRepository();
                        WorkSpace.Instance.SolutionRepository.Open(_solution.ContainingFolderFullPath);
                    }

                    // For BF and Activity
                    List <BusinessFlow> Bfs = WorkSpace.Instance.SolutionRepository.GetAllRepositoryItems <BusinessFlow>()?.ToList();
                    Parallel.ForEach(Bfs, Bf =>
                    {
                        foreach (GingerCore.Variables.VariablePasswordString item in Bf.GetBFandActivitiesVariabeles(true).Where(f => f is GingerCore.Variables.VariablePasswordString))
                        {
                            item.Password = "";
                            variables.Add(item);
                        }
                    });

                    //for Golbal Variables
                    foreach (GingerCore.Variables.VariablePasswordString v in _solution.Variables.Where(f => f is GingerCore.Variables.VariablePasswordString))
                    {
                        v.Password   = "";
                        v.ParentType = string.IsNullOrEmpty(v.ParentType) ? "Global Variable" : v.ParentType;
                        variables.Add(v);
                    }

                    //For Project environments
                    List <ProjEnvironment> projEnvironments = WorkSpace.Instance.SolutionRepository.GetAllRepositoryItems <ProjEnvironment>().ToList();
                    projEnvironments.ForEach(pe =>
                    {
                        // GingerCore.Variables.VariablePasswordString vp;
                        foreach (EnvApplication ea in pe.Applications)
                        {
                            foreach (Database db in ea.Dbs)
                            {
                                if (!string.IsNullOrEmpty(db.Pass))
                                {
                                    variables.Add(CreatePasswordVariable(db.Name, "Database Password", pe.Name + "-->" + ea.Name, db.Guid));
                                }
                            }
                            foreach (GeneralParam gp in ea.GeneralParams.Where(f => f.Encrypt))
                            {
                                variables.Add(CreatePasswordVariable(gp.Name, "Environment Parameter", pe.Name + "-->" + ea.Name, gp.Guid));
                            }
                        }
                    });

                    //For Shared Variales
                    List <GingerCore.Variables.VariableBase> sharedRepoVarsList = WorkSpace.Instance.SolutionRepository.GetAllRepositoryItems <GingerCore.Variables.VariableBase>().Where(f => f is GingerCore.Variables.VariablePasswordString).ToList();
                    Parallel.ForEach(sharedRepoVarsList, sharedVar =>
                    {
                        ((GingerCore.Variables.VariablePasswordString)sharedVar).Password = "";
                        sharedVar.ParentType = "Shared Variable";
                        variables.Add((GingerCore.Variables.VariablePasswordString)sharedVar);
                    });

                    //For Shared Activites
                    List <Activity> sharedActivityList = WorkSpace.Instance.SolutionRepository.GetAllRepositoryItems <Activity>().ToList();
                    Parallel.ForEach(sharedActivityList, sharedAct =>
                    {
                        List <GingerCore.Variables.VariableBase> sharedActivityVariables = sharedAct.Variables?.Where(f => f is GingerCore.Variables.VariablePasswordString).ToList();
                        foreach (GingerCore.Variables.VariablePasswordString v in sharedActivityVariables)
                        {
                            v.Password   = "";
                            v.ParentType = "Shared Activity";
                            variables.Add(v);
                        }
                    });

                    //For Email passwords
                    var runSetConfigs = WorkSpace.Instance.SolutionRepository.GetAllRepositoryItems <RunSetConfig>();
                    foreach (var rsc in runSetConfigs)
                    {
                        //VariablePasswordString vp;
                        foreach (var ra in rsc.RunSetActions)
                        {
                            try
                            {
                                if (ra is RunSetActionHTMLReportSendEmail)
                                {
                                    if (((RunSetActionHTMLReportSendEmail)ra).Email != null && !string.IsNullOrEmpty(((RunSetActionHTMLReportSendEmail)ra).Email.SMTPPass))
                                    {
                                        variables.Add(CreatePasswordVariable(ra.ItemName, "Run Set Operation", rsc.Name, ((RunSetActionHTMLReportSendEmail)ra).Email.Guid));
                                    }
                                }
                                else if (ra is RunSetActionSendFreeEmail)
                                {
                                    if (((RunSetActionSendFreeEmail)ra).Email != null && !string.IsNullOrEmpty(((RunSetActionSendFreeEmail)ra).Email.SMTPPass))
                                    {
                                        variables.Add(CreatePasswordVariable(ra.ItemName, "Run Set Operation", rsc.Name, ((RunSetActionSendFreeEmail)ra).Email.Guid));
                                    }
                                }
                                else if (ra is RunSetActionSendSMS)
                                {
                                    if (((RunSetActionSendSMS)ra).SMSEmail != null && !string.IsNullOrEmpty(((RunSetActionSendSMS)ra).SMSEmail.SMTPPass))
                                    {
                                        variables.Add(CreatePasswordVariable(ra.ItemName, "Run Set Operation", rsc.Name, ((RunSetActionSendSMS)ra).SMSEmail.Guid));
                                    }
                                }
                            }
                            catch (Exception ex)
                            {
                                Reporter.ToLog(eLogLevel.WARN, "Error while Retrieving encrypted SMTP password for " + rsc.Name, ex); throw;
                            }
                        }
                    }
                }
                catch (Exception ex)
                {
                    Reporter.ToLog(eLogLevel.WARN, "Retrieving encrypted variables for setting new value", ex);
                }
                finally
                {
                    this.HideLoader();
                    ShowStatusMessage("Please set the new values for password paramters");
                }
            });

            if (!variables.Any())
            {
                _pageGenericWin.Close();
            }
            SetGridsView();

            xSolutionPasswordsParamtersGrid.DataSourceList   = variables;
            xSolutionPasswordsParamtersGrid.RowChangedEvent += grdGroups_RowChangedEvent;
            xSolutionPasswordsParamtersGrid.Title            = "List of Passwords/Encrypted Values to update new value";

            xSolutionPasswordsParamtersGrid.Visibility = Visibility.Visible;
        }