public void TerritoryTypeReturnsSalesRep() { const TerritoryType expectedTerritoryType = TerritoryType.SalesRep; Territory territory = new SalesRepTerritory(); Assert.AreEqual(expectedTerritoryType, territory.TerritoryType); }
public SalesRepTerritory CreateSalesRepTerritory(TerritoryEntity territoryEntity, List <OrderedPair <OrganizationRoleUser, RegistrationMode> > owningUsersAndEventTypes, List <OrderedPair <long, long> > userSalesReps) { List <SalesRepTerritoryAssignment> salesRepTerritoryAssignments = _salesRepTerritoryAssignmentFactory.CreateSalesRepTerritoryAssignments (owningUsersAndEventTypes, userSalesReps).ToList(); SalesRepTerritory salesRepTerritory = _salesRepTerritoryMapper.Map(territoryEntity); salesRepTerritory.SalesRepTerritoryAssignments = salesRepTerritoryAssignments; return(salesRepTerritory); }
public void CreateSalesRepTerritorySetsSalesRepTerritoryAssignemntsToEmptyWhenEntityHasNoOwners() { var territoryEntity = new TerritoryEntity { Type = (byte)TerritoryType.SalesRep }; SalesRepTerritory territory = _territoryFactory.CreateSalesRepTerritory(territoryEntity, new List <OrderedPair <OrganizationRoleUser, RegistrationMode> >(), new List <OrderedPair <long, long> >()); Assert.IsNotNull(territory.SalesRepTerritoryAssignments, "Null list of Sales Rep Owner IDs returned."); Assert.IsEmpty(territory.SalesRepTerritoryAssignments, "Incorrect Sales Rep Owner ID list returned."); }
public void GetTerritoryReturnsWhatRepositoryGetTerritoryReturnsForTerritory() { const long territoryId = 3; Territory expectedTerritory = new SalesRepTerritory(territoryId); Expect.Call(_territoryRepository.GetTerritory(territoryId)).Return(expectedTerritory); Expect.Call(_territoryRepository.GetOwnerNamesForTerritory(expectedTerritory)).Return(new List <string>()); _mocks.ReplayAll(); OrderedPair <Territory, List <string> > territoryAndOwnerNames = _territoryController. GetTerritoryAndOwnerNames(territoryId); _mocks.VerifyAll(); Assert.AreEqual(expectedTerritory, territoryAndOwnerNames.FirstValue, "Incorrect territory returned."); }
public void SaveTerritorySavesSalesRepTerritory() { var salesRepTerritory = new SalesRepTerritory { Description = "Sales Rep Territory test description 233.", SalesRepTerritoryAssignments = new List <SalesRepTerritoryAssignment> { new SalesRepTerritoryAssignment { EventTypeSetupPermission = RegistrationMode.Public, SalesRep = new SalesRepresentative() } }, Name = "Integration Test Saving Sales Rep Territory", ParentTerritoryId = VALID_SALES_REP_PARENT_TERRITORY_ID, ZipCodes = GetListOfValidZipCodes() }; _territoryRepository.SaveTerritory(salesRepTerritory); }
private Core.Geo.Domain.Territory GetTerritory() { long territoryId; long parentTerritoryId; long.TryParse(Request.QueryString["tid"], out territoryId); long.TryParse(Request.QueryString["ftid"], out parentTerritoryId); switch ((TerritoryType)(byte.Parse(TerritoryTypeDDL.SelectedValue))) { case TerritoryType.SalesRep: var salesRepTerritory = new SalesRepTerritory(territoryId) { SalesRepTerritoryAssignments = new List <SalesRepTerritoryAssignment>(), ParentTerritoryId = parentTerritoryId }; return(salesRepTerritory); } return(null); }
public void GetTerritorySetsListOfOwnersToWhatGetOwnersRepositoryMethodReturns() { const long territoryId = 3; Territory expectedTerritory = new SalesRepTerritory(territoryId); var expectedOwnerNames = new List <string> { "Bob", "Alice" }; Expect.Call(_territoryRepository.GetTerritory(territoryId)).Return(expectedTerritory); Expect.Call(_territoryRepository.GetOwnerNamesForTerritory(expectedTerritory)).Return(expectedOwnerNames); _mocks.ReplayAll(); OrderedPair <Territory, List <string> > territoryAndOwnerNames = _territoryController. GetTerritoryAndOwnerNames(territoryId); _mocks.VerifyAll(); Assert.AreEqual(expectedOwnerNames, territoryAndOwnerNames.SecondValue, "Incorrect owner list returned."); }
public void CreateSalesRepTerritoryMapsEventTypeSetupPermissionsToTerritoryAssignments() { var owningUsersAndEventTypes = new List <OrderedPair <OrganizationRoleUser, RegistrationMode> > { new OrderedPair <OrganizationRoleUser, RegistrationMode>( new OrganizationRoleUser(2, (long)Roles.SalesRep, 3), RegistrationMode.Public), }; var userSalesRepIds = new List <OrderedPair <long, long> > { new OrderedPair <long, long>(2, 7) }; RegistrationMode expectedEventType = owningUsersAndEventTypes.Single().SecondValue; SalesRepTerritory salesRepTerritory = _territoryFactory.CreateSalesRepTerritory (new TerritoryEntity(), owningUsersAndEventTypes, userSalesRepIds); Assert.AreEqual(expectedEventType, salesRepTerritory.SalesRepTerritoryAssignments.Single().EventTypeSetupPermission, "Sales Rep Territory Event Type Setup Permission was mapped incorrectly."); }
public void CreateSalesRepTerritoryMapsOrganizationRoleUsersToSalesRepTerritoryAssignments() { var owningUsersAndEventTypes = new List <OrderedPair <OrganizationRoleUser, RegistrationMode> > { //TODO: SRE ... NEEd to check these new OrderedPair <OrganizationRoleUser, RegistrationMode>( new OrganizationRoleUser { OrganizationId = 1, UserId = 2, RoleId = (long)Roles.SalesRep }, RegistrationMode.Public), new OrderedPair <OrganizationRoleUser, RegistrationMode>( new OrganizationRoleUser { OrganizationId = 3, UserId = 4, RoleId = (long)Roles.SalesRep }, RegistrationMode.Private) }; var userSalesRepIds = new List <OrderedPair <long, long> > { new OrderedPair <long, long>(2, 7), new OrderedPair <long, long>(4, 8) }; var expectedsalesRepIds = userSalesRepIds.Select(usr => usr.SecondValue); var expectedUserIds = owningUsersAndEventTypes.Select(ouet => ouet.FirstValue.UserId); SalesRepTerritory salesRepTerritory = _territoryFactory. CreateSalesRepTerritory(new TerritoryEntity(), owningUsersAndEventTypes, userSalesRepIds); Assert.IsTrue(salesRepTerritory.SalesRepTerritoryAssignments. Where(srta => expectedsalesRepIds.Contains (srta.SalesRep.SalesRepresentativeId)).Count() == 2, "Owning Sales Representatives' Sales Rep IDs mapped incorrectly."); Assert.IsTrue(salesRepTerritory.SalesRepTerritoryAssignments. Where(osr => expectedUserIds.Contains (osr.SalesRep.Id)).Count() == 2, "Owning Sales Representatives' User IDs mapped incorrectly."); }
private void GetEventDataByDate(DateTime startDate, DateTime endDate) { List <EEvent> eventForCalendar; if (IoC.Resolve <ISessionContext>().UserSession.CurrentOrganizationRole.CheckRole((long)Roles.SalesRep)) { eventForCalendar = _masterDal.GetEventForCalendar(0, startDate.ToShortDateString(), endDate.ToShortDateString(), 0, HostName, FranchiseeId, PodIds, TerritoryIds); } else { eventForCalendar = _masterDal.GetEventForCalendar(SalesRepId, startDate.ToShortDateString(), endDate.ToShortDateString(), 0, HostName, FranchiseeId, PodIds, TerritoryIds); } var eventIds = new List <long>(); ITerritoryRepository territoryRepository = new TerritoryRepository(); if (!string.IsNullOrEmpty(TerritoryIds) && TerritoryIds != "0") { var territoryIds = TerritoryIds.Split(',').ToList().Select(ti => Convert.ToInt64(ti)).ToList(); List <Territory> territories = territoryRepository.GetTerritories(territoryIds); List <string> territoryZipCodes = territories.SelectMany(territory => territory.ZipCodes.Select(zipCode => zipCode.Zip)).ToList(); eventForCalendar = eventForCalendar.Where(eventData => territoryZipCodes.Contains(eventData.Host.Address.Zip)).ToList(); if (SalesRepId > 0) { var salesRepTerritories = territoryRepository.GetTerritoriesForSalesRep(SalesRepId).Where(t => territoryIds.Contains(t.Id)) .ToList(); foreach (var calenderEvent in eventForCalendar) { var @event = calenderEvent; var filteredSalesRepTerritories = salesRepTerritories.Where( st => st.ZipCodes.Select(z => z.Zip).Contains(@event.Host.Address.Zip)); foreach (var filteredSalesRepTerritory in filteredSalesRepTerritories) { SalesRepTerritory territory = filteredSalesRepTerritory; if (filteredSalesRepTerritories.All(fstpt => fstpt.ParentTerritoryId != territory.Id)) { var territoryAssignment = territory.SalesRepTerritoryAssignments.SingleOrDefault(srta => srta.SalesRep.SalesRepresentativeId == SalesRepId); if (territoryAssignment != null && (int)territoryAssignment.EventTypeSetupPermission != 0 && calenderEvent.EventType.EventTypeID != (int)territoryAssignment.EventTypeSetupPermission) { eventIds.Add(@event.EventID); } } } } } } if (eventForCalendar != null) { for (int count = 0; count < eventForCalendar.Count; count++) { string eventData = "\"" + eventForCalendar[count].Name.Replace("\n", "").Replace("'", "") + " \""; string eventStatus = "\"" + Convert.ToString(Enum.Parse(typeof(EventStatus), eventForCalendar[count].EventStatus.ToString())).Replace("\n", "").Replace("'", "") + " \""; string eventDate = "\"" + Convert.ToDateTime(eventForCalendar[count].EventDate).ToLongDateString() + " \""; string eventStartTime = "\"" + Convert.ToDateTime(eventForCalendar[count].EventStartTime).ToShortTimeString() + " \""; string eventEndTime = "\"" + Convert.ToDateTime(eventForCalendar[count].EventEndTime).ToShortTimeString() + " \""; string timeZone = "\"" + eventForCalendar[count].TimeZone + " \""; string address1 = "\"" + eventForCalendar[count].Host.Address.Address1.Replace("\n", "").Replace("'", "") + " \""; string address2 = "\"" + eventForCalendar[count].Host.Address.Address2.Replace("\n", "").Replace("'", "") + " \""; string city = "\"" + eventForCalendar[count].Host.Address.City + " \""; string state = "\"" + eventForCalendar[count].Host.Address.State + " \""; string country = "\"" + eventForCalendar[count].Host.Address.Country + " \""; string zip = "\"" + eventForCalendar[count].Host.Address.Zip + " \""; string franchisee = "\"" + eventForCalendar[count].Franchisee.Name.Replace("\n", "").Replace("'", "") + " \""; string salesRep = "\"" + eventForCalendar[count].FranchiseeFranchiseeUser.FranchiseeUser.User.FirstName + " " + eventForCalendar[count].FranchiseeFranchiseeUser.FranchiseeUser.User.LastName + " \""; string controlId = "\"Event" + eventForCalendar[count].EventID + "\""; string customerCount; TimeSpan dateDifference = Convert.ToDateTime(eventForCalendar[count].EventDate).Subtract(DateTime.Now); int days = dateDifference.Days; if (days < 0) { customerCount = "\" Registered:" + eventForCalendar[count].RegisteredCustomersCount + " | Attended:" + eventForCalendar[count].AttendedCustomersCount + " | Cancel:" + eventForCalendar[count].CancelCustomersCount + " \""; } else if (days == 0) { customerCount = "\"Registered:" + eventForCalendar[count].RegisteredCustomersCount + " | Attended:" + eventForCalendar[count].AttendedCustomersCount + " | On Site :" + eventForCalendar[count].OnSiteCustomersCount + " \""; } else { customerCount = "\"Registered:" + eventForCalendar[count].RegisteredCustomersCount + " | Paid:" + eventForCalendar[count].PaidCustomersCount + " | UnPaid :" + eventForCalendar[count].UnpaidCustomersCount + " |Cancel :" + eventForCalendar[count].CancelCustomersCount + " \""; } string strAddress = CommonCode.AddressMultiLine(eventForCalendar[count].Host.Address.Address1, eventForCalendar[count].Host.Address.Address2, eventForCalendar[count].Host.Address.City, eventForCalendar[count].Host.Address.State, eventForCalendar[count].Host.Address.Zip); strAddress = "\"" + strAddress.Replace("\n", "").Replace("'", "") + " \""; string strEventDescription = eventData + "," + eventStatus + "," + eventDate + "," + eventStartTime + "," + eventEndTime + "," + timeZone + "," + customerCount + "," + strAddress.Trim() + "," + address2 + "," + city + "," + state + "," + country + "," + zip + "," + franchisee + "," + salesRep + "," + controlId; string strEventView = string.Empty; if (!eventIds.Contains(eventForCalendar[count].EventID)) { strEventView = "onclick = 'window.location=\"EventDetails.aspx?EventID=" + eventForCalendar[count].EventID.ToString() + "\"'"; } //} string salesRepInitials = eventForCalendar[count].FranchiseeFranchiseeUser.FranchiseeUser.User.FirstName.Substring(0, 1) + eventForCalendar[count].FranchiseeFranchiseeUser.FranchiseeUser.User.LastName.Substring(0, 1); string podName = string.Empty; var jTipData = "Event Details for " + eventData.Replace("\"", string.Empty) + "[" + eventForCalendar[count].EventID + "] " + "<span class=\"whitetxt12\">(" + eventStatus.Replace("\"", string.Empty).Trim() + ")</span>" + "|<p class=\"jtprowtop \"><span class=\"lbljtip\"> Date & Time: </span>" + "<span class=\"dtlsjtip\">" + eventDate.Replace("\"", string.Empty) + "<br />" + eventStartTime.Replace("\"", string.Empty) + "–" + eventEndTime.Replace("\"", string.Empty) + "<br />" + timeZone.Replace("\"", string.Empty) + "</span>" + "</p><p class=\"jtprow\"><span class=\"lbljtip\"> Address: </span>" + "<span class=\"dtlsjtip\">" + strAddress.Replace("\"", string.Empty) + "</span></p><p class=\"jtprow\"><span class=\"lbljtip\"> Owner: </span>" + "<span class=\"dtlsjtip\">" + salesRep.Replace("\"", string.Empty) + "<br />(" + franchisee.Replace("\"", string.Empty) + ")" + "</span></p>"; podName = "<p class=\"jtprow\"><span class=\"lbljtip\"> Pod Name: </span>"; podName = podName + "<span class=\"dtlsjtip\">"; if (eventForCalendar[count].EventPod != null) { for (int podcount = 0; podcount < eventForCalendar[count].EventPod.Count; podcount++) { podName = podName + eventForCalendar[count].EventPod[podcount].Pod.Name.Replace("\"", string.Empty) + "<br />"; } } podName = podName + "</span></p>"; eventStatus = "<p class=\"jtprow\"><span class=\"lbljtip\"> Event Status: </span>"; eventStatus += "<span class=\"dtlsjtip\">" + ((EventStatus)eventForCalendar[count].EventStatus).ToString() + "</span></p>"; jTipData = jTipData + podName + eventStatus + "<p class=\"jtprow\"><span class=\"lbljtip\"> Statistics/Health: </span> </p>" + "<p class=\"jtprowtop\"><span class=\"custcauntjtp\"><span class=\"ttxt\"> Registered Customers </span>" + "<span class=\"dtxt\">" + ": " + eventForCalendar[count].RegisteredCustomersCount.ToString().Replace("\"", string.Empty) + "</span>" + "<br />" + "<span class=\"ttxt\"> Attended Customers</span>" + "<span class=\"dtxt\">" + ": " + eventForCalendar[count].AttendedCustomersCount.ToString().Replace("\"", string.Empty) + "</span>" + "<br />" + "<span class=\"ttxt\"> Canceled Customers</span>" + "<span class=\"dtxt\">" + ": " + eventForCalendar[count].CancelCustomersCount.ToString().Replace("\"", string.Empty) + "</span></span></p>"; string strEventName = "<a class='jtip' title='" + jTipData + "'" + strEventView + " ><img src='../Images/addevent-square.gif' /><span class='celltxt_clnder'>" + salesRepInitials + " " + eventForCalendar[count].Host.Name + "<br>" + eventForCalendar[count].Host.Address.City + ", " + eventForCalendar[count].Host.Address.State + " - " + eventForCalendar[count].Host.Address.Zip + "</span></a>"; _tblAppointments.Rows.Add(new object[] { "Event" + eventForCalendar[count].EventID.ToString(), "Event", strEventName, eventForCalendar[count].EventDate, strEventDescription }); } } }