public IQueryable <EF.GroupMember> Checklist(EF.Member args, int id) { var bll_g = new BLL.Group(unitOfWork); var g = bll_g.Get(new EF.Group { Id = id }).Result; var res = from m in unitOfWork.MemberRepository.Entities .Where(x => x.IsActive == true && x.CommunityId == args.CommunityId && x.Id != g.GroupLeader) join gm in unitOfWork.GroupMemberRepository.Entities .Where(x => x.GroupId == id) on m.Id equals gm.MemberId into left from rec in left.DefaultIfEmpty() where m.Name.Contains(args.Name ?? "") && m.Id != rec.Group.GroupLeader select new EF.GroupMember { Member = m, Group = rec.Group, GroupId = rec == null ? 0 : rec.GroupId, MemberId = m.Id }; return(res.OrderBy(x => x.Member.Name)); }
public async Task <IActionResult> Checklist([FromBody] string member, int id) { var bll_g = groupBusiness; var bll_gm = groupMemberBusiness; var user = HttpContext.Items["EndUser"] as EF.EndUser; if (!await bll_g.IsSelectedIdsOk(new int[] { id }, user)) { return(Unauthorized()); } var m = new EF.Member { Name = member, CommunityId = user.Member.CommunityId }; var res = from r in bll_gm.Checklist(m, id) select new { r.Member.Name, r.MemberId, r.GroupId }; return(Json(await res.ToListAsync())); }
public async Task <IActionResult> Members([FromBody] EF.Member obj, int id) { var bll_gm = groupMemberBusiness; var user = HttpContext.Items["EndUser"] as EF.EndUser; return(Json(await bll_gm.Members(obj, id).ToListAsync())); }
public async Task Edit(EF.Member args) { // Validate Email var m = await Find(new EF.Member { Email = String.IsNullOrEmpty(args.Email) ? "email" : args.Email.Trim(), CommunityId = args.CommunityId }).FirstOrDefaultAsync(); if (m != null && args.Id != m.Id) { // Check if member is same throw new ArgumentException("The email you entered is being used by another member."); } var user = await _unitOfWork.MemberRepository.Entities.FirstAsync(x => x.Id == args.Id && x.CommunityId == args.CommunityId); user.Name = args.Name; user.NickName = args.NickName; user.BirthDate = args.BirthDate; user.Gender = args.Gender; user.Email = args.Email; user.Address = args.Address; user.Mobile = args.Mobile; user.IsActive = args.IsActive; user.InvitedBy = args.InvitedBy; user.Remarks = args.Remarks; await _unitOfWork.CommitAsync(); }
public async Task <int> Add(EF.Member args) { // Validate Email var m = await Find(new EF.Member { Email = String.IsNullOrEmpty(args.Email) ? "email" : args.Email.Trim(), CommunityId = args.CommunityId }).FirstOrDefaultAsync(); if (m == null) { // Validate Name m = await Find(new EF.Member { Name = (args.Name).ToUpper(), CommunityId = args.CommunityId }).FirstOrDefaultAsync(); } if (m == null) { // Add to Member m = new EF.Member { Name = (args.Name).ToUpper(), NickName = args.NickName, Address = args.Address, Mobile = args.Mobile, Email = args.Email, BirthDate = args.BirthDate, CommunityId = args.CommunityId, IsActive = args.IsActive, CreatedBy = args.CreatedBy, DateCreated = args.DateCreated, InvitedBy = args.InvitedBy, Remarks = args.Remarks }; await _unitOfWork.MemberRepository.AddAsync(m); _unitOfWork.Commit(); } else { // Is equal to New Member info Email? if (m.Email == null || m.Email == string.Empty) { // Update Email when Existing Member Info has no Email m.Email = args.Email.Trim(); await Edit(m); } else if (m.Email != args.Email) { throw new ArgumentException("Oops. There's something wrong with your entry. Please contact admin."); } } return(m.Id); }
/// <summary> /// Gets or finds the list of members in a group /// </summary> /// <param name="args">Member</param> /// <param name="id">Group id</param> /// <returns>List of members</returns> public IQueryable <EF.Member> Members(EF.Member args, int id) { return(unitOfWork.GroupMemberRepository.Entities .Include(x => x.Member) .Where(x => x.GroupId == id && x.Member.Name.Contains(args.Name ?? "")) .Select(x => x.Member).OrderBy(x => x.Name)); }
public IQueryable <EF.Member> Search(EF.Member args) { var res = _unitOfWork.MemberRepository.Entities.Where(x => x.Name.Contains(args.Name ?? "") || ((x.Email ?? "").Contains(args.Email ?? "")) && x.CommunityId == args.CommunityId) .OrderBy(x => x.Name).AsQueryable(); return(res); }
public void EditMember_Success(EF.Member args) { var completed = false; mockUnitOfWork.Setup(x => x.CommitAsync()).Callback(() => { completed = true; }); memberBusiness.Edit(args); Assert.True(completed); }
public void AddMember_Success(EF.Member args) { var list = mockMemberRepo.Object.Entities.ToList(); var count = list.Count; mockUnitOfWork.Setup(x => x.Commit()).Callback(() => { list.Add(args); }); var id = memberBusiness.Add(args).Result; Assert.True(list.Count > count); }
public IQueryable <EF.Member> Find(EF.Member args) { var res = _unitOfWork.MemberRepository.Entities .Include(x => x.EndUser).ThenInclude(x => x.Role) .Where(x => x.Name.Contains(args.Name ?? "") && ((x.Email ?? "").Contains(args.Email ?? "")) && x.CommunityId == args.CommunityId) .OrderBy(x => x.Name).AsQueryable(); if (args.EndUser != null) { res = res.Where(x => x.EndUser.RoleId == args.EndUser.RoleId); } return(res); }
public async Task <IActionResult> Page([FromBody] string member, int id, int p) { var bll_g = groupBusiness; var bll_gm = groupMemberBusiness; var user = HttpContext.Items["EndUser"] as EF.EndUser; if (!await bll_g.IsSelectedIdsOk(new int[] { id }, user)) { return(Unauthorized()); } var m = new EF.Member { Name = member, CommunityId = user.Member.CommunityId }; var res = from r in bll_gm.Checklist(m, id) select new { r.Member.Name, r.MemberId, r.GroupId }; var page = p; var pager = new Core.Pager(await res.CountAsync(), page == 0 ? 1 : page, 100); dynamic obj1 = new ExpandoObject(); obj1.checklist = await res.Skip((pager.CurrentPage - 1) *pager.PageSize).Take(pager.PageSize).ToListAsync(); obj1.pager = pager; return(Json(obj1)); }
public void FindGroupMember_HasNoResult(EF.Member args, int eventId) { var res = groupMemberBusiness.Members(args, eventId); Assert.True(res.Count() == 0); }
public Task Delete(EF.Member args) { throw new NotImplementedException(); }
public async Task <EF.Member> Get(EF.Member args) { return(await _unitOfWork.MemberRepository.Entities.FirstOrDefaultAsync(x => x.Id == args.Id && x.CommunityId == args.CommunityId)); }
public void EditMember_ExistingEmail(EF.Member args) { // Verify if error was thrown // https://stackoverflow.com/questions/16053433/moq-verify-exception-was-thrown Assert.ThrowsAsync <ArgumentException>(() => memberBusiness.Edit(args)); }
public void FindMember_NoResult(EF.Member args) { var res = memberBusiness.Find(args); Assert.True(res.Count() == 0); }