public ActionResult JoinOrg(string data) { // Authenticate first var authError = Authenticate(); if (authError != null) { return(authError); } // Check Role if (!CMSRoleProvider.provider.IsUserInRole(AccountModel.UserName2, "Attendance")) { return(BaseMessage.createErrorReturn("Attendance role is required to take attendance for organizations.")); } // Check to see if type matches BaseMessage dataIn = BaseMessage.createFromString(data); if (dataIn.type != BaseMessage.API_TYPE_ORG_JOIN) { return(BaseMessage.createTypeErrorReturn()); } // Everything is in order, start the return MobilePostJoinOrg mpjo = JsonConvert.DeserializeObject <MobilePostJoinOrg>(dataIn.data); var om = DbUtil.Db.OrganizationMembers.SingleOrDefault(m => m.PeopleId == mpjo.peopleID && m.OrganizationId == mpjo.orgID); if (om != null) { if (mpjo.join) { om = OrganizationMember.InsertOrgMembers(DbUtil.Db, mpjo.orgID, mpjo.peopleID, MemberTypeCode.Member, DateTime.Now, null, false); } else { om.Drop(DbUtil.Db, addToHistory: true); } } DbUtil.Db.SubmitChanges(); BaseMessage br = new BaseMessage(); br.error = 0; br.count = 1; br.type = BaseMessage.API_TYPE_ORG_JOIN; return(br); }
public ActionResult JoinOrg(string data) { // Authenticate first var result = AuthenticateUser(); if (!result.IsValid) { return(AuthorizationError(result)); } // Check Role if (!CMSRoleProvider.provider.IsUserInRole(AccountModel.UserName2, "Attendance")) { return(BaseMessage.createErrorReturn("Attendance role is required to take attendance for organizations.")); } BaseMessage dataIn = BaseMessage.createFromString(data); MobilePostJoinOrg mpjo = JsonConvert.DeserializeObject <MobilePostJoinOrg>(dataIn.data); var om = DbUtil.Db.OrganizationMembers.SingleOrDefault(m => m.PeopleId == mpjo.peopleID && m.OrganizationId == mpjo.orgID); if (om == null && mpjo.join) { om = OrganizationMember.InsertOrgMembers(DbUtil.Db, mpjo.orgID, mpjo.peopleID, MemberTypeCode.Member, DateTime.Now, null, false); } if (om != null && !mpjo.join) { om.Drop(DbUtil.Db, addToHistory: true); } DbUtil.Db.SubmitChanges(); BaseMessage br = new BaseMessage(); br.error = 0; br.count = 1; return(br); }