Exemple #1
0
 private void ShowSelectedContactTabs(MemberModel member)
 {
     if (member != null)
     {
         _originalMember = member.Clone();
         if (CanViewContactDetails)
         {
             ContactDetailsContent = new ContactDetailsView(member.Contact, true, member);
         }
         if (CanViewCorrespondence)
         {
             CorrespondenceContent = new CorrespondenceView(member.Contact, "Member");
         }
         if (CanViewActivity)
         {
             ActivityContent = new ActivityView(member.Contact);
         }
         if (CanViewAccounts)
         {
             AccountsContent = new AccountsView(member.Contact);
         }
         if (CanViewMemberDetails)
         {
             MemberDetailsContent = new MemberDetailsView(member);
         }
         if (CanViewNoteDetails)
         {
             MemberNotesContent = new MemberNotesView(member);
         }
         if (CanViewUpdateDetails)
         {
             MemberUpdateDetailsContent = new MemberUpdateDetailsView(member);
         }
     }
 }
Exemple #2
0
        /// <summary>
        /// Check if a type is already in the file's imports
        /// Throws an Exception if the type name is ambiguous
        /// (ie. same name as an existing import located in another package)
        /// </summary>
        /// <param name="member">Element to search in imports</param>
        /// <param name="atLine">Position in the file</param>
        public override bool IsImported(MemberModel member, int atLine)
        {
            int p = member.Name.IndexOf('#');

            if (p > 0)
            {
                member      = member.Clone() as MemberModel;
                member.Name = member.Name.Substring(0, p);
            }

            FileModel cFile    = ASContext.Context.CurrentModel;
            string    fullName = member.Type;
            string    name     = member.Name;
            int       lineMin  = (ASContext.Context.InPrivateSection) ? cFile.PrivateSectionIndex : 0;
            int       lineMax  = atLine;

            foreach (MemberModel import in cFile.Imports)
            {
                if (import.LineFrom >= lineMin && import.LineFrom <= lineMax && import.Name == name)
                {
                    if (import.Type != fullName)
                    {
                        throw new Exception(TextHelper.GetString("Info.AmbiguousType"));
                    }
                    return(true);
                }
                else if (import.Name == "*" && import.Type.Replace("*", name) == fullName)
                {
                    return(true);
                }
            }
            return(false);
        }
        public ContactDetailsViewModel(ContactModel model, bool isFromMembership, MemberModel member)
        {
            IsFromMembership = isFromMembership;

            if (member != null)
            {
                _originalMember = member.Clone();
                Member          = member;
            }

            var dataUnitLocator = ContainerAccessor.Instance.GetContainer().Resolve <IDataUnitLocator>();

            if (IsFromMembership)
            {
                _membershipDataUnit = dataUnitLocator.ResolveDataUnit <IMembershipDataUnit>();
            }
            else
            {
                _contactsDataUnit = dataUnitLocator.ResolveDataUnit <IContactsDataUnit>();
            }

            SaveChangesCommand = new RelayCommand(SaveChangesCommandExecute, SaveChangesCommandCanExecute);

            if (IsFromMembership)
            {
                CanEdit = AccessService.Current.UserHasPermissions(Resources.PERMISSION_MEMBERSHIP_EDIT_CONTACT_ALLOWED);
            }
            else
            {
                CanEdit = AccessService.Current.UserHasPermissions(Resources.PERMISSION_EDIT_CONTACT_ALLOWED);
            }

            if (IsFromMembership)
            {
                ProcessContact(Member.Contact);
            }
            else
            {
                ProcessContact(model);
            }
        }
        private static void AddAsParameter(ClassModel inClass, ScintillaNet.ScintillaControl Sci, MemberModel member, bool detach)
        {
            if (!RemoveLocalDeclaration(Sci, contextMember)) return;

            int posStart = Sci.PositionFromLine(member.LineFrom);
            int posEnd = Sci.LineEndPosition(member.LineTo);
            Sci.SetSel(posStart, posEnd);
            string selectedText = Sci.SelText;
            Regex rStart = new Regex(@"\s{1}" + member.Name + @"\s*\(([^\)]*)\)(\s*:\s*([^({{|\n|\r|\s|;)]+))?");
            Match mStart = rStart.Match(selectedText);
            if (!mStart.Success)
                return;

            int start = mStart.Index + posStart + 1;
            int end = mStart.Index + posStart + mStart.Length;

            Sci.SetSel(start, end);

            MemberModel memberCopy = (MemberModel) member.Clone();

            if (memberCopy.Parameters == null)
                memberCopy.Parameters = new List<MemberModel>();

            memberCopy.Parameters.Add(contextMember);

            string template = TemplateUtils.ToDeclarationString(memberCopy, TemplateUtils.GetTemplate("MethodDeclaration"));
            InsertCode(start, template);

            int currPos = Sci.LineEndPosition(Sci.CurrentLine);

            Sci.SetSel(currPos, currPos);
            Sci.CurrentPos = currPos;
        }
 private void ProcessMember(MemberModel member)
 {
     Member                  = member;
     _originalMember         = Member.Clone();
     Member.PropertyChanged += MemberModelOnPropertyChanged;
 }
