private void SetHouseholdTotals()
        {
            HouseholdTotals = new HouseholdTotals();

            foreach (var person in Persons)
            {
                HouseholdTotals.FullAndPartTimeWorkers += person.IsFullOrPartTimeWorker.ToFlag();
                HouseholdTotals.FulltimeWorkers        += person.IsFulltimeWorker.ToFlag();
                HouseholdTotals.PartTimeWorkers        += person.IsPartTimeWorker.ToFlag();
                HouseholdTotals.RetiredAdults          += person.IsRetiredAdult.ToFlag();
                HouseholdTotals.NonworkingAdults       += person.IsNonworkingAdult.ToFlag();
                HouseholdTotals.UniversityStudents     += person.IsUniversityStudent.ToFlag();
                HouseholdTotals.DrivingAgeStudents     += person.IsDrivingAgeStudent.ToFlag();
                HouseholdTotals.ChildrenAge5Through15  += person.IsChildAge5Through15.ToFlag();
                HouseholdTotals.ChildrenUnder5         += person.IsChildUnder5.ToFlag();
                HouseholdTotals.ChildrenUnder16        += person.IsChildUnder16.ToFlag();
                HouseholdTotals.Adults              += person.IsAdult.ToFlag();
                HouseholdTotals.AllWorkers          += person.IsWorker.ToFlag();
                HouseholdTotals.AllStudents         += person.IsStudent.ToFlag();
                HouseholdTotals.DrivingAgeMembers   += person.IsDrivingAge.ToFlag();
                HouseholdTotals.WorkersPlusStudents += (person.IsFulltimeWorker.ToFlag() + person.IsPartTimeWorker.ToFlag() + person.IsUniversityStudent.ToFlag() + person.IsDrivingAgeStudent.ToFlag());
            }

            // home-based workers and students in household
            var homeBasedPersons = Persons.Count(p => (p.IsWorker && p.UsualWorkParcelId == ResidenceParcelId) || (p.IsStudent && p.UsualSchoolParcelId == ResidenceParcelId));

            HouseholdTotals.PartTimeWorkersPerDrivingAgeMembers    = HouseholdTotals.PartTimeWorkers / Math.Max(HouseholdTotals.DrivingAgeMembers, 1D);
            HouseholdTotals.RetiredAdultsPerDrivingAgeMembers      = HouseholdTotals.RetiredAdults / Math.Max(HouseholdTotals.DrivingAgeMembers, 1D);
            HouseholdTotals.UniversityStudentsPerDrivingAgeMembers = HouseholdTotals.UniversityStudents / Math.Max(HouseholdTotals.DrivingAgeMembers, 1D);
            HouseholdTotals.DrivingAgeStudentsPerDrivingAgeMembers = HouseholdTotals.DrivingAgeStudents / Math.Max(HouseholdTotals.DrivingAgeMembers, 1D);
            HouseholdTotals.ChildrenUnder5PerDrivingAgeMembers     = HouseholdTotals.ChildrenUnder5 / Math.Max(HouseholdTotals.DrivingAgeMembers, 1D);
            HouseholdTotals.HomeBasedPersonsPerDrivingAgeMembers   = homeBasedPersons / Math.Max(HouseholdTotals.DrivingAgeMembers, 1D);
        }
