public static int SaveHomeGroup(Person currentPerson, HomeGroupsViewModel hgvm) { if (currentPerson.HasPermission(Permissions.EditGroups) || currentPerson.HasPermission(Permissions.AddGroups)) { using (var context = new oikonomosEntities(ConfigurationManager.ConnectionStrings["oikonomosEntities"].ConnectionString)) { var hg = new Group(); if (hgvm.GroupId != 0) { hg = (from g in context.Groups where g.GroupId == hgvm.GroupId select g).FirstOrDefault(); } else { hg.ChurchId = currentPerson.ChurchId; hg.Created = DateTime.Now; if (currentPerson.ChurchId == 3) //Ebenezer { hg.GroupTypeId = (int)GroupTypes.LifeGroup; } else { hg.GroupTypeId = (int)GroupTypes.HomeGroup; } context.Groups.AddObject(hg); } hg.Name = hgvm.GroupName; if (hgvm.LeaderId == 0 || string.IsNullOrEmpty(hgvm.LeaderName)) hg.LeaderId = null; else hg.LeaderId = hgvm.LeaderId; if (hgvm.AdministratorId == 0 || string.IsNullOrEmpty(hgvm.AdministratorName)) hg.AdministratorId = null; else hg.AdministratorId = hgvm.AdministratorId; hg.Changed = DateTime.Now; //Check to see if the address already exists if (hgvm.AddressId>0 || hgvm.Address1 != null || hgvm.Address2 != null || hgvm.Address3 != null || hgvm.Address4 != null || hgvm.SuburbId!=0) { var address = new Address(); if (hgvm.AddressId > 0) { address = (from a in context.Addresses where a.AddressId == hgvm.AddressId select a).FirstOrDefault(); if (address == null) //Should never happen, but just to be sure { address = new Address {Created = DateTime.Now}; hgvm.AddressId = 0; } } else { address.Created = DateTime.Now; } address.Line1 = hgvm.Address1 ?? ""; address.Line2 = hgvm.Address2 ?? ""; address.Line3 = hgvm.Address3 ?? ""; address.Line4 = hgvm.Address4 ?? ""; address.AddressType = hgvm.AddressType ?? ""; address.Lat = hgvm.Lat; address.Long = hgvm.Lng; address.ChurchSuburbId = hgvm.SuburbId != 0 ? hgvm.SuburbId : (int?)null; address.Changed = DateTime.Now; if (hgvm.AddressId == 0) { context.Addresses.AddObject(address); } hg.Address = address; } hg.GroupClassificationId = hgvm.GroupClassificationId == 0 ? (int?)null : hgvm.GroupClassificationId; context.SaveChanges(); if (hgvm.OverseeingElderId == 0 || string.IsNullOrEmpty(hgvm.OverseeingElderName)) { var linkedPersonToDelete = context.PersonLinkedToGroups.FirstOrDefault(p => p.GroupId == hgvm.GroupId && p.Description == CacheNames.OverseeingElder); if(linkedPersonToDelete!=null) context.PersonLinkedToGroups.DeleteObject(linkedPersonToDelete); } else { var linkedPersonToDelete = context.PersonLinkedToGroups.FirstOrDefault(p => p.GroupId == hgvm.GroupId && p.Description == CacheNames.OverseeingElder); if (linkedPersonToDelete != null) { context.PersonLinkedToGroups.DeleteObject(linkedPersonToDelete); } addNewElder(context, hg.GroupId, hgvm.OverseeingElderId); } context.SaveChanges(); return hg.GroupId; } } throw new ApplicationException("You do not have the required permission"); }
public JsonResult SaveHomeGroup(HomeGroupsViewModel hgvm) { bool sessionTimedOut = false; if (Session[SessionVariable.LoggedOnPerson] == null) { sessionTimedOut = true; } else { Person currentPerson = (Person)Session[SessionVariable.LoggedOnPerson]; //TODO Check for User Roles GroupDataAccessor.SaveHomeGroup(currentPerson, hgvm); } var response = new { SessionTimeOut = sessionTimedOut }; return Json(response, JsonRequestBehavior.DenyGet); }
public JsonResult FetchGroupInfo(int groupId) { bool sessionTimedOut = false; var groupInfo = new HomeGroupsViewModel(); if (Session[SessionVariable.LoggedOnPerson] == null) { sessionTimedOut = true; } else { Person currentPerson = (Person)Session[SessionVariable.LoggedOnPerson]; groupInfo = GroupDataAccessor.FetchGroupInfo(currentPerson, groupId); } var response = new { GroupInfo = groupInfo, SessionTimeOut = sessionTimedOut }; return Json(response, JsonRequestBehavior.DenyGet); }
public static void SaveHomeGroup(Person currentPerson, HomeGroupsViewModel hgvm) { if (currentPerson.HasPermission(Permissions.EditGroups) || currentPerson.HasPermission(Permissions.AddGroups)) { using (oikonomosEntities context = new oikonomosEntities(ConfigurationManager.ConnectionStrings["oikonomosEntities"].ConnectionString)) { Group hg = new Group(); if (hgvm.GroupId != 0) { hg = (from g in context.Groups where g.GroupId == hgvm.GroupId select g).FirstOrDefault(); } else { hg.ChurchId = currentPerson.ChurchId; hg.Created = DateTime.Now; if (currentPerson.ChurchId == 3) //Ebenezer { hg.GroupTypeId = (int)GroupTypes.LifeGroup; } else { hg.GroupTypeId = (int)GroupTypes.HomeGroup; } context.Groups.AddObject(hg); } hg.Name = hgvm.GroupName; if (hgvm.LeaderId == 0 || hgvm.LeaderName == null || hgvm.LeaderName == string.Empty) hg.LeaderId = null; else hg.LeaderId = hgvm.LeaderId; if (hgvm.AdministratorId == 0 || hgvm.AdministratorName == null || hgvm.AdministratorName == string.Empty) hg.AdministratorId = null; else hg.AdministratorId = hgvm.AdministratorId; hg.Changed = DateTime.Now; //Check to see if the address already exists if (hgvm.AddressId>0 || hgvm.Address1 != null || hgvm.Address2 != null || hgvm.Address3 != null || hgvm.Address4 != null || hgvm.SuburbId!=0) { var address = new Address(); if (hgvm.AddressId > 0) { address = (from a in context.Addresses where a.AddressId == hgvm.AddressId select a).FirstOrDefault(); if (address == null) //Should never happen, but just to be sure { address = new Address(); address.Created = DateTime.Now; hgvm.AddressId = 0; } } else { address.Created = DateTime.Now; } address.Line1 = hgvm.Address1 == null ? "" : hgvm.Address1; address.Line2 = hgvm.Address2 == null ? "" : hgvm.Address2; address.Line3 = hgvm.Address3 == null ? "" : hgvm.Address3; address.Line4 = hgvm.Address4 == null ? "" : hgvm.Address4; address.AddressType = hgvm.AddressType == null ? "" : hgvm.AddressType; address.Lat = hgvm.Lat == null ? 0 : hgvm.Lat; address.Long = hgvm.Lng == null ? 0 : hgvm.Lng; address.ChurchSuburbId = hgvm.SuburbId != 0 ? hgvm.SuburbId : (int?)null; address.Changed = DateTime.Now; if (hgvm.AddressId == 0) { context.Addresses.AddObject(address); } hg.Address = address; } hg.GroupClassificationId = hgvm.GroupClassificationId == 0 ? (int?)null : hgvm.GroupClassificationId; context.SaveChanges(); } } else { throw new ApplicationException("You do not have the required permission"); } }