public List <SalesRepresentative> GetSalesRepresentativesForFranchisee(long organizationId) { var franchiseeFranchiseeUserView = new FranchiseeFranchiseeUserTypedView(); IRelationPredicateBucket bucket = new RelationPredicateBucket(FranchiseeFranchiseeUserFields.IsActive == true); bucket.PredicateExpression.Add(FranchiseeFranchiseeUserFields.OrganizationId == organizationId); bucket.PredicateExpression.Add(FranchiseeFranchiseeUserFields.RoleId == Roles.SalesRep); using (var myAdapter = PersistenceLayer.GetDataAccessAdapter()) { myAdapter.FetchTypedView(franchiseeFranchiseeUserView, bucket, false); } List <long> userIds = franchiseeFranchiseeUserView.AsEnumerable().Select(ffuv => ffuv.UserId).ToList(); List <User> users = _userRepository.GetActiveSystemUsers(userIds); return(_salesRepresentativeFactory.CreateSalesRepresentatives(franchiseeFranchiseeUserView, users)); }
public List <SalesRepresentative> GetAllSalesRepresentatives() { var franchiseeFranchiseeUserView = new FranchiseeFranchiseeUserTypedView(); IRelationPredicateBucket bucket = new RelationPredicateBucket(FranchiseeFranchiseeUserFields.IsActive == true); bucket.PredicateExpression.Add(FranchiseeFranchiseeUserFields.RoleId == Roles.SalesRep); using (var myAdapter = PersistenceLayer.GetDataAccessAdapter()) { myAdapter.FetchTypedView(franchiseeFranchiseeUserView, bucket, false); } if (franchiseeFranchiseeUserView.AsEnumerable().Count() < 1) { return(null); // Might need to throw an exception } List <long> userIds = franchiseeFranchiseeUserView.AsEnumerable().Select(ffuv => ffuv.UserId).ToList(); List <User> users = _userRepository.GetUsers(userIds); return(_salesRepresentativeFactory.CreateSalesRepresentatives(franchiseeFranchiseeUserView, users)); }
public List <SalesRepresentative> CreateSalesRepresentatives(FranchiseeFranchiseeUserTypedView franchiseeFranchiseeUserViewTypedView, List <User> users) { if (franchiseeFranchiseeUserViewTypedView == null) { throw new ArgumentNullException("franchiseeFranchiseeUserViewTypedView"); } if (users == null) { throw new ArgumentNullException("users"); } var salesRepresentatives = new List <SalesRepresentative>(); foreach (FranchiseeFranchiseeUserRow franchiseeFranchiseeUserViewRow in franchiseeFranchiseeUserViewTypedView) { FranchiseeFranchiseeUserRow row = franchiseeFranchiseeUserViewRow; var user = users.Where(u => u.Id == row.UserId).SingleOrDefault(); if (user != null) { SalesRepresentative salesRepresentative; try { salesRepresentative = CreateSalesRepresentative(franchiseeFranchiseeUserViewRow, user); } catch (InvalidOperationException) { throw new InvalidOperationException(string.Format( "User for sales representative {0} not given.", franchiseeFranchiseeUserViewRow. OrganizationRoleUserId)); } salesRepresentatives.Add(salesRepresentative); } } return(salesRepresentatives); }