Exemple #2
0
        // Found most and least popular books.
        public void MostLeastPopularBook()
        {
            // go through books
            var amountOfEachBook = Books.Select
                                       (book => new
            {
                Book  = book,
                Usage = Persons.Count(person => person.Books.Contains(book))
            }
                                       ).ToList();

            // Max and Min used books (count)
            int maxUsage = amountOfEachBook.Max(maxBookUsage => maxBookUsage.Usage);
            int minUsage = amountOfEachBook.Min(minBookUsage => minBookUsage.Usage);

            // take Max and Min used books (Title)
            var maxUsedBook = amountOfEachBook
                              .Where(_maxUsedBook => _maxUsedBook.Usage == maxUsage)
                              .Select(bookTitle => bookTitle.Book.Title)
                              .ToArray();
            var minUsedBook = amountOfEachBook
                              .Where(_minUsedBook => _minUsedBook.Usage == minUsage)
                              .Select(bookTitle => bookTitle.Book.Title)
                              .ToArray();

            Console.WriteLine("Maximum Used Book: {0} (amount of books: {1})", String.Join(", ", maxUsedBook), maxUsage);
            Console.WriteLine("Minimum Used Book: {0} (amount of books: {1})", String.Join(", ", minUsedBook), minUsage);
        }
        private void Subscribe()
        {
            MessagingCenter.Subscribe <AddNoteScreenViewModel, Note>(this, Message.NoteCreated, (sender, note) =>
            {
                Notes.Add(note);
                //toast the user
                int amount = Notes.Count();
                if (amount > 1)
                {
                    DependencyService.Get <IToast>().WriteToast($"{amount} notes were created");
                }
                else if (amount == 1)
                {
                    DependencyService.Get <IToast>().WriteToast("A note was created");
                }
            });

            MessagingCenter.Subscribe <AddPersonScreenViewModel, Person>(this, Message.PersonCreated, (sender, person) =>
            {
                Persons.Add(person);
                //toast the user
                int amount = Persons.Count();
                if (amount > 1)
                {
                    DependencyService.Get <IToast>().WriteToast($"{amount} persons were created");
                }
                else if (amount == 1)
                {
                    DependencyService.Get <IToast>().WriteToast("A person was created");
                }
            });

            MessagingCenter.Subscribe <SelectAccountforCallReportViewModel, Account>(this, Message.AccountLoaded, (sender, account) =>
            {
                Account = account;
                InitializeCreateCallReportScreenAsync();
            });

            MessagingCenter.Subscribe <SelectAccountforCallReportViewModel, CallReportType>(this, Message.CallReportTypeLoaded, (sender, callreporttype) =>
            {
                Type = callreporttype;
                InitializeCallReportQuestions();
            });
            MessagingCenter.Subscribe <SelectTypeOfCallReportViewModel, Account>(this, Message.AccountLoaded, (sender, account) =>
            {
                Account = account;
                InitializeCreateCallReportScreenAsync();
            });

            MessagingCenter.Subscribe <SelectTypeOfCallReportViewModel, CallReportType>(this, Message.CallReportTypeLoaded, (sender, callreporttype) =>
            {
                Type = callreporttype;
                InitializeCallReportQuestions();
            });
            MessagingCenter.Subscribe <CustomerMasterViewModel, Account>(this, Message.AccountLoaded, (sender, account) =>
            {
                Account = account;
                InitializeCreateCallReportScreenAsync();
            });
        }
        public string GetPersonsBeautyfied()
        {
            if (Persons == null || !Persons.Any())
            {
                return("");
            }

            string strBeautyfied = "";

            for (int i = 0; i < Persons.Count(); i++)
            {
                strBeautyfied += Persons.ElementAt(i).FullName;

                if (Persons.Count() > 1 && i == (Persons.Count() - 2))
                {
                    strBeautyfied += " and ";
                }

                if (Persons.Count() > 1 && i < (Persons.Count() - 2))
                {
                    if (i != 0)
                    {
                        strBeautyfied += ", ";
                    }
                }
            }

            return(strBeautyfied);
        }
Exemple #5
0
        public void Api_Get_returns_all_persons_when_present()
        {
            _searchService.Setup(m => m.Get()).Returns(Persons);
            var controller = new SearchController(_searchService.Object, _logger.Object);

            var result   = controller.Get();
            var contents = ((JsonResult <IEnumerable <Person> >)result).Content as IEnumerable <Person>;

            _searchService.Verify(m => m.Get(), Times.Once);
            Assert.AreEqual(Persons.Count(), contents.Count());
        }
        public PersonsContext()
        {
            // добавляем строки для первоначальной заполненности

            if (Persons.Count() != 0)
            {
                return;
            }
            Persons.AddRange(
                new Person()
            {
                Login    = "******",
                Password = "******",
                Name     = "Михаил Борисович",
                Email    = "*****@*****.**"
            },
                new Person()
            {
                Login    = "******",
                Password = "******",
                Name     = "Борис Анатольевич",
                Email    = "*****@*****.**"
            },
                new Person()
            {
                Login    = "******",
                Password = "******",
                Name     = "Наташа",
                Email    = "*****@*****.**"
            },
                new Person()
            {
                Login    = "******",
                Password = "******",
                Name     = "admin",
                Email    = "*****@*****.**"
            });

            Roles.AddRange(
                new Role()
            {
                Name = "Администратор"
            },
                new Role()
            {
                Name = "Заказчик"
            },
                new Role()
            {
                Name = "Специалист отдела кадров"
            },
                new Role()
            {
                Name = "Бухгалтер"
            });

            SaveChanges();

            PersonsRoles.AddRange(
                new PersonsRoles()
            {
                PersonId = 1,
                RoleId   = 1,
            },
                new PersonsRoles()
            {
                PersonId = 2,
                RoleId   = 2,
            },
                new PersonsRoles()
            {
                PersonId = 3,
                RoleId   = 3,
            },
                new PersonsRoles()
            {
                PersonId = 3,
                RoleId   = 4,
            },
                new PersonsRoles()
            {
                PersonId = 4,
                RoleId   = 1,
            });

            SaveChanges();
        }