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); } } }
/// <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; }
/// <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; }
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(); } } }
/// <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; }