public async Task <ActionResult <MentoringRequestDto> > PostMentoringRequest(MentoringRequest mentoringRequest) { var email = User.Identity.Name; var entreprenuer = _context.Entrepenuers.FirstOrDefault(p => p.Email == email); if (entreprenuer == null) { return(BadRequest("Could not find entreprenuer")); } _context.MentoringRequests.Add(mentoringRequest); var entreRequest = new EntrepreneurMentoringRequest() { EntreprenuerId = entreprenuer.Id, MentoringRequest = mentoringRequest, }; _context.EntrepreneurMentoringRequests.Add(entreRequest); await _context.SaveChangesAsync(); var request = new MentoringRequestDto() { Request = mentoringRequest, AttendCount = _context.EntrepreneurMentoringRequests.Count(r => r.MentoringRequestId == mentoringRequest.Id) }; return(Ok(request)); }
public async Task <ActionResult <MentoringRequestDto> > JoinMentoringRequest(int requestId) { var email = User.Identity.Name; var entreprenuer = _context.Entrepenuers.FirstOrDefault(p => p.Email == email); if (entreprenuer == null) { return(BadRequest("Could not find entreprenuer")); } var request = _context.MentoringRequests.FirstOrDefault(p => p.Id == requestId); if (request == null) { return(BadRequest("could not find mentoring Request")); } if (_context.EntrepreneurMentoringRequests.Any(p => p.MentoringRequestId == requestId && p.EntreprenuerId == entreprenuer.Id)) { return(BadRequest("You already have joined this request")); } else { var entreRequest = new EntrepreneurMentoringRequest() { EntreprenuerId = entreprenuer.Id, MentoringRequestId = requestId, }; var requestDto = new MentoringRequestDto() { Request = request, AttendCount = _context.EntrepreneurMentoringRequests.Count(r => r.MentoringRequestId == request.Id) }; _context.Add(entreRequest); await _context.SaveChangesAsync(); return(Ok(requestDto)); } }