コード例 #1
0
        public ViewResult CreateTripAction(CreateTrip createTrip)
        {
            if (ModelState.IsValid)
            {
                Trip trip = new Trip
                {
                    Description = createTrip.Description,
                    Destination = createTrip.Destination,
                    StartDate   = createTrip.Begin.Date.ToString(),
                    EndDate     = createTrip.End.Date.ToString(),
                    MyName      = createTrip.MyName
                };

                trip.TripUsers = new List <TripUser>();

                TripUser userMe = new TripUser
                {
                    DisplayName = createTrip.MyName,
                    Phone       = createTrip.MyPhone
                };

                trip.TripUsers.Add(userMe);


                return(View("InviteFriends", trip));
            }

            else
            {
                var errors = ModelState.Values.SelectMany(v => v.Errors);
                return(View("CreateTrip", createTrip));
            }
        }
コード例 #2
0
        public IHttpActionResult PutTripUser(int id, TripUser tripUser)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != tripUser.Id)
            {
                return(BadRequest());
            }

            db.Entry(tripUser).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!TripUserExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
コード例 #3
0
        public ViewResult CreateTripAction(CreateTrip createTrip)
        {
            if (ModelState.IsValid)
            {
                Trip trip = new Trip
                {
                    Description = createTrip.Description,
                    Destination = createTrip.Destination,
                    StartDate = createTrip.Begin.Date.ToString(),
                    EndDate = createTrip.End.Date.ToString(),
                    MyName = createTrip.MyName
                };

                trip.TripUsers = new List<TripUser>();

                TripUser userMe = new TripUser
                {
                    DisplayName = createTrip.MyName,
                    Phone = createTrip.MyPhone
                };

                trip.TripUsers.Add(userMe);

                return View("InviteFriends", trip);
            }

            else
            {
                var errors = ModelState.Values.SelectMany(v => v.Errors);
                return View("CreateTrip", createTrip);
            }
        }
コード例 #4
0
        public TripUser UpdateUserDisplayName(int id, string name)
        {
            TripUser user = db.TripUsers.FirstOrDefault(r => r.Id == id);

            if (user == null)
            {
                return(null);
            }

            if (user.Phone != null)
            {
                user.DisplayName = name;
            }
            // user.DisplayName += name + " (" + user.Phone.ToString() + ")";

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                throw;
            }

            return(user);
        }
コード例 #5
0
        public IHttpActionResult PostTrip(Trip trip)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            trip.Users  = new List <TripUser>();
            trip.Status = TripStatus.Open;
            trip.Code   = GetCode(8);

            TripUser userCreator = new TripUser();

            userCreator.IsCreator   = true;
            userCreator.TripId      = trip.Id;
            userCreator.DisplayName = trip.MyName;
            userCreator.TripCode    = GetCode(5);
            userCreator.TripStatus  = TripUserStatus.Yes;
            trip.Users.Add(userCreator);

            var userJson = JsonConvert.DeserializeObject <Users>(trip.UserJson);

            foreach (TripUser user in userJson.users)
            {
                user.TripStatus = TripUserStatus.Pending;
                user.TripCode   = GetCode(5);
                user.IsCreator  = false;

                trip.Users.Add(user);
            }

            db.Trips.Add(trip);
            db.SaveChanges();

            var website = "teambitewolf.azurewebsites.net/Detail/";

            // send out text invite
            var smsMessage1 = String.Format("Let's Tripsie! {0} send you an invite for a Trip to {1}", trip.MyName, trip.Destination);

            var smsMessage2 =
                "Visit " + Common.WebsiteDomain + "/Detail/{0} or download the Tripsie app for Android to get started!";

            foreach (var tu in trip.Users)
            {
                if (tu.Phone != null)
                {
                    // @TODO don't send second message until first one complete
                    Common.SendSms(tu.Phone, smsMessage1);
                    Common.SendSms(tu.Phone, string.Format(smsMessage2, tu.TripCode));
                }
            }


            return(CreatedAtRoute("DefaultApi", new { id = trip.Id }, trip));
        }
コード例 #6
0
        public IHttpActionResult GetTripUser(int id)
        {
            TripUser tripUser = db.TripUsers.Find(id);

            if (tripUser == null)
            {
                return(NotFound());
            }

            return(Ok(tripUser));
        }
コード例 #7
0
        public IHttpActionResult PostTripUser(TripUser tripUser)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.TripUsers.Add(tripUser);
            db.SaveChanges();

            return(CreatedAtRoute("DefaultApi", new { id = tripUser.Id }, tripUser));
        }
