public async Task <ActionResult <TripRequest> > ApproveOrRejectRequest(int id, int Status)
        {
            var tripRequest = await _context.TripRequest.FindAsync(id);

            var trip = await _context.Trip.FindAsync(tripRequest.TripId);

            if (tripRequest == null)
            {
                return(NotFound());
            }
            tripRequest.Status = Status;
            string passengerName = _context.User.Find(trip.DriverId).Username;

            if (Status == (int)TripRequestStatus.Approved)
            {
                string notificationText = ReplaceNotificationBody(passengerName, NotificationsTemplates.requestAccepted);
                PushNotification(notificationText, tripRequest.TripId, tripRequest.PassengerId);
            }
            if (Status == (int)TripRequestStatus.Reject)
            {
                string notificationText = ReplaceNotificationBody(passengerName, NotificationsTemplates.requestReject);
                PushNotification(notificationText, tripRequest.TripId, tripRequest.PassengerId);
            }

            await _context.SaveChangesAsync();

            return(tripRequest);
        }
예제 #2
0
        public async Task <ActionResult <Rating> > InsertNewRate([FromBody] Rating NewRate, int ratedUser)
        {
            NewRate.RatedUser = ratedUser;
            _context.Rating.Add(NewRate);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetRating", new { id = NewRate.Id }, NewRate));
        }
        public async Task <ActionResult <Report> > InsertNewReport([FromBody] Report NewReport, int id)
        {
            NewReport.ReportedUser = id;

            NewReport.ReportType = 1;
            _context.Report.Add(NewReport);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetReport", new { id = NewReport.Id }, NewReport));
        }
예제 #4
0
 public async Task <IActionResult> CreateNewTrip([FromBody] Trip trip)
 {
     try
     {
         trip.Status    = (int)TripStatus.Opened;
         trip.IsArrived = false;
         _context.Trip.Add(trip);
         await _context.SaveChangesAsync();
     }
     catch (Exception e)
     {
         throw e;
     }
     return(Ok());
 }
        public async Task <ActionResult <User> > SignUp([FromBody] User NewUser)
        {
            if (CheckUniqueUsername(NewUser.Username))
            {
                return(BadRequest("Username is exist!"));
            }
            else if (CheckUniqueEmail(NewUser.Email))
            {
                return(BadRequest("Email is exist!"));
            }

            else
            {
                NewUser.Password = Encrypt(NewUser.Password);
                _context.User.Add(NewUser);
                await _context.SaveChangesAsync();

                return(CreatedAtAction("GetUser", new { id = NewUser.Id }, NewUser));
            }
        }