public virtual List <ContactViewModel> GetContactViewModelsForOrganization(FoundationOrganization organization = null) { if (organization == null) { organization = GetCurrentOrganization(); } if (organization == null) { return(new List <ContactViewModel>()); } var organizationUsers = GetContactsForOrganization(organization); if (organization.SubOrganizations.Count > 0) { foreach (var subOrg in organization.SubOrganizations) { var contacts = GetContactsForOrganization(subOrg); organizationUsers.AddRange(contacts); } } return(organizationUsers.Select(user => new ContactViewModel(user)).ToList()); }
public SubFoundationOrganizationModel(FoundationOrganization organization) : base(organization.OrganizationEntity) { Name = organization.Name; Locations = organization.Addresses != null && organization.Addresses.Any() ? organization.Addresses.Select(address => new B2BAddressViewModel(address)).ToList() : new List <B2BAddressViewModel>(); }
public OrganizationModel GetOrganizationModel(FoundationOrganization organization = null) { if (organization == null) { organization = GetCurrentFoundationOrganization(); } if (organization == null) { return(null); } if (organization.ParentOrganizationId == Guid.Empty) { return(new OrganizationModel(organization)); } var parentOrganization = GetFoundationOrganizationById(organization.ParentOrganizationId.ToString()); return(new OrganizationModel(organization) { ParentOrganization = new OrganizationModel(parentOrganization), ParentOrganizationId = parentOrganization.OrganizationId }); }
public List <FoundationOrganization> GetAllOrganizationAndSub(FoundationOrganization organizationInfo) { var result = new List <FoundationOrganization>(); if (organizationInfo != null) { GetAllOganizationAndSub(organizationInfo, result, 0); } return(result); }
public void UpdateOrganizationAddress(FoundationOrganization organization, B2BAddressViewModel addressModel) { var address = GetOrganizationAddress(organization.OrganizationEntity, addressModel.AddressId) ?? CreateAddress(); address.OrganizationId = organization.OrganizationId; address.Name = addressModel.Name; address.Street = addressModel.Street; address.City = addressModel.City; address.PostalCode = addressModel.PostalCode; address.CountryCode = addressModel.CountryCode; address.CountryName = GetCountryNameByCode(addressModel.CountryCode); address.SaveChanges(); }
/// <summary> /// Get all credit card of current organization and its sub organization /// </summary> /// <param name="organization">Organization that need to get credit card from</param> private void GetCreditCardOrganization(FoundationOrganization organization, bool recursive, List <CreditCardModel> list) { if (organization != null) { var orgCards = _customerContext.GetOrganizationCreditCards(organization.OrganizationEntity); AddRangeCreditCard(null, new OrganizationModel(organization), list, orgCards); if (organization.SubOrganizations.Count > 0 && recursive) { foreach (var subOrg in organization.SubOrganizations) { GetCreditCardOrganization(subOrg, recursive, list); } } } }
public virtual List <FoundationContact> GetContactsForOrganization(FoundationOrganization organization = null) { if (organization == null) { organization = GetCurrentOrganization(); } if (organization == null) { return(new List <FoundationContact>()); } return(_customerContext.GetCustomerContactsInOrganization(organization.OrganizationEntity) .Select(_ => new FoundationContact(_)) .ToList()); }
public void CreateOrganization(OrganizationModel organizationInfo) { var organization = FoundationOrganization.New(); organization.Name = organizationInfo.Name; organization.SaveChanges(); var contact = GetCurrentContact(); if (contact != null) { AddContactToOrganization(organization, contact, B2BUserRoles.Admin); } _addressBookService.UpdateOrganizationAddress(organization, organizationInfo.Address); }
public OrganizationModel(FoundationOrganization organization) { if (organization != null) { OrganizationId = organization.OrganizationId; Name = organization.Name; Address = organization.Address != null ? new B2BAddressViewModel(organization.Address) : null; SubOrganizations = organization.SubOrganizations != null && organization.SubOrganizations.Any() ? organization.SubOrganizations.Select(subOrg => new OrganizationModel(subOrg)).ToList() : new List <OrganizationModel>(); ParentOrganizationId = organization.ParentOrganizationId; var contact = organization.OrganizationEntity.Contacts.FirstOrDefault(x => x.GetStringValue(Constant.Fields.UserRole) == "Admin") ?? organization.OrganizationEntity.Contacts.FirstOrDefault(); MainContact = contact; } }
private void GetAllOganizationAndSub(FoundationOrganization organization, List <FoundationOrganization> list, int level) { if (organization != null) { while (level > 0) { organization.Name = ".." + organization.Name; level--; } list.Add(organization); if (organization.SubOrganizations.Count > 0) { foreach (var subOrg in organization.SubOrganizations) { GetAllOganizationAndSub(subOrg, list, level + 1); } } } }
public void CreateSubOrganization(SubOrganizationModel newSubOrganization) { var currentOrganization = GetCurrentFoundationOrganization(); if (currentOrganization == null) { return; } var organization = FoundationOrganization.New(); organization.Name = newSubOrganization.Name; organization.ParentOrganizationId = currentOrganization.OrganizationId; organization.SaveChanges(); foreach (var location in newSubOrganization.Locations) { _addressBookService.UpdateOrganizationAddress(organization, location); } }
public virtual void AddContactToOrganization(FoundationOrganization organization, FoundationContact contact, B2BUserRoles userRole) { contact.FoundationOrganization = organization; contact.UserRole = userRole.ToString(); contact.SaveChanges(); }
public static List <ContactViewModel> GetContactViewModelsForOrganization(this ICustomerService customerService, FoundationOrganization organization = null) { if (organization == null) { organization = GetCurrentOrganization(customerService); } if (organization == null) { return(new List <ContactViewModel>()); } var organizationUsers = customerService.GetContactsForOrganization(organization); if (organization.SubOrganizations.Count > 0) { foreach (var subOrg in organization.SubOrganizations) { var contacts = customerService.GetContactsForOrganization(subOrg); organizationUsers.AddRange(contacts); } } return(organizationUsers.Select(user => new ContactViewModel(user)).ToList()); }