public JsonResult FetchSite(int siteId) { SiteSettingsViewModel site = new SiteSettingsViewModel(); bool sessionTimedOut = false; if (Session[SessionVariable.LoggedOnPerson] == null) { sessionTimedOut = true; } else { Person currentPerson = (Person)Session[SessionVariable.LoggedOnPerson]; site = ChurchDataAccessor.FetchSite(currentPerson, siteId); } var response = new { SessionTimeOut = sessionTimedOut, Site = site }; return Json(response); }
public JsonResult SaveSite(SiteSettingsViewModel siteSettings) { bool sessionTimedOut = false; if (Session[SessionVariable.LoggedOnPerson] == null) { sessionTimedOut = true; } else { Person currentPerson = (Person)Session[SessionVariable.LoggedOnPerson]; ChurchDataAccessor.SaveSite(currentPerson, siteSettings); } var response = new { SessionTimeOut = sessionTimedOut, Message = "Site Saved" }; return Json(response, JsonRequestBehavior.AllowGet); }
public static void SaveSite(Person currentPerson, SiteSettingsViewModel siteSettings) { if (string.IsNullOrWhiteSpace(siteSettings.SiteName)) return; using (var context = new oikonomosEntities(ConfigurationManager.ConnectionStrings["oikonomosEntities"].ConnectionString)) { //Check Roles if (!currentPerson.HasPermission(Permissions.AddSite) && !currentPerson.HasPermission(Permissions.EditSite)) return; var siteToSave = new Site(); if (siteSettings.SiteId == 0) { if (!currentPerson.HasPermission(Permissions.AddSite)) return; siteToSave.Created = DateTime.Now; siteToSave.ChurchId = currentPerson.ChurchId; } else { if (!currentPerson.HasPermission(Permissions.EditSite)) return; siteToSave = (from s in context.Sites.Include("Address") where s.SiteId == siteSettings.SiteId select s).FirstOrDefault() ?? new Site {Created = DateTime.Now, ChurchId = currentPerson.ChurchId}; } siteToSave.Changed = DateTime.Now; siteToSave.Name = siteSettings.SiteName; if (siteSettings.AddressId == 0) { siteToSave.Address = new Address {Created = DateTime.Now}; context.Sites.AddObject(siteToSave); } siteToSave.Address.Changed = DateTime.Now; siteToSave.Address.Line1 = siteSettings.Address1 ?? string.Empty; siteToSave.Address.Line2 = siteSettings.Address2 ?? string.Empty; siteToSave.Address.Line3 = siteSettings.Address3 ?? string.Empty; siteToSave.Address.Line4 = siteSettings.Address4 ?? string.Empty; siteToSave.Address.Lat = siteSettings.Lat; siteToSave.Address.Long = siteSettings.Lng; siteToSave.Address.AddressType = siteSettings.AddressType ?? string.Empty; context.SaveChanges(); } }