Exemple #1
0
        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"));
        }