Exemple #6
0
        /// <summary>
        /// Check if a type is already in the file's imports
        /// Throws an Exception if the type name is ambiguous 
        /// (ie. same name as an existing import located in another package)
        /// </summary>
        /// <param name="member">Element to search in imports</param>
        /// <param name="atLine">Position in the file</param>
        public override bool IsImported(MemberModel member, int atLine)
        {
            int p = member.Name.IndexOf('#');
            if (p > 0)
            {
                member = member.Clone() as MemberModel;
                member.Name = member.Name.Substring(0, p);
            }

            FileModel cFile = ASContext.Context.CurrentModel;
            string fullName = member.Type;
            string name = member.Name;
            foreach (MemberModel import in cFile.Imports)
            {
                if (import.Name == name)
                {
                    //if (import.Type != fullName) throw new Exception(TextHelper.GetString("Info.AmbiguousType"));
                    return true;
                }
                else if (import.Name == "*" && import.Type.Replace("*", name) == fullName)
                    return true;
                else if (fullName.StartsWithOrdinal(import.Type + "."))
                    return true;
            }
            return false;
        }
Exemple #7
0
        public async Task ShowReleventContact()
        {
            var allcontacts =
                await _membershipDataUnit.ContactsRepository.GetAllAsyncWithoutRefresh(contact =>
                                                                                       contact.LastName == Member.Contact.LastName && contact.Email == Member.Contact.Email);

            var contacts = new ObservableCollection <ContactModel>(
                allcontacts.OrderBy(contact => contact.LastName).Select(contact => new ContactModel(contact)));

            if (contacts.Count > 0)
            {
                RaisePropertyChanged("DisableParentWindow");

                var relevantContactsView = new ReleventContactsView(contacts);
                relevantContactsView.ShowDialog();

                RaisePropertyChanged("EnableParentWindow");

                if (relevantContactsView.DialogResult != null && relevantContactsView.DialogResult.Value)
                {
                    if (IsExistingContact)
                    {
                        _membershipDataUnit.ContactsRepository.Refresh(Member.Contact.Contact);
                    }
                    if (relevantContactsView.ViewModel.Contact.Contact.Member != null)
                    {
                        Member = new MemberModel(relevantContactsView.ViewModel.Contact.Contact.Member)
                        {
                            Contact  = relevantContactsView.ViewModel.Contact,
                            Category = MemberCategories.FirstOrDefault(category => category.ID == relevantContactsView.ViewModel.Contact.Contact.Member.MembershipCategory.ID)
                        };
                        Member.Contact.PropertyChanged += Contact_PropertyChanged;
                        _isEditMode      = true;
                        IsExistingMember = true;
                        _originalMember  = Member.Clone();
                        SaveCommand.RaiseCanExecuteChanged();
                    }
                    else
                    {
                        Member.Contact   = relevantContactsView.ViewModel.Contact;
                        Member.Member.ID = Member.Contact.Contact.ID;
                        Member.Contact.PropertyChanged += Contact_PropertyChanged;
                    }
                    IsExistingContact = true;
                    IsIgnored         = true;
                    if (IsOkButtonClick)
                    {
                        if (!_isEditMode)
                        {
                            SaveContactChangesAddMember();
                        }
                    }
                }
                if (relevantContactsView.DialogResult == null || !relevantContactsView.DialogResult.Value)
                {
                    if (IsOkButtonClick)
                    {
                        _membershipDataUnit.ContactsRepository.Add(Member.Contact.Contact);
                        SaveContactChangesAddMember();
                    }
                    else
                    {
                        IsIgnored = true;
                    }
                }
            }
            else
            {
                if (IsOkButtonClick)
                {
                    if (!IsExistingContact)
                    {
                        _membershipDataUnit.ContactsRepository.Add(Member.Contact.Contact);
                    }
                    SaveContactChangesAddMember();
                }
            }
        }
Exemple #8
0
        /// <summary>
        /// Check if a type is already in the file's imports
        /// Throws an Exception if the type name is ambiguous 
        /// (ie. same name as an existing import located in another package)
        /// </summary>
        /// <param name="member">Element to search in imports</param>
        /// <param name="atLine">Position in the file</param>
        public override bool IsImported(MemberModel member, int atLine)
        {
            int p = member.Name.IndexOf('#');
            if (p > 0)
            {
                member = member.Clone() as MemberModel;
                member.Name = member.Name.Substring(0, p);
            }

            FileModel cFile = ASContext.Context.CurrentModel;
            string fullName = member.Type;
            string name = member.Name;
            int lineMin = (ASContext.Context.InPrivateSection) ? cFile.PrivateSectionIndex : 0;
            int lineMax = atLine;
            foreach (MemberModel import in cFile.Imports)
            {
                if (import.LineFrom >= lineMin && import.LineFrom <= lineMax && import.Name == name)
                {
                    if (import.Type != fullName) throw new Exception(TextHelper.GetString("Info.AmbiguousType"));
                    return true;
                }
                else if (import.Name == "*" && import.Type.Replace("*", name) == fullName)
                    return true;
            }
            return false;
        }