コード例 #1
0
ファイル: AjaxController.cs プロジェクト: rodown/funwithoiky
        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);
        }
コード例 #2
0
ファイル: AjaxController.cs プロジェクト: rodown/funwithoiky
        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);
        }
コード例 #3
0
        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();
            }
        }