/// <summary>
        /// Generate search results based on input parameters.
        /// </summary>
        /// <param name="model">Model with appropriate data.</param>
        public void GenerateSearchResult(PersonClientModels model)
        {
            var db = new NationalCriminalsEntities();

            var person = (from people in db.People
                          where (
                              (model.Name == null || people.Name.Contains(model.Name)) &&
                              (model.Nationality == null || people.Nationality == model.Nationality) &&
                              (people.Sex == model.Sex) &&
                              (people.Age >= model.AgeMin && (model.AgeMax == 0 || people.Age <= model.AgeMax)) &&
                              (people.Height >= model.HeightMin && (model.HeightMax == 0 || people.Height <= model.HeightMax)) &&
                              (people.Weight >= model.WeightMin && (model.WeightMax == 0 || people.Weight <= model.WeightMax)))
                          select new PersonModel
            {
                Name = people.Name,
                Age = people.Age,
                Sex = people.Sex,
                Weight = people.Weight,
                Height = people.Height,
                Nationality = people.Nationality
            }).Take(model.MaxResult).ToList();

            //Send Email asynchronous.
            Task.Run(async() =>
            {
                if (person.Count == 0)
                {
                    await CreateNoRecordsFoundPDF(model.RecipientEmail);
                }
                else
                {
                    await CreatePDF(person, model.RecipientEmail);
                }
            });
        }
コード例 #2
0
 public AccountController()
 {
     db = new NationalCriminalsEntities();
 }