public async Task <RoomReservation> Create(CreateRoomReservationDto obj) { RoomReservation roomReservation = _mapper.Map <RoomReservation>(obj); await _reservationRepository.Create(roomReservation); return(roomReservation); }
public async Task <IActionResult> Create(CreateMultiReservationDto reservationsDto) { DateTime GlobalDateTime = DateTime.Parse(reservationsDto.Date); Member member = await _memberService.GetMember(reservationsDto.MemberId); StringBuilder reservationTimes = new StringBuilder(String.Empty); List <Time> reservedTimes = new List <Time>(); foreach (var timeId in reservationsDto.TimeIds) { if (!await _roomReservationService.CheckIfDateExpired(GlobalDateTime, timeId)) { CreateRoomReservationDto reservation = new CreateRoomReservationDto() { Description = reservationsDto.Description, MeetingRoomId = 1,//Defaultnan goturemk lazimdi service yaranmalidi MemberId = reservationsDto.MemberId, TimeId = timeId, ReservationDate = GlobalDateTime }; Time time = await _calendarService.GetAllValidTimes().FirstOrDefaultAsync(m => m.Id == reservation.TimeId); reservedTimes.Add(time); await _roomReservationService.Create(reservation); } } await _roomReservationService.CommitAsync(); foreach (Time item in reservedTimes.OrderBy(m => m.StartTime)) { reservationTimes.Append(item.StartTime + " - " + item.EndTime + "\n"); } if (_configuration.Notify) { try { Message message = new Message(_memberService.GetValidMembersEmails(), "Meeting-Room: " + member.Name + " " + member.Surname + " rezervasiyasiya elave etdi.", "Description: " + reservationsDto.Description + "\n" + "Date " + reservationsDto.Date + "\n" + reservationTimes.ToString()); await _emailSender.SendEmailAsync(message); } catch { } } return(Ok()); }