public async Task <MemberDto> Handle(DeleteMemberCommand request, CancellationToken cancellationToken)
        {
            var memberEntity = await _dbContext
                               .Members
                               .SingleOrDefaultAsync(m => m.MemberId == request.MemberId, cancellationToken);

            if (memberEntity is null)
            {
                throw new NullReferenceException($"Member [memberId: {request.MemberId}] not found");
            }

            _dbContext.Remove(memberEntity);
            _ = await _dbContext.SaveChangesAsync(cancellationToken);

            var deletedMemberAgreements = await _dbContext
                                          .Agreements
                                          .Where(x => x.MemberId == request.MemberId)
                                          .ToListAsync(cancellationToken);

            foreach (var agreement in deletedMemberAgreements)
            {
                _ = _dbContext.Remove(agreement);
            }

            _ = await _dbContext.SaveChangesAsync(cancellationToken);

            _deleteMemberSender.DeleteMember(memberEntity.MemberId);

            var memberDto = memberEntity.Adapt <MemberDto>();

            return(memberDto);
        }
        public async Task <IActionResult> Create([Bind("ID,FirstName,LastName,Address,City,State,Zip,Email,MobilePhone")] Members members)
        {
            if (ModelState.IsValid)
            {
                _context.Add(members);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(members));
        }
        public async Task <IActionResult> Create([Bind("ID,FirstName,LastName,Birthday")] Child child)
        {
            if (ModelState.IsValid)
            {
                _context.Add(child);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(child));
        }
Пример #4
0
        public async Task <IActionResult> Create([Bind("ID,StudentID,FName,LName,Major,PhoneNumber,Email")] Members members)
        {
            if (ModelState.IsValid)
            {
                _context.Add(members);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(members));
        }
Пример #5
0
        public async Task <IActionResult> Create([Bind("ID,MembersID,ChildID")] ParentChild parentChild)
        {
            if (ModelState.IsValid)
            {
                _context.Add(parentChild);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["ChildID"]   = new SelectList(_context.Child, "ID", "FirstName", parentChild.ChildID);
            ViewData["MembersID"] = new SelectList(_context.Parent, "ID", "FirstName", parentChild.MembersID);
            return(View(parentChild));
        }
        public async Task <AgreementDto> Handle(AddAgreementCommand request, CancellationToken cancellationToken)
        {
            var agreementEntity = request.Agreement.Adapt <Agreement>();

            var membershipEntity = await _dbContext
                                   .Memberships
                                   .FirstOrDefaultAsync(m => m.Id == agreementEntity.MembershipId,
                                                        cancellationToken);

            if (membershipEntity is not null)
            {
                agreementEntity.Name = membershipEntity.Name;
            }

            _ = await _dbContext.AddAsync(agreementEntity, cancellationToken);

            _ = await _dbContext.SaveChangesAsync(cancellationToken);

            var newAgreement = _dbContext
                               .Agreements
                               .Where(m => m.MemberId == request.Agreement.MemberId)
                               .AsEnumerable()
                               .LastOrDefault();

            if (newAgreement is null)
            {
                throw new NullReferenceException("Failed to add agreement. Try again");
            }

            var newAgreementDto = newAgreement.Adapt <AgreementDto>();

            _addAgreementSender.SendAgreement(agreementEntity);

            return(newAgreementDto);
        }
Пример #7
0
        public async Task <MemberDto> Handle(AddMemberCommand request, CancellationToken cancellationToken)
        {
            var pesel = request.Member.Pesel;

            var memberEntity = request.Member.Adapt <Member>();

            memberEntity.BirthDate = BirthDayDateCalculator.ExtractFromPesel(memberEntity.Pesel);

            _ = await _dbContext.AddAsync(memberEntity, cancellationToken);

            _ = await _dbContext.SaveChangesAsync(cancellationToken);

            var newMember = await _dbContext
                            .Members
                            .SingleOrDefaultAsync(m => m.Pesel == pesel, cancellationToken);

            if (newMember is null)
            {
                throw new NullReferenceException("Failed to add member. Try again");
            }

            var newMemberDto = newMember.Adapt <MemberDto>();

            _addMemberSender.SendMember(newMember);

            return(newMemberDto);
        }
Пример #8
0
        public async Task <IActionResult> Delete(int id)
        {
            var data = await _context.Members.FindAsync(id);

            if (data == null)
            {
                return(NotFound(new { Message = "Member not found", Status = false }));
            }

            _context.Members.Remove(data);
            await _context.SaveChangesAsync();

            return(StatusCode(204));
        }
Пример #9
0
        public async Task <TeamMember> CreateMember(TeamMember nameRequest)
        {
            using (var db = new MembersContext())
            {
                var newTeamMember = new TeamMember {
                    Name = nameRequest.Name
                };
                db.TeamNames.Add(newTeamMember);

                await db.SaveChangesAsync();

                //correct number returned here for ID
                return(newTeamMember);
            }
        }
Пример #10
0
        public async Task <MemberDto> Handle(EditMemberCommand request, CancellationToken cancellationToken)
        {
            var memberEntity = await _dbContext
                               .Members
                               .SingleOrDefaultAsync(m => m.MemberId == request.MemberId, cancellationToken);

            if (memberEntity is null)
            {
                throw new NullReferenceException($"Member [memberId: {request.MemberId}] not found");
            }

            var memberBeforeChange = memberEntity;

            var editedMember = request.Member;

            editedMember.ApplyTo(memberEntity, ModelState);

            memberEntity.BirthDate = BirthDayDateCalculator.ExtractFromPesel(memberEntity.Pesel);

            var memberAfterChange = memberEntity;
            var validator         =
                new MemberValidator(_dbContext, new Tuple <Member, Member>(memberBeforeChange, memberAfterChange));
            var validationResult = await validator.ValidateAsync(memberEntity, cancellationToken);

            if (!validationResult.IsValid)
            {
                throw new ValidationException(validationResult.Errors.ToList());
            }

            _ = await _dbContext.SaveChangesAsync(cancellationToken);

            var patchedMemberEntity = await _dbContext
                                      .Members
                                      .SingleOrDefaultAsync(m => m.MemberId == request.MemberId, cancellationToken);

            if (patchedMemberEntity is null)
            {
                throw new NullReferenceException($"Failed to fetch patched membership [Id: {request.MemberId}]");
            }

            _editMemberSender.EditMember(patchedMemberEntity);

            var patchedMemberDto = patchedMemberEntity.Adapt <MemberDto>();

            return(patchedMemberDto);
        }