コード例 #8
0
        public IHttpActionResult UpdateTripUserLocation(string id, string lat, string lon)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            TripUser tripUser = db.TripUsers.Include("Trip").FirstOrDefault(r => r.TripCode == id);

            if (tripUser == null)
            {
                return(BadRequest());
            }

            tripUser.Lat = Double.Parse(lat);
            tripUser.Lon = Double.Parse(lon);

            db.Entry(tripUser).State = EntityState.Modified;


            String notificationText = tripUser.DisplayName + " has an updated location!";


            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!TripUserExists(tripUser.Id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            var tripUsers = tripUser.Trip.Users.Select(r => r.Id);

            var notifyIds = db.PushRegistrations.Where(r => tripUsers.Contains(r.TripUserId)).Select(r => r.RegistrationId);

            //notifyIds = db.PushRegistrations.Select(r => r.RegistrationId);

            foreach (string notifyId in notifyIds)
            {
                var unused = Common.SendGms(notifyId, tripUser.Id.ToString(), tripUser.TripId.ToString(), "Tripsie Update!", notificationText, "location", tripUser.Trip.Code, tripUser.TripCode);
            }

            return(StatusCode(HttpStatusCode.OK));
        }
コード例 #9
0
        public IHttpActionResult DeleteTripUser(int id)
        {
            TripUser tripUser = db.TripUsers.Find(id);

            if (tripUser == null)
            {
                return(NotFound());
            }

            db.TripUsers.Remove(tripUser);
            db.SaveChanges();

            return(Ok(tripUser));
        }
コード例 #10
0
 public IActionResult Join(int tripId)
 {
     if (!tripTimeCollisionChecker.IsColliding(tripId, accountManager.GetUserId(HttpContext.User)))
     {
         TripUser tripUser = new TripUser
         {
             TripId = tripId,
             UserId = accountManager.GetUserId(HttpContext.User)
         };
         tripUserRepository.Add(tripUser);
     }
     else
     {
         htmlNotification.SetNotification(HttpContext.Session, "res-fail", "One of your trips is colliding with trip you are trying to join!!!");
     }
     return(RedirectToAction("index", "TripDetails", new { id = tripId }));
 }
コード例 #11
0
        public IHttpActionResult GetTripFromUserCode(string id)
        {
            TripUser tripUser = db.TripUsers.FirstOrDefault(r => r.TripCode == id);

            if (tripUser == null)
            {
                return(NotFound());
            }

            Trip trip = db.Trips.FirstOrDefault(r => r.Id == tripUser.TripId);

            if (trip == null)
            {
                return(NotFound());
            }

            return(Ok(trip));
        }
コード例 #12
0
ファイル: ProfilesController.cs プロジェクト: hgalal88/Uper
        public IActionResult RateAndComment(string driverId, int tripId)
        {
            List <RatesAndComment> entry = ratesAndCommentRepository.GetList(new RatesAndCommentByTripIdAndUserId(accountManager.GetUserId(HttpContext.User), tripId)).ToList();
            TripUser x = tripUserRepository.GetById((tripId, accountManager.GetUserId(HttpContext.User)));

            if (entry.Count == 0)
            {
                if (x.Accepted)
                {
                    ViewBag.driverId = driverId;
                    ViewBag.tripId   = tripId;
                    return(View("RatesAndComment"));
                }
                else
                {
                    return(Content("You weren't passenger in this trip!!!"));
                }
            }

            return(Content("You have already rated and commented this profile. You can rate and comment driver profile only once after every trip."));
        }
コード例 #13
0
        public IHttpActionResult UpdateTripUserResponse(string id, bool response, string comment)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            TripUser tripUser = db.TripUsers.Include("Trip").FirstOrDefault(r => r.TripCode == id);

            if (tripUser == null)
            {
                return(BadRequest());
            }

            tripUser.TripStatus = response == true ? TripUserStatus.Yes : TripUserStatus.No;

            db.Entry(tripUser).State = EntityState.Modified;

            TripComment tripComment = new TripComment();

            tripComment.Date = DateTime.Now.ToUniversalTime();

            String notificationText = tripUser.DisplayName + " is ";


            if (response)
            {
                tripComment.Comment = "I'm IN!";
                notificationText   += "IN for ";
            }

            else
            {
                tripComment.Comment = "I'm OUT.";
                notificationText   += "OUT of ";
            }

            TripComment responseComment = null;

            if (!String.IsNullOrEmpty(comment) && comment != "-1111")
            {
                responseComment = new TripComment();

                responseComment.Comment = comment;
                responseComment.Date    = DateTime.UtcNow;
            }

            notificationText += "the trip to " + tripUser.Trip.Destination;

            tripUser.TripComments = new List <TripComment>();
            tripUser.TripComments.Add(tripComment);

            if (responseComment != null)
            {
                tripUser.TripComments.Add(responseComment);
            }

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!TripUserExists(tripUser.Id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            var tripUsers = tripUser.Trip.Users.Select(r => r.Id);

            var notifyIds = db.PushRegistrations.Where(r => tripUsers.Contains(r.TripUserId)).Select(r => r.RegistrationId);

            foreach (string notifyId in notifyIds)
            {
                var unused = Common.SendGms(notifyId, tripUser.Id.ToString(), tripUser.TripId.ToString(), "Tripsie Update!", notificationText, "details", tripUser.Trip.Code, tripUser.TripCode);
            }

            return(StatusCode(HttpStatusCode.OK));
        }
