public static async Task <Organization> UpdateOrganizationContact(this Organization organization, IPrimaryContactModel contactModel, AllReadyContext _context) { if (organization.OrganizationContacts == null) { organization.OrganizationContacts = new List <OrganizationContact>(); } var primaryCampaignContact = organization.OrganizationContacts.SingleOrDefault(tc => tc.ContactType == (int)ContactTypes.Primary); var contactId = primaryCampaignContact?.ContactId; Contact primaryContact; var contactInfo = string.Concat(contactModel.PrimaryContactEmail?.Trim() + contactModel.PrimaryContactFirstName?.Trim(), contactModel.PrimaryContactLastName?.Trim(), contactModel.PrimaryContactPhoneNumber?.Trim()); if (contactId == null) { primaryContact = new Contact(); } else { primaryContact = await _context.Contacts.SingleAsync(c => c.Id == contactId).ConfigureAwait(false); } if (string.IsNullOrWhiteSpace(contactInfo) && primaryCampaignContact != null) { //Delete _context.OrganizationContacts.Remove(primaryCampaignContact); _context.Remove(primaryCampaignContact);//Not Needed? _context.Remove(primaryCampaignContact.Contact); } else { primaryContact.Email = contactModel.PrimaryContactEmail; primaryContact.FirstName = contactModel.PrimaryContactFirstName; primaryContact.LastName = contactModel.PrimaryContactLastName; primaryContact.PhoneNumber = contactModel.PrimaryContactPhoneNumber; _context.AddOrUpdate(primaryContact); if (primaryCampaignContact == null) { primaryCampaignContact = new OrganizationContact { Contact = primaryContact, Organization = organization, ContactType = (int)ContactTypes.Primary }; organization.OrganizationContacts.Add(primaryCampaignContact); _context.AddOrUpdate(primaryCampaignContact); } } return(organization); }
public static async Task<Organization> UpdateOrganizationContact(this Organization organization, IPrimaryContactViewModel contactModel, AllReadyContext _context) { if (organization.OrganizationContacts == null) { organization.OrganizationContacts = new List<OrganizationContact>(); } var primaryCampaignContact = organization.OrganizationContacts.SingleOrDefault(tc => tc.ContactType == (int)ContactTypes.Primary); var contactId = primaryCampaignContact?.ContactId; Contact primaryContact; var contactInfo = string.Concat(contactModel.PrimaryContactEmail?.Trim() + contactModel.PrimaryContactFirstName?.Trim(), contactModel.PrimaryContactLastName?.Trim(), contactModel.PrimaryContactPhoneNumber?.Trim()); if (contactId == null) { primaryContact = new Contact(); } else { primaryContact = await _context.Contacts.SingleAsync(c => c.Id == contactId); } if (string.IsNullOrWhiteSpace(contactInfo) && primaryCampaignContact != null) { //Delete _context.OrganizationContacts.Remove(primaryCampaignContact); _context.Remove(primaryCampaignContact);//Not Needed? _context.Remove(primaryCampaignContact.Contact); } else { primaryContact.Email = contactModel.PrimaryContactEmail; primaryContact.FirstName = contactModel.PrimaryContactFirstName; primaryContact.LastName = contactModel.PrimaryContactLastName; primaryContact.PhoneNumber = contactModel.PrimaryContactPhoneNumber; _context.AddOrUpdate(primaryContact); if (primaryCampaignContact == null) { primaryCampaignContact = new OrganizationContact { Contact = primaryContact, Organization = organization, ContactType = (int)ContactTypes.Primary }; organization.OrganizationContacts.Add(primaryCampaignContact); _context.AddOrUpdate(primaryCampaignContact); } } return organization; }
public static Campaign UpdateCampaignContact(this Campaign campaign, IPrimaryContactModel contactModel, AllReadyContext _context) { if (campaign.CampaignContacts == null) { campaign.CampaignContacts = new List<CampaignContact>(); } var primaryCampaignContact = campaign.CampaignContacts.SingleOrDefault(tc => tc.ContactType == (int)ContactTypes.Primary); var contactId = primaryCampaignContact?.ContactId; Contact primaryContact; var contactInfo = string.Concat(contactModel.PrimaryContactEmail?.Trim() + contactModel.PrimaryContactFirstName?.Trim(), contactModel.PrimaryContactLastName?.Trim(), contactModel.PrimaryContactPhoneNumber?.Trim()); if (contactId == null) { primaryContact = new Contact(); } else { primaryContact = _context.Contacts.Single(c => c.Id == contactId); } if (string.IsNullOrWhiteSpace(contactInfo) && primaryCampaignContact != null) { //Delete _context.CampaignContacts.Remove(primaryCampaignContact); _context.Remove(primaryCampaignContact);//Not Needed? _context.Remove(primaryCampaignContact.Contact); } else { primaryContact.Email = contactModel.PrimaryContactEmail; primaryContact.FirstName = contactModel.PrimaryContactFirstName; primaryContact.LastName = contactModel.PrimaryContactLastName; primaryContact.PhoneNumber = contactModel.PrimaryContactPhoneNumber; _context.Update(primaryContact); if (primaryCampaignContact == null) { primaryCampaignContact = new CampaignContact { Contact = primaryContact, Campaign = campaign, ContactType = (int)ContactTypes.Primary }; campaign.CampaignContacts.Add(primaryCampaignContact); _context.Update(primaryCampaignContact); } } return campaign; }
public static Campaign UpdateCampaignContact(this Campaign campaign, IPrimaryContactModel contactModel, AllReadyContext _context) { if (campaign.CampaignContacts == null) { campaign.CampaignContacts = new List <CampaignContact>(); } var primaryCampaignContact = campaign.CampaignContacts.SingleOrDefault(tc => tc.ContactType == (int)ContactTypes.Primary); var contactId = primaryCampaignContact?.ContactId; Contact primaryContact; var contactInfo = string.Concat(contactModel.PrimaryContactEmail?.Trim() + contactModel.PrimaryContactFirstName?.Trim(), contactModel.PrimaryContactLastName?.Trim(), contactModel.PrimaryContactPhoneNumber?.Trim()); if (contactId == null) { primaryContact = new Contact(); } else { primaryContact = _context.Contacts.Single(c => c.Id == contactId); } if (string.IsNullOrWhiteSpace(contactInfo) && primaryCampaignContact != null) { //Delete _context.CampaignContacts.Remove(primaryCampaignContact); _context.Remove(primaryCampaignContact);//Not Needed? _context.Remove(primaryCampaignContact.Contact); } else { primaryContact.Email = contactModel.PrimaryContactEmail; primaryContact.FirstName = contactModel.PrimaryContactFirstName; primaryContact.LastName = contactModel.PrimaryContactLastName; primaryContact.PhoneNumber = contactModel.PrimaryContactPhoneNumber; _context.Update(primaryContact); if (primaryCampaignContact == null) { primaryCampaignContact = new CampaignContact { Contact = primaryContact, Campaign = campaign, ContactType = (int)ContactTypes.Primary }; campaign.CampaignContacts.Add(primaryCampaignContact); _context.Update(primaryCampaignContact); } } return(campaign); }
void CreateUpdateOrDeleteCampaignPrimaryContact(Campaign campaign, IPrimaryContactModel contactModel) { var hasPrimaryContact = campaign.CampaignContacts != null && campaign.CampaignContacts.Any(campaignContact => campaignContact.ContactType == (int)ContactTypes.Primary); var addOrUpdatePrimaryContact = !string.IsNullOrWhiteSpace(string.Concat(contactModel.PrimaryContactEmail?.Trim() + contactModel.PrimaryContactFirstName?.Trim(), contactModel.PrimaryContactLastName?.Trim(), contactModel.PrimaryContactPhoneNumber?.Trim())); // Update existing Primary Campaign Contact if (hasPrimaryContact && addOrUpdatePrimaryContact) { var contactId = campaign.CampaignContacts.Single(campaignContact => campaignContact.ContactType == (int)ContactTypes.Primary).ContactId; var contact = _context.Contacts.Single(c => c.Id == contactId); contact.Email = contactModel.PrimaryContactEmail; contact.FirstName = contactModel.PrimaryContactFirstName; contact.LastName = contactModel.PrimaryContactLastName; contact.PhoneNumber = contactModel.PrimaryContactPhoneNumber; } // Delete existing Primary Campaign Contact else if (hasPrimaryContact && !addOrUpdatePrimaryContact) { var campaignContact = campaign.CampaignContacts.Single(cc => cc.ContactType == (int)ContactTypes.Primary); var contact = _context.Contacts.Single(c => c.Id == campaignContact.ContactId); _context.Remove(contact); _context.Remove(campaignContact); } // Add a Primary Campaign Contact else if (!hasPrimaryContact && addOrUpdatePrimaryContact) { var campaignContact = new CampaignContact() { ContactType = (int)ContactTypes.Primary, Contact = new Contact() { Email = contactModel.PrimaryContactEmail, FirstName = contactModel.PrimaryContactFirstName, LastName = contactModel.PrimaryContactLastName, PhoneNumber = contactModel.PrimaryContactPhoneNumber }, }; if (campaign.CampaignContacts == null) { campaign.CampaignContacts = new List <CampaignContact>(); } campaign.CampaignContacts.Add(campaignContact); _context.Add(campaignContact); } }
protected override async Task HandleCore(RemoveUserProfileIncompleteClaimCommand message) { //Going directly to the database here to remove the claim instead of using the UserManager because the user isn't always logged in (eg. when confirming email address) var existingClaim = await _context.UserClaims.SingleOrDefaultAsync(u => u.UserId == message.UserId && u.ClaimType == Security.ClaimTypes.ProfileIncomplete); if (existingClaim != null) { _context.Remove(existingClaim); await _context.SaveChangesAsync(); } }
public async Task <int> Handle(EditOrganizationCommand message) { var org = await _context.Organizations .Include(l => l.Location) .Include(tc => tc.OrganizationContacts) .SingleOrDefaultAsync(t => t.Id == message.Organization.Id) ?? _context.Add(new Organization()).Entity; org.Name = message.Organization.Name; org.LogoUrl = message.Organization.LogoUrl; org.WebUrl = message.Organization.WebUrl; org.DescriptionHtml = message.Organization.Description; org.Summary = message.Organization.Summary; if (org.OrganizationContacts == null) { org.OrganizationContacts = new List <OrganizationContact>(); } var primaryCampaignContact = org.OrganizationContacts.SingleOrDefault(tc => tc.ContactType == (int)ContactTypes.Primary); var contactId = primaryCampaignContact?.ContactId; Contact primaryContact; var contactInfo = string.Concat(message.Organization.PrimaryContactEmail?.Trim() + message.Organization.PrimaryContactFirstName?.Trim(), message.Organization.PrimaryContactLastName?.Trim(), message.Organization.PrimaryContactPhoneNumber?.Trim()); if (contactId == null) { primaryContact = new Contact(); _context.Contacts.Add(primaryContact); } else { primaryContact = await _context.Contacts.SingleAsync(c => c.Id == contactId); } if (string.IsNullOrWhiteSpace(contactInfo) && primaryCampaignContact != null) { //Delete _context.OrganizationContacts.Remove(primaryCampaignContact); _context.Remove(primaryCampaignContact.Contact); } else { primaryContact.Email = message.Organization.PrimaryContactEmail; primaryContact.FirstName = message.Organization.PrimaryContactFirstName; primaryContact.LastName = message.Organization.PrimaryContactLastName; primaryContact.PhoneNumber = message.Organization.PrimaryContactPhoneNumber; if (primaryCampaignContact == null) { primaryCampaignContact = new OrganizationContact { Contact = primaryContact, Organization = org, ContactType = (int)ContactTypes.Primary }; org.OrganizationContacts.Add(primaryCampaignContact); } } org.Location = org.Location.UpdateModel(message.Organization.Location); org.PrivacyPolicy = message.Organization.PrivacyPolicy; org.PrivacyPolicyUrl = message.Organization.PrivacyPolicyUrl; await _context.SaveChangesAsync(); return(org.Id); }