public async Task <IActionResult> Create(int bokingId)
        {
            var boking = await _context.TripBookings
                         .Include(u => u.StudentsParticipatingInTrips)
                         .Include(t => t.SchedulingTripDetail.TripType)
                         .Include(u => u.SchedulingTripDetail.EducationalBody.User)
                         .Include(e => e.SchedulingTripDetail.EducationalBody)
                         .FirstOrDefaultAsync(b => b.Id == bokingId);

            if (boking == null)
            {
                Response.StatusCode = 404;
                return(View("LetterTransportsNotFound"));
            }

            var transport = new LetterTRansportCreateModelView()
            {
                BokingId      = bokingId,
                QtyStudents   = boking.StudentsParticipatingInTrips.Count(),
                UserId        = boking.SchedulingTripDetail.EducationalBody.User.Id,
                FullName      = boking.SchedulingTripDetail.EducationalBody.User.FullName,
                Mobile        = boking.SchedulingTripDetail.EducationalBody.User.PhoneNumber,
                TripType      = boking.SchedulingTripDetail.TripType.Name,
                EducationBody = boking.SchedulingTripDetail.EducationalBody.Name,
                QtyBuses      = countbuses(bokingId).Result
            };

            return(View(transport));
        }
        public async Task <IActionResult> Create(int bokingId, LetterTRansportCreateModelView trans)
        {
            var boking = await _context.TripBookings
                         .Include(u => u.StudentsParticipatingInTrips)
                         .Include(t => t.SchedulingTripDetail.TripType)
                         .Include(u => u.SchedulingTripDetail.EducationalBody.User)
                         .Include(e => e.SchedulingTripDetail.EducationalBody)
                         .FirstOrDefaultAsync(b => b.Id == bokingId);

            if (boking == null)
            {
                Response.StatusCode = 404;
                return(View("LetterTransportsNotFound"));
            }
            if (ModelState.IsValid)
            {
                var letter = new Letter()
                {
                    TripBookingId = trans.BokingId, TypeLetter = 1
                };
                _context.Letters.Add(letter);
                await _context.SaveChangesAsync();

                var letterTrans = new LetterTransport()
                {
                    LetterId = letter.Id, UserId = trans.UserId, QtyStudents = trans.QtyStudents, QtyBuses = trans.QtyBuses
                };
                _context.LetterTransports.Add(letterTrans);
                _context.AddRange(NotificationLetter(letter.Id).Result);
                await _context.SaveChangesAsync();

                return(RedirectToAction("IndexByBoking", "Letters", new { bokingId = bokingId }));
            }

            var transport = new LetterTRansportCreateModelView()
            {
                BokingId      = bokingId,
                QtyStudents   = boking.StudentsParticipatingInTrips.Count(),
                UserId        = boking.SchedulingTripDetail.EducationalBody.User.Id,
                FullName      = boking.SchedulingTripDetail.EducationalBody.User.FullName,
                Mobile        = boking.SchedulingTripDetail.EducationalBody.User.PhoneNumber,
                TripType      = boking.SchedulingTripDetail.TripType.Name,
                EducationBody = boking.SchedulingTripDetail.EducationalBody.Name,
                QtyBuses      = countbuses(bokingId).Result
            };

            return(View(trans));
        }