Пример #1
0
        public IActionResult UpdateUserActivity(int id, [FromBody] UserActivityUpdateDto updateUserActivity)
        {
            var userActivityEntity = _transActionRepo.GetUserActivity(id);

            if (userActivityEntity == null)
            {
                return(NotFound());
            }
            if (updateUserActivity == null)
            {
                return(NotFound());
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            _mapper.Map(updateUserActivity, userActivityEntity);

            if (!_transActionRepo.Save())
            {
                return(StatusCode(500, "A problem happened while handling your request."));
            }

            return(GetUserActivityById(id));
        }
Пример #2
0
        public IActionResult UpdateUserActivity(int id, [FromBody] UserActivityUpdateDto updateUserActivity)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(new TransActionResponse(ModelState)));
            }

            var userActivityEntity = _unitOfWork.UserActivity.GetUserActivity(id);

            if (userActivityEntity == null)
            {
                return(StatusCode(404, new TransActionResponse("User Activity Not Found")));
            }

            _mapper.Map(updateUserActivity, userActivityEntity);

            if (!_unitOfWork.Save())
            {
                return(StatusCode(500, new TransActionResponse("A problem happened while handling your request.")));
            }

            return(GetUserActivityById(id));
        }
        public IActionResult UpdateUserActivity(int id, [FromBody] UserActivityUpdateDto updateUserActivity)
        {
            //making sure the user enters atleast 15 mins
            if (updateUserActivity.Minutes < 15)
            {
                return(BadRequest(new TransActionResponse("Minutes should be more then 15")));
            }

            var activityType = _unitOfWork.Activity.GetById(updateUserActivity.ActivityId);

            if (activityType == null)
            {
                return(NotFound(new TransActionResponse("Activity type not found")));
            }

            if (activityType.Name != "Other" && string.IsNullOrEmpty(updateUserActivity.Description))
            {
                updateUserActivity.Description = activityType.Description;
                updateUserActivity.Name        = activityType.Description;
            }

            ModelState.Clear();
            TryValidateModel(updateUserActivity);

            if (!ModelState.IsValid)
            {
                return(BadRequest(new TransActionResponse(ModelState)));
            }

            string userGuid = UserHelper.GetUserGuid(_httpContextAccessor);
            var    getUser  = _unitOfWork.User.GetByGuid(userGuid);

            if (getUser.UserId != updateUserActivity.UserId)
            {
                return(BadRequest(new TransActionResponse("Not allowed to edit resource.")));
            }

            var userActivityEntity = _unitOfWork.UserActivity.GetUserActivity(id);

            if (userActivityEntity == null)
            {
                return(StatusCode(404, new TransActionResponse("User Activity Not Found")));
            }

            var eventEntity = _unitOfWork.Event.GetById(updateUserActivity.EventId);

            if (eventEntity == null)
            {
                return(NotFound(new TransActionResponse("Event not found")));
            }

            if (!eventEntity.IsActive.Value)
            {
                return(NotFound(new TransActionResponse("Event not active")));
            }

            if (updateUserActivity.ActivityTimestamp < eventEntity.StartDate || updateUserActivity.ActivityTimestamp > eventEntity.EndDate)
            {
                return(BadRequest(new TransActionResponse("Activity time is outside of event start and end date")));
            }

            _mapper.Map(updateUserActivity, userActivityEntity);

            if (!_unitOfWork.Save())
            {
                return(StatusCode(500, new TransActionResponse("A problem happened while handling your request.")));
            }

            return(GetUserActivityById(id));
        }