コード例 #1
0
        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());
        }
コード例 #2
0
 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);
        }
コード例 #5
0
        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();
        }
コード例 #6
0
        /// <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);
                    }
                }
            }
        }
コード例 #7
0
        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);
        }
コード例 #9
0
        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);
            }
        }
コード例 #12
0
 public virtual void AddContactToOrganization(FoundationOrganization organization, FoundationContact contact, B2BUserRoles userRole)
 {
     contact.FoundationOrganization = organization;
     contact.UserRole = userRole.ToString();
     contact.SaveChanges();
 }
コード例 #13
0
ファイル: Extensions.cs プロジェクト: Geta/Bynder-Foundation
        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());
        }