コード例 #14
0
        public async Task SeedDataAsync()
        {
            //check for the user
            if (await _userManager.FindByEmailAsync("*****@*****.**") == null)
            {
                //If user not available, then create one
                var newUser = new TripUser
                {
                    UserName = "******",
                    Email = "*****@*****.**"
                };
              await _userManager.CreateAsync(newUser, "P@ssw0rd!");
            }
            //Check whether Trip is there. If Yes then add data
            if (!_context.Trips.Any())
            {
                //Add New Data
                var usTrip = new WorldTrip.Models.Trip()
                {
                    Name = "US Trip",
                    Created = DateTime.UtcNow,
                    UserName = "******",
                    Stops = new List<Stop>()
          {
            new Stop() {  Name = "Atlanta, GA", Arrival = new DateTime(2014, 6, 4), Latitude = 33.748995, Longitude = -84.387982, Order = 0 },
            new Stop() {  Name = "New York, NY", Arrival = new DateTime(2014, 6, 9), Latitude = 40.712784, Longitude = -74.005941, Order = 1 },
            new Stop() {  Name = "Boston, MA", Arrival = new DateTime(2014, 7, 1), Latitude = 42.360082, Longitude = -71.058880, Order = 2 },
            new Stop() {  Name = "Chicago, IL", Arrival = new DateTime(2014, 7, 10), Latitude = 41.878114, Longitude = -87.629798, Order = 3 },
            new Stop() {  Name = "Seattle, WA", Arrival = new DateTime(2014, 8, 13), Latitude = 47.606209, Longitude = -122.332071, Order = 4 },
            new Stop() {  Name = "Atlanta, GA", Arrival = new DateTime(2014, 8, 23), Latitude = 33.748995, Longitude = -84.387982, Order = 5 },
          }
                };

                _context.Trips.Add(usTrip);
                _context.Stops.AddRange(usTrip.Stops);

                var worldTrip = new WorldTrip.Models.Trip()
                {
                    Name = "World Trip",
                    Created = DateTime.UtcNow,
                    UserName = "******",
                    Stops = new List<Stop>()
          {
            new Stop() { Order = 0, Latitude =  33.748995, Longitude =  -84.387982, Name = "Atlanta, Georgia", Arrival = DateTime.Parse("Jun 3, 2014") },
            new Stop() { Order = 1, Latitude =  48.856614, Longitude =  2.352222, Name = "Paris, France", Arrival = DateTime.Parse("Jun 4, 2014") },
            new Stop() { Order = 2, Latitude =  50.850000, Longitude =  4.350000, Name = "Brussels, Belgium", Arrival = DateTime.Parse("Jun 25, 2014") },
            new Stop() { Order = 3, Latitude =  51.209348, Longitude =  3.224700, Name = "Bruges, Belgium", Arrival = DateTime.Parse("Jun 28, 2014") },
            new Stop() { Order = 4, Latitude =  48.856614, Longitude =  2.352222, Name = "Paris, France", Arrival = DateTime.Parse("Jun 30, 2014") },
            new Stop() { Order = 5, Latitude =  51.508515, Longitude =  -0.125487, Name = "London, UK", Arrival = DateTime.Parse("Jul 8, 2014") },
            new Stop() { Order = 6, Latitude =  51.454513, Longitude =  -2.587910, Name = "Bristol, UK", Arrival = DateTime.Parse("Jul 24, 2014") },
            new Stop() { Order = 7, Latitude =  52.078000, Longitude =  -2.783000, Name = "Stretton Sugwas, UK", Arrival = DateTime.Parse("Jul 29, 2014") },
            new Stop() { Order = 8, Latitude =  51.864211, Longitude =  -2.238034, Name = "Gloucestershire, UK", Arrival = DateTime.Parse("Jul 30, 2014") },
            new Stop() { Order = 9, Latitude =  52.954783, Longitude =  -1.158109, Name = "Nottingham, UK", Arrival = DateTime.Parse("Jul 31, 2014") },
            new Stop() { Order = 10, Latitude =  51.508515, Longitude =  -0.125487, Name = "London, UK", Arrival = DateTime.Parse("Aug 1, 2014") },
            new Stop() { Order = 11, Latitude =  55.953252, Longitude =  -3.188267, Name = "Edinburgh, UK", Arrival = DateTime.Parse("Aug 5, 2014") },
            new Stop() { Order = 12, Latitude =  55.864237, Longitude =  -4.251806, Name = "Glasgow, UK", Arrival = DateTime.Parse("Aug 6, 2014") },
            new Stop() { Order = 13, Latitude =  57.149717, Longitude =  -2.094278, Name = "Aberdeen, UK", Arrival = DateTime.Parse("Aug 7, 2014") },
            new Stop() { Order = 14, Latitude =  55.953252, Longitude =  -3.188267, Name = "Edinburgh, UK", Arrival = DateTime.Parse("Aug 8, 2014") },
            new Stop() { Order = 15, Latitude =  51.508515, Longitude =  -0.125487, Name = "London, UK", Arrival = DateTime.Parse("Aug 10, 2014") },
            new Stop() { Order = 16, Latitude =  52.370216, Longitude =  4.895168, Name = "Amsterdam, Netherlands", Arrival = DateTime.Parse("Aug 14, 2014") },
            new Stop() { Order = 17, Latitude =  48.583148, Longitude =  7.747882, Name = "Strasbourg, France", Arrival = DateTime.Parse("Aug 17, 2014") },
            new Stop() { Order = 18, Latitude =  46.519962, Longitude =  6.633597, Name = "Lausanne, Switzerland", Arrival = DateTime.Parse("Aug 19, 2014") },
            new Stop() { Order = 19, Latitude =  46.021073, Longitude =  7.747937, Name = "Zermatt, Switzerland", Arrival = DateTime.Parse("Aug 27, 2014") },
            new Stop() { Order = 20, Latitude =  46.519962, Longitude =  6.633597, Name = "Lausanne, Switzerland", Arrival = DateTime.Parse("Aug 29, 2014") },
            new Stop() { Order = 21, Latitude =  53.349805, Longitude =  -6.260310, Name = "Dublin, Ireland", Arrival = DateTime.Parse("Sep 2, 2014") },
            new Stop() { Order = 22, Latitude =  54.597285, Longitude =  -5.930120, Name = "Belfast, Northern Ireland", Arrival = DateTime.Parse("Sep 7, 2014") },
            new Stop() { Order = 23, Latitude =  53.349805, Longitude =  -6.260310, Name = "Dublin, Ireland", Arrival = DateTime.Parse("Sep 9, 2014") },
            new Stop() { Order = 24, Latitude =  47.368650, Longitude =  8.539183, Name = "Zurich, Switzerland", Arrival = DateTime.Parse("Sep 16, 2014") },
            new Stop() { Order = 25, Latitude =  48.135125, Longitude =  11.581981, Name = "Munich, Germany", Arrival = DateTime.Parse("Sep 19, 2014") },
            new Stop() { Order = 26, Latitude =  50.075538, Longitude =  14.437800, Name = "Prague, Czech Republic", Arrival = DateTime.Parse("Sep 21, 2014") },
            new Stop() { Order = 27, Latitude =  51.050409, Longitude =  13.737262, Name = "Dresden, Germany", Arrival = DateTime.Parse("Oct 1, 2014") },
            new Stop() { Order = 28, Latitude =  50.075538, Longitude =  14.437800, Name = "Prague, Czech Republic", Arrival = DateTime.Parse("Oct 4, 2014") },
            new Stop() { Order = 29, Latitude =  42.650661, Longitude =  18.094424, Name = "Dubrovnik, Croatia", Arrival = DateTime.Parse("Oct 10, 2014") },
            new Stop() { Order = 30, Latitude =  42.697708, Longitude =  23.321868, Name = "Sofia, Bulgaria", Arrival = DateTime.Parse("Oct 16, 2014") },
            new Stop() { Order = 31, Latitude =  45.658928, Longitude =  25.539608, Name = "Brosov, Romania", Arrival = DateTime.Parse("Oct 20, 2014") },
            new Stop() { Order = 32, Latitude =  41.005270, Longitude =  28.976960, Name = "Istanbul, Turkey", Arrival = DateTime.Parse("Nov 1, 2014") },
            new Stop() { Order = 33, Latitude =  45.815011, Longitude =  15.981919, Name = "Zagreb, Croatia", Arrival = DateTime.Parse("Nov 11, 2014") },
            new Stop() { Order = 34, Latitude =  41.005270, Longitude =  28.976960, Name = "Istanbul, Turkey", Arrival = DateTime.Parse("Nov 15, 2014") },
            new Stop() { Order = 35, Latitude =  50.850000, Longitude =  4.350000, Name = "Brussels, Belgium", Arrival = DateTime.Parse("Nov 25, 2014") },
            new Stop() { Order = 36, Latitude =  50.937531, Longitude =  6.960279, Name = "Cologne, Germany", Arrival = DateTime.Parse("Nov 30, 2014") },
            new Stop() { Order = 37, Latitude =  48.208174, Longitude =  16.373819, Name = "Vienna, Austria", Arrival = DateTime.Parse("Dec 4, 2014") },
            new Stop() { Order = 38, Latitude =  47.497912, Longitude =  19.040235, Name = "Budapest, Hungary", Arrival = DateTime.Parse("Dec 28,2014") },
            new Stop() { Order = 39, Latitude =  37.983716, Longitude =  23.729310, Name = "Athens, Greece", Arrival = DateTime.Parse("Jan 2, 2015") },
            new Stop() { Order = 40, Latitude =  -25.746111, Longitude =  28.188056, Name = "Pretoria, South Africa", Arrival = DateTime.Parse("Jan 19, 2015") },
            new Stop() { Order = 41, Latitude =  43.771033, Longitude =  11.248001, Name = "Florence, Italy", Arrival = DateTime.Parse("Feb 1, 2015") },
            new Stop() { Order = 42, Latitude =  45.440847, Longitude =  12.315515, Name = "Venice, Italy", Arrival = DateTime.Parse("Feb 9, 2015") },
            new Stop() { Order = 43, Latitude =  43.771033, Longitude =  11.248001, Name = "Florence, Italy", Arrival = DateTime.Parse("Feb 13, 2015") },
            new Stop() { Order = 44, Latitude =  41.872389, Longitude =  12.480180, Name = "Rome, Italy", Arrival = DateTime.Parse("Feb 17, 2015") },
            new Stop() { Order = 45, Latitude =  28.632244, Longitude =  77.220724, Name = "New Delhi, India", Arrival = DateTime.Parse("Mar 4, 2015") },
            new Stop() { Order = 46, Latitude =  27.700000, Longitude =  85.333333, Name = "Kathmandu, Nepal", Arrival = DateTime.Parse("Mar 10, 2015") },
            new Stop() { Order = 47, Latitude =  28.632244, Longitude =  77.220724, Name = "New Delhi, India", Arrival = DateTime.Parse("Mar 11, 2015") },
            new Stop() { Order = 48, Latitude =  22.1667, Longitude =  113.5500, Name = "Macau", Arrival = DateTime.Parse("Mar 21, 2015") },
            new Stop() { Order = 49, Latitude =  22.396428, Longitude =  114.109497, Name = "Hong Kong", Arrival = DateTime.Parse("Mar 24, 2015") },
            new Stop() { Order = 50, Latitude =  39.904030, Longitude =  116.407526, Name = "Beijing, China", Arrival = DateTime.Parse("Apr 19, 2015") },
            new Stop() { Order = 51, Latitude =  22.396428, Longitude =  114.109497, Name = "Hong Kong", Arrival = DateTime.Parse("Apr 24, 2015") },
            new Stop() { Order = 52, Latitude =  1.352083, Longitude =  103.819836, Name = "Singapore", Arrival = DateTime.Parse("Apr 30, 2015") },
            new Stop() { Order = 53, Latitude =  3.139003, Longitude =  101.686855, Name = "Kuala Lumpor, Malaysia", Arrival = DateTime.Parse("May 7, 2015") },
            new Stop() { Order = 54, Latitude =  13.727896, Longitude =  100.524123, Name = "Bangkok, Thailand", Arrival = DateTime.Parse("May 24, 2015") },
            new Stop() { Order = 55, Latitude =  33.748995, Longitude =  -84.387982, Name = "Atlanta, Georgia", Arrival = DateTime.Parse("Jun 17, 2015") },
          }
                };

                _context.Trips.Add(worldTrip);
                _context.Stops.AddRange(worldTrip.Stops);

                _context.SaveChanges();
            }
        }