//TEST SET UP: This method will find the phoneNumber specified and will create numberOfRequests
        //for that phone number.  These requests will have no TrackingResponses associated with them
        public static void CreateTrackingRequests(string phoneNumber, int numberOfRequests)
        {
            using (UGFContext db = new UGFContext())
            {
                Person p = db.FindPersonByPhoneNumber(phoneNumber);
                if (p == null)
                {
                    throw new Exception("Unable to find person with phonenumber: " + phoneNumber);
                }

                DateTime backDate = (DateTime.Now - new TimeSpan(((int)numberOfRequests / 3) + 2, 0, 0, 0)).ToShortDateString().ToDate();

                if (p.CreatedDate > backDate)
                {
                    p.CreatedDate = backDate;
                    p.ResumedDate = "";
                    db.SaveChanges();
                }

                IEnumerable <UserSchedule> schedules = p.UserSchedules;
                int currentCount = 0;

                while (backDate <= DateTime.Now)
                {
                    foreach (UserSchedule s in schedules.OrderBy(t => t.OverrideUTCTimeOfDayToSend))
                    {
                        backDate = backDate.SetTimeOfDay(s.OverrideUTCTimeOfDayToSend.ToShortTimeString());

                        string          text    = s.SourceSchedule.ReferenceText;
                        TrackingRequest request = new TrackingRequest()
                        {
                            PersonId = p.PersonId, DateSent = backDate, TextSent = text, UserScheduleId = s.UserScheduleId
                        };
                        db.TrackingReqeusts.Add(request);
                        currentCount += 1;

                        if (currentCount >= numberOfRequests)
                        {
                            backDate = DateTime.Now;
                            break;
                        }
                    }

                    backDate = backDate.AddDays(1);
                }

                db.SaveChanges();
            }
        }
Esempio n. 2
0
        public void U100_VerifyPeopleSave()
        {
            string phoneNumber = "6122809917";

            Person p = _repository.FindPersonByPhoneNumber(phoneNumber);

            if (p == null)
            {
                PhoneNumber pn = new PhoneNumber()
                {
                    Digits = phoneNumber, IsActive = true
                };
                p = new Person()
                {
                    PersonId       = Guid.NewGuid(),
                    ClientStatusId = ClientStatus.PreRegisteredId,
                    Status         = _repository.FindClientStatusObject(ClientStatus.PreRegisteredId),
                    EmailAddress   = "*****@*****.**",
                    FirstName      = "Mike",
                    LanguageId     = 2,
                    LastName       = "Emo",
                    TimeZoneId     = 2,
                };

                pn.PersonId = p.PersonId;
                _repository.PhoneNumbers.Add(pn);
                _repository.People.Add(p);
                _repository.SaveChanges();
            }

            Assert.IsTrue(_repository.FindPersonByPhoneNumber(phoneNumber) != null);
        }
        private void ResetAreaCodes()
        {
            foreach (TimezoneAreacode ac in _db.AreaCodes)
            {
                _db.AreaCodes.Remove(ac);
            }

            _db.SaveChanges();
        }