/// <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); } }); }
public AccountController() { db = new NationalCriminalsEntities(); }