public ActionResult AddPerson(string data) { if (!Auth()) { return(Message.createErrorReturn("Authentication failed, please try again", Message.API_ERROR_INVALID_CREDENTIALS)); } Message message = Message.createFromString(data); Person person = JsonConvert.DeserializeObject <Person>(message.data); person.clean(); // Create or Edit Family CmsData.Family f = person.familyID > 0 ? CurrentDatabase.Families.First(fam => fam.FamilyId == person.familyID) : new CmsData.Family(); person.fillFamily(f); if (person.familyID == 0) { CurrentDatabase.Families.InsertOnSubmit(f); } // Create Person CmsData.Person p = new CmsData.Person(); p.CreatedDate = Util.Now; p.CreatedBy = Util.UserId; p.MemberStatusId = CmsData.Codes.MemberStatusCode.JustAdded; p.AddressTypeId = 10; p.OriginId = CmsData.Codes.OriginCode.Visit; p.EntryPoint = getCheckInEntryPointID(); p.CampusId = person.campus > 0 ? person.campus : (int?)null; p.Name = ""; person.fillPerson(p); // Calculate position before submitting changes so they aren't part of the calculation using (var db = new SqlConnection(Util.ConnectionString)) { p.PositionInFamilyId = person.computePositionInFamily(db); } // p.PositionInFamilyId = CurrentDatabase.ComputePositionInFamily( person.getAge(), // person.maritalStatusID == CmsData.Codes.MaritalStatusCode.Married, f.FamilyId ) ?? CmsData.Codes.PositionInFamily.PrimaryAdult; f.People.Add(p); CurrentDatabase.SubmitChanges(); AddEditPersonResults results = new AddEditPersonResults(); results.familyID = f.FamilyId; results.peopleID = p.PeopleId; results.positionID = p.PositionInFamilyId; Message response = new Message(); response.setNoError(); response.count = 1; response.data = SerializeJSON(results); return(response); }
public void fillPerson(CmsData.Person person) { person.FirstName = firstName; person.LastName = lastName; person.NickName = goesBy; person.AltName = altName; if (birthday != null) { person.BirthDay = birthday.Value.Day; person.BirthMonth = birthday.Value.Month; person.BirthYear = birthday.Value.Year; } person.GenderId = genderID; person.MaritalStatusId = maritalStatusID; person.FixTitle(); person.EmailAddress = primaryEmail; person.HomePhone = homePhone; person.WorkPhone = workPhone; person.CellPhone = mobilePhone; person.SetRecReg().MedicalDescription = allergies; person.SetRecReg().Emcontact = emergencyName; person.SetRecReg().Emphone = emergencyPhone.Truncate(50); person.SetRecReg().ActiveInAnotherChurch = !string.IsNullOrEmpty(church); person.OtherPreviousChurch = church; }
public Update(CmsData.Person p) { person = p; family = p.Family; sb = new List <ChangeDetail>(); fsb = new List <ChangeDetail>(); }
public ActionResult GetPerson(string data) { // Authenticate first if (!Auth()) { return(Message.createErrorReturn("Authentication failed, please try again", Message.API_ERROR_INVALID_CREDENTIALS)); } Message message = Message.createFromString(data); CmsData.Person p = CurrentDatabase.LoadPersonById(message.id); if (p == null) { return(Message.createErrorReturn("Person not found", Message.API_ERROR_PERSON_NOT_FOUND)); } Person person = new Person(); person.populate(p); Message response = new Message(); response.setNoError(); response.count = 1; response.data = SerializeJSON(person); return(response); }
public Update(CmsData.Person p) { person = p; family = p.Family; sb = new StringBuilder(); fsb = new StringBuilder(); }
public ActionResult GroupSearch(string data) { if (!Auth()) { return(Message.createErrorReturn("Authentication failed, please try again", Message.API_ERROR_INVALID_CREDENTIALS)); } Message message = Message.createFromString(data); GroupSearch search = JsonConvert.DeserializeObject <GroupSearch>(message.data); CmsData.Person person = (from p in CurrentDatabase.People where p.PeopleId == search.peopleID select p).SingleOrDefault(); if (person == null) { return(Message.createErrorReturn("Person not found", Message.API_ERROR_PERSON_NOT_FOUND)); } CmsData.DbUtil.LogActivity($"Check-In Group Search: {person.PeopleId}: {person.Name}"); List <Group> groups; using (var db = new SqlConnection(Util.ConnectionString)) { groups = Group.forGroupFinder(db, person.BirthDate, search.campusID, search.dayID, search.showAll ? 1 : 0); } // List<Group> groups = (from org in CurrentDatabase.Organizations // from schedule in CurrentDatabase.OrgSchedules.Where( sc => sc.OrganizationId == org.OrganizationId ).DefaultIfEmpty() // let birthdayStart = org.BirthDayStart ?? DateTime.MaxValue // where (org.SuspendCheckin ?? false) == false || search.showAll // where person.BirthDate == null || person.BirthDate <= org.BirthDayEnd || org.BirthDayEnd == null || search.showAll // where person.BirthDate == null || person.BirthDate >= org.BirthDayStart || org.BirthDayStart == null || search.showAll // where org.CanSelfCheckin != null && org.CanSelfCheckin == true // where (org.ClassFilled ?? false) == false // where (org.CampusId == null && org.AllowNonCampusCheckIn == true) || org.CampusId == search.campusID || search.campusID == 0 // where org.OrganizationStatusId == CmsData.Codes.OrgStatusCode.Active // orderby schedule.SchedTime.Value.TimeOfDay, birthdayStart, org.OrganizationName // select new Group // { // id = org.OrganizationId, // leaderName = org.LeaderName ?? "", // name = org.OrganizationName ?? "", // date = schedule.SchedTime, // scheduleID = schedule.Id, // birthdayStart = org.BirthDayStart, // birthdayEnd = org.BirthDayEnd, // location = org.Location ?? "", // allowOverlap = org.AllowAttendOverlap // }).ToList(); Message response = new Message(); response.setNoError(); response.data = SerializeJSON(groups); return(response); }
public void load() { person = CmsData.DbUtil.Db.People.FirstOrDefault(p => p.PeopleId == peopleID); if (person == null) { return; } head = person.Family.HeadOfHousehold; spouse = person.Family.HeadOfHouseholdSpouse; foreach (AttendanceGroup group in groups) { group.load(peopleID); } }
private void loadPicture() { CmsData.Person person = CmsData.DbUtil.Db.People.SingleOrDefault(p => p.PeopleId == id); if (person == null || person.Picture == null) { return; } ImageData.Image image = ImageData.DbUtil.Db.Images.SingleOrDefault(i => i.Id == person.Picture.SmallId); if (image != null) { picture = Convert.ToBase64String(image.Bits); } }
public ActionResult EditPerson(string data) { // Authenticate first if (!Auth()) { return(Message.createErrorReturn("Authentication failed, please try again", Message.API_ERROR_INVALID_CREDENTIALS)); } Message message = Message.createFromString(data); Person person = JsonConvert.DeserializeObject <Person>(message.data); person.clean(); CmsData.Person p = CurrentDatabase.LoadPersonById(person.id); if (p == null) { return(Message.createErrorReturn("Person not found", Message.API_ERROR_PERSON_NOT_FOUND)); } CmsData.Family f = CurrentDatabase.Families.First(fam => fam.FamilyId == p.FamilyId); person.fillPerson(p); person.fillFamily(f); CurrentDatabase.SubmitChanges(); AddEditPersonResults results = new AddEditPersonResults(); results.familyID = f.FamilyId; results.peopleID = p.PeopleId; results.positionID = p.PositionInFamilyId; Message response = new Message(); response.setNoError(); response.count = 1; response.data = SerializeJSON(results); return(response); }
public ActionResult Barcode(string data) { // Authenticate first if (!Auth()) { return(Message.createErrorReturn("Authentication failed, please try again", Message.API_ERROR_INVALID_CREDENTIALS)); } Message message = Message.createFromString(data); CmsData.Person p = CurrentDatabase.LoadPersonById(message.id); if (p == null) { return(Message.createErrorReturn("Person not found", Message.API_ERROR_PERSON_NOT_FOUND)); } Message response = new Message(); // argBool: True = set, False = get if (message.argBool) { CmsData.PeopleExtra extra = p.GetExtraValue("PIN"); extra.Data = message.data; CurrentDatabase.SubmitChanges(); response.setNoError(); response.count = 1; } else { response.setNoError(); response.count = 1; response.data = p.GetExtra("PIN"); } return(response); }
private void JoinToOrg(int peopleID, int orgID) { CmsData.OrganizationMember om = CurrentDatabase.OrganizationMembers.SingleOrDefault(m => m.PeopleId == peopleID && m.OrganizationId == orgID); if (om == null) { om = CmsData.OrganizationMember.InsertOrgMembers(CurrentDatabase, orgID, peopleID, CmsData.Codes.MemberTypeCode.Member, DateTime.Today); CmsData.DbUtil.LogActivity($"Joined {om.PeopleId} to {om.Organization.OrganizationId} via Check-In desktop client", peopleid: om.PeopleId, orgid: om.OrganizationId); CurrentDatabase.SubmitChanges(); // Check Entry Point and replace if Check-In CmsData.Person person = CurrentDatabase.People.FirstOrDefault(p => p.PeopleId == peopleID); if (person?.EntryPoint != null && person.EntryPoint.Code == "CHECKIN") { person.EntryPoint = om.Organization.EntryPoint; CurrentDatabase.SubmitChanges(); } } }
public void populate(CmsData.Person p) { id = p.PeopleId; familyID = p.FamilyId; firstName = p.FirstName ?? ""; lastName = p.LastName ?? ""; goesBy = p.NickName ?? ""; altName = p.AltName ?? ""; genderID = p.GenderId; maritalStatusID = p.MaritalStatus.Id; birthday = p.BirthDate; primaryEmail = p.EmailAddress ?? ""; homePhone = p.HomePhone.FmtFone(); workPhone = p.WorkPhone.FmtFone(); mobilePhone = p.CellPhone.FmtFone(); address = p.Family.AddressLineOne ?? ""; address2 = p.Family.AddressLineTwo ?? ""; city = p.Family.CityName ?? ""; state = p.Family.StateCode ?? ""; zipCode = p.Family.ZipCode.FmtZip() ?? ""; country = p.PrimaryCountry; church = p.OtherPreviousChurch; allergies = p.SetRecReg().MedicalDescription ?? ""; emergencyName = p.SetRecReg().Emcontact ?? ""; emergencyPhone = p.SetRecReg().Emphone ?? ""; }
public Update(CmsData.Person p) { person = p; family = p.Family; sb = new List<ChangeDetail>(); fsb = new List<ChangeDetail>(); }