public void SetFavouriteFriend(int memberId, FriendFavouriteRequestModel model) { if (!model.FriendMemberId.HasValue) { throw new OrgException(1, "Invalid friend Id"); } using (OrgCommEntities dbc = new OrgCommEntities(DBConfigs.OrgCommConnectionString)) { OrgComm.Data.Models.Member member = dbc.Members.FirstOrDefault(r => r.Id.Equals(memberId)); if (member == null) { throw new OrgException(1, "Invalid profile"); } var friend = dbc.Friends.SingleOrDefault(r => r.MemberId.Equals(member.Id) && r.FriendMemberId.Equals(model.FriendMemberId.Value)); if (friend == null) //Not in friend list { if (!dbc.Members.Any(r => r.Id.Equals(model.FriendMemberId.Value))) { throw new OrgException(1, "Invalid profile"); } dbc.Friends.Add(new OrgComm.Data.Models.Friend { MemberId = member.Id, FriendMemberId = model.FriendMemberId.Value, Status = (int)OrgComm.Data.Models.Friend.StatusType.Active, IsFavourite = model.IsFavourite, AddedDate = DateTime.Now, UpdatedDate = null }); } else { friend.IsFavourite = model.IsFavourite; } dbc.SaveChanges(); } }
public ResultModel SetFavourite(FriendFavouriteRequestModel param) { ResultModel result = new ResultModel(); try { int?memberId = IdentityHelper.GetMemberId(); if (!memberId.HasValue) { throw new OrgException("Invalid MemberId"); } FriendBL bl = new FriendBL(); bl.SetFavouriteFriend(memberId.Value, param); result.Status = true; result.Message = "Update favorite friend successfully"; } catch (OrgException oex) { result.Status = false; result.Message = oex.Message; } catch (Exception ex) { result.Status = false; result.Message = AppConfigs.InternalErrorMessage; if (AppConfigs.DebugInternalMessage) { result.InternalMessage = ex.Message; } } return(result); }