public ActionResult JoinGroup(MemberGroupmembers model) { try { MemberGroupmembers itm = new MemberGroupmembers(); itm = AutoMapper.Mapper.Map(model, itm); if (Data.Helper.NHibernateHelper.Count("select m.Id from MemberGroupmembers m where m.MemberDetails.Id=? and m.Group.Id=?", new object[] { itm.MemberDetails, itm.Group }, new NHibernate.Type.IType[] { NHibernate.NHibernateUtil.Int32, NHibernate.NHibernateUtil.Int32 }, false) > 0) throw new Exception("The requested user is already a member of this group."); itm.MemberDetails = Data.Helper.NHibernateHelper.UniqueResult<MemberDetails>(null, "Id", model.MemberDetails.Id); itm.Group = Data.Helper.NHibernateHelper.UniqueResult<MemberGroups>(null, "Id", model.Group.Id); Data.Helper.NHibernateHelper.Save<MemberGroupmembers>(itm); TempData["message"] = "Requested Membership is updated now"; } catch (Exception exc) { TempData["message"] = "Error Joining the requested group: " + exc.Message + exc.StackTrace; } return RedirectToAction("Index"); }
private ActionResult JoinGroup(MemberRequests thisReq) { try { if (thisReq.Senderid.Id == LoggedInUserKey) { throw new Exception("You are already a member of your group."); } // = Data.Helper.NHibernateHelper.UniqueResult<MemberRequests>(null, "Guid", model.Guid); MemberGroupmembers itm = new MemberGroupmembers(); //itm = AutoMapper.Mapper.Map(model, itm); itm.MemberDetails = Data.Helper.NHibernateHelper.UniqueResult<MemberDetails>(null, "Id", thisReq.Recipientid.Id); itm.Group = Data.Helper.NHibernateHelper.UniqueResult<MemberGroups>(null, "Id", thisReq.TargetPageid); itm.bRole = false; itm.bStatus = true; if (itm.Group == null) { throw new Exception("Group No more available."); } if (Data.Helper.NHibernateHelper.UniqueResult<MemberGroupmembers>(null, new string[] { "MemberDetails.Id", "Group.Id" }, new object[] { thisReq.Recipientid.Id, thisReq.TargetPageid }) != null) { string erText = "This user is already member of this group."; throw new Exception(erText); } Data.Helper.NHibernateHelper.Save<MemberGroupmembers>(itm); string strSender = "Hello " + thisReq.Senderid.Givennm + ", " + thisReq.Recipientid.Givennm + " has joined your paper group."; string strRecipient = "Hello" + thisReq.Recipientid.Givennm + ", you are now a member of the group " + itm.Group.Name; Alert(thisReq.Senderid.Id, strSender); Alert(LoggedInUserKey, strRecipient); //thisInvite.BecameUserId = itm.Id; Data.Helper.NHibernateHelper.Delete<MemberRequests>(thisReq); TempData["message"] = "You are now a member of requested group"; } catch (Exception ex) { Data.Helper.NHibernateHelper.Log(new Exception("Error accepting Join group Request. User Id:" + thisReq.Recipientid.Id + ", group Id:" + thisReq.TargetPageid.Value, ex)); Data.Helper.NHibernateHelper.Delete<MemberRequests>(thisReq); TempData["message"] = ex.Message + ex.StackTrace; } return RedirectToAction("Index", "Group"); }