public async Task <IActionResult> CreateMessage(int userId, MessageForCreationDto messageForCreationDto) { var sender = await _repo.GetUser(userId); if (sender.Id != int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value)) { return(Unauthorized()); } messageForCreationDto.SenderId = userId; var recipient = await _repo.GetUser(messageForCreationDto.RecipientId); if (recipient == null) { return(BadRequest("Could not find user")); } var message = _mapper.Map <Message>(messageForCreationDto); _repo.Add(message); var messageToReturn = _mapper.Map <MessageToReturnDto>(message); if (await _repo.SaveAll()) { return(CreatedAtRoute("GetMessage", new { id = message.Id }, messageToReturn)); } throw new Exception("Creating the message failed on save"); }
public async Task <IActionResult> AddPayment(PaymentCreationDto dto) { var payment = _mapper.Map <Payment>(dto); payment.IsReceived = false; payment.LastModifiedOn = DateTime.Now; _repo.Add(payment); if (await _repo.SaveAll()) { return(Ok()); } return(BadRequest("Could not create the payment")); }
public async Task <IActionResult> AddSession(SessionForCreationDto dto) { var session = _mapper.Map <Session>(dto); int userId = int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value); var user = await _repo.GetUser(userId); session.CreatedBy = user.KnownAs; _repo.Add(session); if (await _repo.SaveAll()) { return(Ok()); } return(BadRequest("Could not add the session")); }
public async Task <IActionResult> AddReviews([FromForm] ReviewForCreationDto dto) { int reviewerId = int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value); int count = 0; try { var dt = GetTableFromExcel(dto.File); var minDate = dt.Compute("MIN(Date)", null).ToString(); // dto.MinimumDate = DateTime.ParseExact(minDate, "MM/dd/yyyy", CultureInfo.InvariantCulture); dto.MinimumDate = DateTime.Parse(minDate); var reviewsFromWeb = GetReviewsFromWeb(dto, reviewerId); foreach (var review in reviewsFromWeb) { var dataRow = dt.Select("Name = '" + review.PenName + "'").FirstOrDefault(); if (dataRow != null) { var date = dataRow["Date"].ToString(); var reviewDate = DateTime.Parse(date); if (reviewDate == review.ReviewDate) { var revInDb = await _repo.GetReview(review.PenName, review.BookAsin, review.ReviewDate, review.ReviewTitle); if (revInDb == null) { _repo.Add(review); count++; } } } } await _repo.SaveAll(); } catch (Exception ex) { return(BadRequest(ex)); } return(Ok(count)); }
public async Task <IActionResult> AddAssignment(AssignmentCreationDto dto) { var assignment = _mapper.Map <Assignment>(dto); assignment.AssignedDate = DateTime.Now.Date; assignment.CreatedOn = DateTime.Now; assignment.LastModifiedOn = DateTime.Now; var currentUserId = int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value); var currentUser = await _repo.GetUser(currentUserId); if (currentUser == null) { return(BadRequest("Could not find user!")); } assignment.CreatedBy = currentUser.KnownAs; assignment.IsDeleted = false; _repo.Add(assignment); if (await _repo.SaveAll()) { return(Ok()); } return(BadRequest("Could not create the assignment")); }