Пример #1
0
        public bool insertTripGroup(Trip t, Group g)
        {
            DB.groups.Add(g);
            TripGroup tg = new TripGroup();

            tg.groupID = g.ID;
            tg.tripID  = t.ID;
            DB.tripGroups.Add(tg);
            return(DB.SaveChanges() > 0);
        }
Пример #2
0
        public static void Main(string[] args)
        {
            if (args == null || args.Length == 0)
            {
                Console.WriteLine("Please specify a filename.");
                return;
            }
            string inputFile  = args[0];
            string outputFile = inputFile + ".out";

            try
            {
                StreamReader sr = new StreamReader(inputFile);
                // Get the first line as the number of members
                int memberCount = GetIntegerLine(sr);
                // Initilize TripGroup class
                TripGroup tripGroup = new TripGroup();
                do
                {
                    Trip trip = new Trip();
                    tripGroup.AddTrip(trip);
                    // Loop to add members
                    for (int index = 0; index < memberCount; index++)
                    {
                        Member member = new Member();
                        trip.AddMember(member);
                        // Get the number of expenses for current member
                        int expenseCount = GetIntegerLine(sr);
                        // Loop to add expenses
                        for (int expenseIndex = 0; expenseIndex < expenseCount; expenseIndex++)
                        {
                            decimal amount = GetDecimalLine(sr);
                            member.AddCharge(amount);
                        }
                    }
                    // Get the number of members for next trip
                    memberCount = GetIntegerLine(sr);
                }while (memberCount != 0);
                //Close the read file
                sr.Close();
                // Start to output billing data
                StreamWriter streamWriter = new StreamWriter(outputFile);
                // Triger calculation
                tripGroup.Calculate();
                // Call Output method to output data
                tripGroup.Output(streamWriter);
                streamWriter.Close();
            }
            catch (Exception e)
            {
                Console.WriteLine("Exception: " + e.Message);
            }
        }
        public ActionResult AddTrip(Trip t)
        {
            TripContext ts = new TripContext();

            if (t.carAvailable == false)
            {
                t.vacant_seats = -1;
            }
            AspNetUsersContext us  = new AspNetUsersContext();
            AspNetUsers        asp = us.AspNetUsers.Single(a => a.Email == User.Identity.Name);

            t.created_by = asp.Id;
            ts.Trips.Add(t);
            ts.SaveChanges();
            TripGroupContext t_gc = new TripGroupContext();
            TripGroup        tg   = new TripGroup();

            tg.Id        = t.id;
            tg.People    = User.Identity.Name;
            tg.TripAdmin = t.carAvailable;
            t_gc.TripGroups.Add(tg);
            t_gc.SaveChanges();

            //if similar trip exists send mail to those people
            List <Trip> similarTrips = new List <Trip>();

            similarTrips = ts.Trips.Where(s => s.source == t.source && s.destination == t.destination).ToList();
            foreach (var s in similarTrips)
            {
                AspNetUsers aspnetusers = us.AspNetUsers.Single(u => u.Id == s.created_by);
                if (aspnetusers.Email != User.Identity.Name)
                {
                    TripController tp = new TripController();
                    tp.SMTPSendEmail(aspnetusers.Email,
                                     User.Identity.Name + " has created a new trip similar to yours",
                                     "A trip similar to yours has been created on CarpoolManagementSystem");
                }
            }

            return(RedirectToAction("TripDetails/" + t.id, "Trip"));
        }
        public TripGroupTests()
        {
            tripGroup = new TripGroup();
            Member member = new Member();

            member.AddExpense(10);
            member.AddExpense(20);
            tripGroup.AddMember(member);
            member = new Member();
            member.AddExpense(15);
            member.AddExpense(15.01m);
            member.AddExpense(3);
            member.AddExpense(3.01m);
            tripGroup.AddMember(member);

            member = new Member();
            member.AddExpense(5);
            member.AddExpense(9);
            member.AddExpense(4);
            tripGroup.AddMember(member);
        }
        public string JoinTrip(string id)
        {
            if (User.Identity.IsAuthenticated)
            {
                try
                {
                    TripGroupContext g = new TripGroupContext();
                    var tg             = g.TripGroups.Where(b => b.Id.ToString() == id).ToArray();
                    foreach (var d in tg)
                    {
                        if (d.People == User.Identity.Name)
                        {
                            return("2");
                        }
                    }

                    TripGroup t_g = new TripGroup();
                    t_g.Id        = Int32.Parse(id);
                    t_g.People    = User.Identity.Name;
                    t_g.TripAdmin = false;
                    g.TripGroups.Add(t_g);
                    g.SaveChanges();
                    TripContext t_s = new TripContext();
                    Trip        t   = t_s.Trips.Single(d => d.id.ToString() == id);
                    t.vacant_seats = t.vacant_seats - 1;
                    t_s.SaveChanges();
                    return("3");
                }
                catch
                {
                    return("3");
                }
            }

            else
            {
                return("1");
            }
        }