public IActionResult CreateScheduleItem([FromBody] ScheduleItemForCreationDto scheduleItem)
        {
            try
            {
                if (scheduleItem == null)
                {
                    _logger.LogError("ScheduleItem object sent from client is null.");
                    return(BadRequest("ScheduleItem object is null"));
                }

                if (!ModelState.IsValid)
                {
                    _logger.LogError("Invalid ScheduleItem object sent from client.");
                    return(BadRequest("Invalid model object"));
                }

                bool succes = _scheduleItemLogic.Create(scheduleItem);

                return(Ok("ScheduleItem is created"));
            }
            catch (Exception ex)
            {
                return(StatusCode(500, "Internal server error"));
            }
        }
        public bool Create(ScheduleItemForCreationDto scheduleItemForCreation)
        {
            try
            {
                ScheduleItem DataEntity = _mapper.Map <ScheduleItem>(scheduleItemForCreation);

                _repository.Create(DataEntity);
                _repository.Save();

                return(true);
            }
            catch (Exception ex)
            {
                _logger.LogError($"Something went wrong inside CreateScheduleItem action: {ex.Message}");
                throw new Exception();
            }
        }
Пример #3
0
 public async Task <HttpResponseMessage> CreateScheduleItemAsync(int scheduleId, ScheduleItemForCreationDto scheduleItem)
 {
     return(await _httpService.Post($"api/schedules/{scheduleId}/scheduleItems", scheduleItem));
 }
        public async Task <ActionResult <ScheduleItemDto> > NewScheduleItem(int scheduleId, ScheduleItemForCreationDto scheduleItem)
        {
            try
            {
                var userId = int.Parse(User.FindFirst("id").Value);

                if (!await _schedulesRepository.ScheduleExistsAsync(userId, scheduleId))
                {
                    return(NotFound());
                }

                if (await _scheduleItemsRepository.DatesConflictAsync(scheduleId, scheduleItem.DayOfWeek,
                                                                      scheduleItem.StartTime, scheduleItem.EndTime))
                {
                    return(Conflict());
                }

                var newScheduleItem = _mapper.Map <ScheduleItem>(scheduleItem);
                newScheduleItem.Color      = _scheduleItemsRepository.GetScheduleItemColor(scheduleItem.TypeOfClasses);
                newScheduleItem.ScheduleId = scheduleId;

                _dbRepository.Add(newScheduleItem);

                if (await _dbRepository.SaveChangesAsync())
                {
                    return(CreatedAtAction(nameof(GetScheduleItem),
                                           new { scheduleId, scheduleItemId = newScheduleItem.Id }, _mapper.Map <ScheduleItemDto>(newScheduleItem)));
                }
            }

            catch (Exception)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, "Database Failure"));
            }

            return(BadRequest());
        }