public IActionResult ReportObservationStep3(ObservationViewModel model) { model.category = db.GetCategoryFromId(model.category.Id); Observation o = new Observation() { //Laddar dagens datum som default Date = DateTime.Today, maincategoryId = model.mainCategory.Id }; model.observation = o; //Hämtar underkategori baserat på vad som valts var list = db.GetThirdCategories(model.category); ViewBag.IsValueEnable = CheckList(list); ViewBag.thirdCategories = list; int thirdCategoriesCount = list.Count(); ViewBag.thirdCategoriesCount = thirdCategoriesCount; if (model.category.Unit.Equals("Päls")) { //filtrerar listan om det gäller päls ViewBag.thirdCategories = list.Where(x => x.Unit.Equals("Päls")); ViewBag.environment = list.Where(x => x.Unit.Equals("Miljö")); } model.measurement.categoryId = model.category.Id; return(View(model)); }
// GET: Observation/Create /// <summary> /// /// </summary> /// <param name="id">VisitHistoryID</param> /// <returns></returns> public ActionResult Create(int id) { var vm = new ObservationViewModel(db,null); vm.Model = new Observation(); vm.Model.VisitHistory = db.VisitHistories.Find(id); vm.Model.VisitHistoryId = id; return View(vm); }
/// <summary> /// Converts a list of ISpeciesObservations to a list with ObservationViewModel which is used /// to present the observations on screen. /// </summary> /// <param name="observations">The observations.</param> /// <returns></returns> public static List <ObservationViewModel> ToObservationViewModelList(this IEnumerable <ISpeciesObservation> observations) { var list = new List <ObservationViewModel>(); if (observations != null) { foreach (ISpeciesObservation obs in observations) { list.Add(ObservationViewModel.Create(obs)); } } return(list); }
public ActionResult Create(ObservationViewModel vm) { if (ModelState.IsValid) { vm.Initialise(db); vm.PrepareSave(); db.Observations.Add(vm.Model); db.SaveChanges(); return RedirectToAction("edit", "VisitHistories", new { id = vm.Model.VisitHistoryId }).AddFragment("ObservationsSection"); } vm.ObservableEntitySelectList = new SelectList(db.ObservableEntities, "ObservableEntityID", "Name"); return View(vm); }
public static List <Animal> filterByDate(ObservationViewModel model, DateTime startDate, DateTime endDate, int aSpecie)// Specie { List <Animal> sortedList = new List <Animal>(); foreach (var item in model.AnimalList.Where(x => x.SpecieId == aSpecie)) { if (item.Datetime > startDate && endDate > item.Datetime) { sortedList.Add(item); } } return(sortedList); }
public async Task <IActionResult> ReportObservationCompleted(ObservationViewModel model, string secondMeasurement) { model.measurement.categoryId = model.category.Id; //Hämtar inloggad user var user = await GetCurrentUserAsync(); string userId = user?.Id; var person = userDb.GetPerson(userId); if (model.observation.Date.Year == 1) { model.observation.Date = DateTime.Today; } //Sätter värden model.observation.Person = person; model.measurement.Observation = model.observation; string fileName = null; if (model.CreateMeasurementViewModel.Photo != null) { string uploadsFolder = Path.Combine(hostingenv.WebRootPath, "pictures"); fileName = Guid.NewGuid().ToString() + "_" + model.CreateMeasurementViewModel.Photo.FileName; string filePath = Path.Combine(uploadsFolder, fileName); model.CreateMeasurementViewModel.Photo.CopyTo(new FileStream(filePath, FileMode.Create)); model.measurement.PhotoPath = fileName; } //Sparar i DB //db.AddObjectToDb(model.observation); db.AddObjectToDb(model.measurement); //Lägg till en andra measurement if (secondMeasurement != null) { int id = db.GetLastObservationIdFromUser(person); Measurement m = new Measurement() { thirdCategoryId = Convert.ToInt32(secondMeasurement), observationId = id, categoryId = model.category.Id, PhotoPath = fileName }; db.AddObjectToDb(m); } return(View()); }
public IActionResult ReportObservationStep2(MainCategory mainCat) { if (mainCat.Id == 0) { //Stannar på samma sida om ingen kategori är vald. Ska inte gå men man vet aldrig return(RedirectToAction("ReportObservationStep1")); } //mainCat = db.GetMainCategoryFromId(mainCat.Id); //Hämtar Namn på MainCat Kan tas bort?? ObservationViewModel ob = new ObservationViewModel() //Skapar ViewModel { mainCategory = db.GetMainCategoryFromId(mainCat.Id) }; ViewBag.newList = db.GetCategoriesFromId(mainCat); //Skickar tillbaka en vymodell return(View(ob)); }
public static void getCoatColors(ObservationViewModel model, List <Animal> sortedList, int period) { List <string> coatColor = new List <string>(); foreach (var item in sortedList) { if (item.Coat == "Sommar") { if (period == 1) { model.Statistics.FirstSummer++; } else if (period == 2) { model.Statistics.SecondSummer++; } } if (item.Coat == "Vinter") { if (period == 1) { model.Statistics.FirstWinter++; } else if (period == 2) { model.Statistics.SecondWinter++; } } if (item.Coat == "Spräcklig") { if (period == 1) { model.Statistics.FirstMixed++; } else if (period == 2) { model.Statistics.SecondMixed++; } } } }
public ObservationView(ObservationViewModel observationViewModel) { InitializeComponent(); ViewModel = observationViewModel; _bsObs = new BindingSource(); _bsObs.DataSource = ViewModel.Observations; _textBoxStartDate.DataBindings.Add("Text", _bsObs, nameof(Observation.StartObservationDate), true); _textBoxEndDate.DataBindings.Add("Text", _bsObs, nameof(Observation.EndObservationDate), true); _textBoxDiagnosis.DataBindings.Add("Text", _bsObs, nameof(Observation.DiagnosisName)); _textBoxDoctor.DataBindings.Add("Text", _bsObs, nameof(Observation.DoctorFio)); _bsObs.CurrentItemChanged += _bsObs_CurrentItemChanged; ViewModel.NextClicked += (s, e) => _bsObs.MoveNext(); ViewModel.PreviousClicked += (s, e) => _bsObs.MovePrevious(); this.Load += ObservationView_Load; }
public static int[] GetAnimalsByYear(ObservationViewModel model, int specieId) { int[] animalsByYear = new int[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; DateTime year = new DateTime(2010, 01, 01); int count = 0; for (int i = 0; i < animalsByYear.Length; i++) { foreach (var item in model.AnimalList.Where(x => x.SpecieId == specieId)) { if (item.Datetime.Year == year.Year) { count++; } } animalsByYear[i] = count; count = 0; year = year.AddYears(1); } return(animalsByYear); }
public static ObservationViewModel getCentralPosition(ObservationViewModel model) { double latSum = 0; double longSum = 0; foreach (var item in model.ObservationsList) { if (item.Animal?.Latitude != null && item.Animal?.Longitude != null) { latSum += Convert.ToDouble(item.Animal.Latitude.Replace('.', ',')); longSum += Convert.ToDouble(item.Animal.Longitude.Replace('.', ',')); } if (item.Weather?.Latitude != null && item.Weather?.Longitude != null) { latSum += Convert.ToDouble(item.Weather.Latitude.Replace('.', ',')); longSum += Convert.ToDouble(item.Weather.Longitude.Replace('.', ',')); } } model.CentralLatitude = (latSum / model.ObservationsList.Count).ToString().Replace(',', '.'); model.CentralLongitude = (longSum / model.ObservationsList.Count).ToString().Replace(',', '.'); return(model); }
public UserControl GetUcViewOutput(string key) { switch (key) { case "Ob": var vmO = new ObservationViewModel(); var ucO = new ObservationView(vmO); return(ucO); case "Ex": var vmE = new ExaminationViewModel(); var ucE = new ExaminationView(vmE); return(ucE); case "Ho": var vmH = new HospitalizationViewModel(); var ucH = new HospitalizationView(vmH); return(ucH); default: throw new ArgumentException(nameof(key)); } }
public IActionResult Diagram() { ObservationViewModel model = new ObservationViewModel(); model.Statistics = new Statistics(); model.AnimalList = dbContext.GetAnimals(); DateTime FirstStartDate = new DateTime(2010, 11, 1); DateTime FirstEndDate = new DateTime(2010, 12, 31); DateTime SecondStartDate = new DateTime(2019, 11, 1); DateTime SecondEndDate = new DateTime(2019, 12, 31); int specieID = 3;// ripa Helper.getCoatColors(model, Helper.filterByDate(model, FirstStartDate, FirstEndDate, specieID), 1); Helper.getCoatColors(model, Helper.filterByDate(model, SecondStartDate, SecondEndDate, specieID), 2); model.Statistics.GrouseByYear = Helper.GetAnimalsByYear(model, 3); // hårdkodat species. model.Statistics.FoxByYear = Helper.GetAnimalsByYear(model, 2); model.Statistics.SwineByYear = Helper.GetAnimalsByYear(model, 4); model.Statistics.FrogByYear = Helper.GetAnimalsByYear(model, 5); model.Statistics.HareByYear = Helper.GetAnimalsByYear(model, 1); return(View(model)); }
public IActionResult Observation(string sortBy, string searchTerm) { ObservationViewModel model = new ObservationViewModel(); Animal animal = new Animal(); Weather weather = new Weather(); Observation obs = new Observation(); List <Animal> animals = new List <Animal>(); List <Weather> weathers = new List <Weather>(); animals = dbContext.GetAnimals(); weathers = dbContext.GetWeathers(); model.ObservationsList = new List <Observation>(); // Populate the lists foreach (var item in animals) { model.ObservationsList.Add(new Observation { Animal = item, Datetime = item.Datetime, ObservationTypes = item.Specie.Speciename, Cities = item.City, Names = item.User.Lastname, FirstNames = item.User.Firstname }); } foreach (var item in weathers) { model.ObservationsList.Add(new Observation { Weather = item, Datetime = item.Datetime, ObservationTypes = item.Type, Cities = item.City, Names = item.User.Lastname, FirstNames = item.User.Firstname }); } #region // SortBy ViewData["ObservationSortParameter"] = String.IsNullOrEmpty(sortBy) ? "observationDesc" : ""; ViewData["DatetimeSortParameter"] = sortBy == "datetime" ? "datetimeDesc" : "datetime"; ViewData["CitySortParameter"] = sortBy == "city" ? "cityDesc" : "city"; ViewData["NameSortParameter"] = sortBy == "name" ? "nameDesc" : "name"; ViewData["CurrentFilter"] = searchTerm; #endregion #region Sortering switch (sortBy) { case "observationDesc": model.ObservationsList = model.ObservationsList.OrderByDescending(x => x.ObservationTypes).ToList(); break; case "datetime": model.ObservationsList = model.ObservationsList.OrderBy(x => x.Datetime).ToList(); break; case "datetimeDesc": model.ObservationsList = model.ObservationsList.OrderByDescending(x => x.Datetime).ToList(); break; case "city": model.ObservationsList = model.ObservationsList.OrderBy(x => x.Cities).ToList(); break; case "cityDesc": model.ObservationsList = model.ObservationsList.OrderByDescending(x => x.Cities).ToList(); break; case "name": model.ObservationsList = model.ObservationsList.OrderBy(x => x.Names).ToList(); break; case "nameDesc": model.ObservationsList = model.ObservationsList.OrderByDescending(x => x.Names).ToList(); break; default: model.ObservationsList = model.ObservationsList.OrderBy(x => x.ObservationTypes).ToList(); break; } #endregion #region Search and SearchBox if (!String.IsNullOrEmpty(searchTerm)) { model.ObservationsList = model.ObservationsList.Where(x => x.Names.Contains(searchTerm) || x.ObservationTypes.Contains(searchTerm) || x.FirstNames.Contains(searchTerm)).ToList(); } else { model.ObservationsList = model.ObservationsList.OrderBy(x => x.ObservationTypes).ToList(); } #endregion Helper.getCentralPosition(model); var t = TempData["success"]; if (t != null) { ViewData["success"] = t; } return(View(model)); }
public ActionResult Edit(ObservationViewModel vm) { if (ModelState.IsValid) { var item = db.Entry(vm.Model); item.State = EntityState.Modified; vm.Initialise(db); vm.PrepareSave(); db.SaveChanges(); return RedirectToAction("edit", "VisitHistories", new { id = vm.Model.VisitHistoryId }).AddFragment("ObservationSection"); } vm.PopulateSelectLists(); return View(vm); }
// GET: Observation/Edit/5 public ActionResult Edit(int? visitHistoryID,int? observableEntityID) { if (visitHistoryID == null || observableEntityID == null) { return new HttpStatusCodeResult(HttpStatusCode.BadRequest); } //var vm = new ObservationViewModel(); var observation = db.Observations.Find(observableEntityID, visitHistoryID); if (observation == null) { return HttpNotFound(); } ObservationViewModel vm = new ObservationViewModel(db, observation); return View(vm); }
/// <summary> /// Converts a ISpeciesObservations to a ObservationViewModel which is used /// to present the observation on screen. /// </summary> /// <param name="observation">The observation.</param> /// <returns></returns> public static ObservationViewModel ToObservationViewModel(this ISpeciesObservation observation) { return(ObservationViewModel.Create(observation)); }