public ActionResult Record(int indicatorId, int siteId, DateTime?beginDate) { using (Entity context = new Entity()) { t_indicator indicator = context.t_indicator.Find(indicatorId); if (indicator == null) { throw new ArgumentException("Invalid indicatorId: " + indicatorId.ToString()); } t_activity activity = indicator.aim.activity; t_activity_site activitySite = activity.sites.Where(e => e.site_id == siteId).First(); if (activitySite == null) { throw new ArgumentException(String.Format("Site {0} is not attached to Indicator {1} (Activity {2}).", siteId, indicatorId, activity.activity_id)); } Observation model = new Observation(indicator, activitySite.site, beginDate); AccessPass = SecurityGuard(CurrentUser, activity.country_id, activity.activity_id, siteId); if (AccessPass == BusinessLayer.Identity.UserSecurityAccess.NoAccess) { return(RedirectToAction("NoAccess", "Home")); } ViewBag.AccessRights = AccessPass; return(View(model)); } }
public JsonResult AssignSite(int activityId, int siteId, string waveFieldId) { using (Entity context = new Entity()) { var activity = context.t_activity.Find(activityId); if (activity == null) { return(GetJsonResult(false, "Invalid activityId: " + activityId.ToString())); } var site = activity.sites.Where(e => e.site_id == siteId).FirstOrDefault(); if (site != null) { return(GetJsonResult(false, "Site already assigned! siteId:" + siteId.ToString())); } site = new t_activity_site() { activity_id = activityId, site_id = siteId, wave_fieldid = waveFieldId }; context.t_activity_site.Add(site); context.SaveChanges(); context.Entry(site).Reference(e => e.wave).Load(); return(Json(new { success = true, WaveFieldId = site.wave_fieldid, WaveValue = site.wave.get_value_translated(IidCulture.CurrentLanguageId) })); } }
public ActivitySite(t_activity_site entity) { ActivityId = entity.activity_id; SiteId = entity.site_id; SiteName = entity.site?.name; SiteTypeValue = entity.site?.site_type.value; CoachUserId = entity.coach_user_id; SupportStartDate = entity.support_start_date; SupportEndDate = entity.support_end_date; WaveFieldId = entity.wave_fieldid; WaveValue = entity.wave?.value; HasObservations = entity.activity?.aims?.SelectMany(a => a.indicators?.SelectMany(i => i.observations))?.Where(s => s.site_id == entity.site_id).Any() ?? false; }
public ActionResult View(int indicatorId, int siteId) { using (Entity context = new Entity()) { t_indicator indicator = context.t_indicator.Find(indicatorId); if (indicator == null) { throw new ArgumentException("Invalid indicatorId: " + indicatorId.ToString()); } t_activity activity = indicator.aim.activity; t_activity_site site = activity.sites.Where(e => e.site_id == siteId).First(); if (site == null) { throw new ArgumentException(String.Format("Site {0} is not attached to Indicator {1} (Activity {2}).", siteId, indicatorId, activity.activity_id)); } byte languageId = IidCulture.CurrentLanguageId; IndicatorSiteObservations model = new IndicatorSiteObservations() { ActivityId = activity.activity_id, ActivityName = activity.get_name_translated(languageId), IndicatorId = indicatorId, IndicatorType = Enumerations.Parse <IndicatorType>(indicator.indicator_type.value), IndicatorTypeFieldId = indicator.indicator_type_fieldid, SiteId = siteId, IndicatorName = indicator.get_name_translated(languageId), IndicatorDefinition = indicator.get_definition_translated(languageId), NumeratorName = indicator.get_numerator_name_translated(languageId), NumeratorDefinition = indicator.get_numerator_definition_translated(languageId), DenominatorName = indicator.get_denominator_name_translated(languageId), DenominatorDefinition = indicator.get_denominator_definition_translated(languageId), DisaggregateByAge = indicator.disaggregate_by_age, DisaggregateBySex = indicator.disaggregate_by_sex }; AccessPass = SecurityGuard(CurrentUser, activity.country_id, activity.activity_id, siteId); if (AccessPass == BusinessLayer.Identity.UserSecurityAccess.NoAccess) { return(RedirectToAction("NoAccess", "Home")); } ViewBag.AccessRights = AccessPass; return(View(model)); } }