예제 #1
0
        public void UpdatePassengers(string passengerList)
        {
            PassengerTextReader  pt = new PassengerTextReader();
            List <PassengerData> lstPassengerData = pt.CreatePassengers(passengerList);

            if (lstPassengerData != null)
            {
                using (var dbContext = new MyDealEntities1())
                {
                    //Passengers not there in the db
                    var missingPassengers = lstPassengerData.Where(x => !dbContext.Passengers.Any(z => z.Name == x.Name)).ToList();
                    foreach (PassengerData pData in missingPassengers)
                    {
                        //add passenger record
                        Passenger passenger = new Passenger();
                        passenger.Name = pData.Name;
                        dbContext.Passengers.Add(passenger);
                        dbContext.SaveChanges();

                        //add passenger details
                        PassengerDetail pDetails = new PassengerDetail();
                        pDetails.PassengerId   = passenger.Id;
                        pDetails.RecordLocator = pData.BookingId;
                        dbContext.PassengerDetails.Add(pDetails);
                        dbContext.SaveChanges();
                    }
                }
            }
        }
        public async Task <ActionResult> AddPassenger(PassengerDetail e, Bookingdetails booking)
        {
            int    id    = (int)TempData.Peek("Tno");
            string email = (string)TempData.Peek("mail");

            e.TrainNo = id;
            e.EmailId = email;

            PassengerDetail Passobj = new PassengerDetail();

            using (var httpClient = new HttpClient())
            {
                StringContent content = new StringContent(JsonConvert.SerializeObject(e), Encoding.UTF8, "application/json");

                using (var response = await httpClient.PostAsync("https://localhost:44337/api/PassengerDetails", content))
                {
                    string apiResponse = await response.Content.ReadAsStringAsync();

                    if (apiResponse != null)
                    {
                        Passobj = JsonConvert.DeserializeObject <PassengerDetail>(apiResponse);
                    }
                }
            }
            return(RedirectToAction("Index"));
        }
예제 #3
0
        public IHttpActionResult PostPassengerDetail(PassengerDetail passengerDetail)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.PassengerDetails.Add(passengerDetail);

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateException)
            {
                if (PassengerDetailExists(passengerDetail.PNR))
                {
                    return(Conflict());
                }
                else
                {
                    throw;
                }
            }

            return(CreatedAtRoute("DefaultApi", new { id = passengerDetail.PNR }, passengerDetail));
        }
예제 #4
0
        public IHttpActionResult PutPassengerDetail(int id, PassengerDetail passengerDetail)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != passengerDetail.PNR)
            {
                return(BadRequest());
            }

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

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

            return(StatusCode(HttpStatusCode.NoContent));
        }
예제 #5
0
        public async Task <PassengerDetail> AddPassenger(PassengerDetail item)
        {
            PassengerDetail pass = null;

            /*  if (item == null)
             * {
             *    throw new NullReferenceException();
             * }
             * else
             * {*/
            //    var noseats = _context.BookingDetails.Where(tr => tr.TrainNo == item.TrainNo).Select(tr => tr.NoOfSeats);
            //    int var1 = Convert.ToInt32(noseats);
            //    for (int i = 0; i < var1; i++)
            //    {


            //}
            pass = new PassengerDetail()
            {
                TrainNo       = item.TrainNo,
                PassengerName = item.PassengerName,
                Gender        = item.Gender,
                Age           = item.Age,
                EmailId       = item.EmailId,
            };
            await _context.PassengerDetails.AddAsync(pass);

            await _context.SaveChangesAsync();


            return(pass);
        }
        public async Task <IActionResult> UpdatePassengerDetail(PassengerDetail passenger, int sno)
        {
            log.Info("Update Passenger method is called!");
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            var editedpassenger = _context.UpdatePassengerDetail(passenger, sno);

            return(Ok(editedpassenger));
        }
        private PassengerDetail ConvertPassenger(BookingPassengers bookingPassengers)
        {
            PassengerDetail passenger = new PassengerDetail();

            passenger.Age    = bookingPassengers.Age;
            passenger.Seat   = bookingPassengers.Seat;
            passenger.Name   = bookingPassengers.Name;
            passenger.Gender = bookingPassengers.Gender;

            return(passenger);
        }
예제 #8
0
        public IHttpActionResult GetPassengerDetail(int id)
        {
            PassengerDetail passengerDetail = db.PassengerDetails.Find(id);

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

            return(Ok(passengerDetail));
        }
        public async Task <IActionResult> AddPassenger(PassengerDetail passenger)
        {
            log.Info("Add Passenger method is called!");
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var temp = await _context.AddPassenger(passenger);

            return(Ok(passenger));
        }
예제 #10
0
        public IHttpActionResult DeletePassengerDetail(int id)
        {
            PassengerDetail passengerDetail = db.PassengerDetails.Find(id);

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

            db.PassengerDetails.Remove(passengerDetail);
            db.SaveChanges();

            return(Ok(passengerDetail));
        }
        public async Task <ActionResult> UpdatePassenger(int sno)
        {
            PassengerDetail passengers = new PassengerDetail();

            using (var httpClient = new HttpClient())
            {
                using (var response = await httpClient.GetAsync("https://localhost:44337/api/PassengerDetails" + sno))
                {
                    string apiResponse = await response.Content.ReadAsStringAsync();

                    passengers = JsonConvert.DeserializeObject <PassengerDetail>(apiResponse);
                }
            }
            return(View(passengers));
        }
예제 #12
0
        public async Task <PassengerDetail> UpdatePassengerDetail(PassengerDetail item, int sno)
        {
            //var passenger = _context.PassengerDetails.Where(s => s.SerialNo == item.SerialNo).FirstOrDefault<PassengerDetail>();
            PassengerDetail passenger = await _context.PassengerDetails.FindAsync(sno);

            passenger.PassengerName = item.PassengerName;
            passenger.Gender        = item.Gender;
            passenger.Age           = item.Age;
            passenger.EmailId       = item.EmailId;
            await _context.SaveChangesAsync();



            return(passenger);
        }
        private int AddBooking(BookingDetails bookingDetails, List <BookingTransactions> transactions, List <BookingPassengers> passengers, GuestUser guestUser = null)
        {
            GuestUser guest   = new GuestUser();
            Booking   booking = ConvertToBooking(bookingDetails);

            if (bookingDetails.UserRegistered != 1)
            {
                if (db.GuestUsers.Any(gu => gu.Email == guestUser.Email && gu.Contact == guestUser.Contact))
                {
                    guest = db.GuestUsers.Where(gu => gu.Email == guestUser.Email && gu.Contact == guestUser.Contact).First();
                }
                else
                {
                    guest = guestUser;
                    db.GuestUsers.Add(guest);
                    db.SaveChanges();
                }
                booking.GuestId = guest.Id;
            }

            db.Bookings.Add(booking);
            db.SaveChanges();

            foreach (BookingPassengers bookingPassenger in passengers)
            {
                PassengerDetail passenger = ConvertPassenger(bookingPassenger);
                passenger.BookingID = booking.BookingID;
                db.PassengerDetails.Add(passenger);
                db.SaveChanges();
            }

            foreach (BookingTransactions bookingTransaction in transactions)
            {
                Transaction transaction = ConvertToTransaction(bookingTransaction);
                transaction.BookingID = booking.BookingID;
                db.Transactions.Add(transaction);


                if (transaction.Mode == "Wallet")
                {
                    User user = db.Users.Where(u => u.Id == booking.UserId).First();
                    user.Wallet         -= (int)transaction.amount;
                    db.Entry(user).State = System.Data.Entity.EntityState.Modified;
                }
                db.SaveChanges();
            }
            return(booking.BookingID);
        }
        public async Task <ActionResult> UpdatePassenger(PassengerDetail p)
        {
            PassengerDetail pass = new PassengerDetail();

            using (var httpClient = new HttpClient())
            {
                var           id       = p.SerialNo;
                StringContent content1 = new StringContent(JsonConvert.SerializeObject(p), Encoding.UTF8, "application/json");
                using (var response = await httpClient.PutAsync("https://localhost:44337/api/PassengerDetails" + id, content1))
                {
                    string apiResponse = await response.Content.ReadAsStringAsync();

                    ViewBag.Result = "Success";
                    pass           = JsonConvert.DeserializeObject <PassengerDetail>(apiResponse);
                }
            }
            return(RedirectToAction("Index"));
        }
            public void Show()
            {
                if (visible)
                {
                    return;
                }

                visible = true;
                passengerDetails.Clear();
                selectedPassengers = totalPassengers = 0;
                int capacity = FlightGlobals.ActiveVessel.GetCrewCapacity() - FlightGlobals.ActiveVessel.GetCrewCount();

                foreach (ConfiguredContract contract in ConfiguredContract.ActiveContracts)
                {
                    string contractTitle  = contract.Title;
                    int    passengerCount = 0;
                    List <SpawnPassengers> passengerList = new List <SpawnPassengers>();
                    foreach (SpawnPassengers sp in contract.Behaviours.Where(x => x.GetType() == typeof(SpawnPassengers)))
                    {
                        int count = sp.passengers.Where(pair => !pair.Value && pair.Key.rosterStatus == ProtoCrewMember.RosterStatus.Available).Count();
                        if (count != 0)
                        {
                            passengerCount += count;
                            passengerList.Add(sp);
                        }
                    }

                    if (passengerCount > 0)
                    {
                        totalPassengers += passengerCount;
                        PassengerDetail pd = new PassengerDetail(contractTitle, passengerCount, passengerList);

                        if (capacity >= passengerCount)
                        {
                            pd.selected         = true;
                            selectedPassengers += passengerCount;
                            capacity           -= passengerCount;
                        }

                        passengerDetails.Add(pd);
                    }
                }
            }
예제 #16
0
        /// <summary>
        /// 添加乘客
        /// </summary>
        void chkPassenger_CheckedChanged(object sender, EventArgs e)
        {
            CheckBox checkBox = sender as CheckBox;

            if (checkBox != null)
            {
                PassengerDetail detail = checkBox.Tag as PassengerDetail;
                if (detail != null)
                {
                    if (checkBox.Checked)
                    {
                        int             row_index = this.dgvPassenger.Rows.Add(new DataGridViewRow());
                        DataGridViewRow row       = this.dgvPassenger.Rows[row_index];
                        row.Cells[0].Value = detail.code;
                        row.Cells[1].Value = this.dgvPassenger.Rows.Count;
                        row.Cells[2].Value = TicketInfo.limitBuySeatTicketDTO.seat_type_codes[0].id;
                        row.Cells[3].Value = detail.passenger_type;
                        row.Cells[3].OwningColumn.DefaultCellStyle.NullValue = detail.passenger_type_name;
                        row.Cells[4].Value = detail.passenger_name;
                        row.Cells[5].Value = detail.passenger_id_type_code;
                        row.Cells[5].OwningColumn.DefaultCellStyle.NullValue = detail.passenger_id_type_name;
                        row.Cells[6].Value = detail.passenger_id_no;
                        row.Cells[7].Value = detail.mobile_no;
                    }
                    else
                    {
                        DataGridViewRow row = null;
                        foreach (DataGridViewRow item in this.dgvPassenger.Rows)
                        {
                            if (item.Cells[0].Value.ToString() == detail.code)
                            {
                                row = item;
                                break;
                            }
                        }
                        if (row != null)
                        {
                            this.dgvPassenger.Rows.Remove(row);
                        }
                    }
                }
            }
        }
            public void Show()
            {
                if (visible)
                {
                    return;
                }

                visible = true;
                passengerDetails.Clear();
                selectedPassengers = totalPassengers = 0;
                int capacity = FlightGlobals.ActiveVessel.GetCrewCapacity() - FlightGlobals.ActiveVessel.GetCrewCount();

                foreach (ConfiguredContract contract in ConfiguredContract.ActiveContracts)
                {
                    string contractTitle = contract.Title;
                    int passengerCount = 0;
                    List<SpawnPassengers> passengerList = new List<SpawnPassengers>();
                    foreach (SpawnPassengers sp in contract.Behaviours.Where(x => x.GetType() == typeof(SpawnPassengers)))
                    {
                        int count = sp.passengers.Where(pair => !pair.Value && pair.Key.rosterStatus == ProtoCrewMember.RosterStatus.Available).Count();
                        if (count != 0)
                        {
                            passengerCount += count;
                            passengerList.Add(sp);
                        }
                    }

                    if (passengerCount > 0)
                    {
                        totalPassengers += passengerCount;
                        PassengerDetail pd = new PassengerDetail(contractTitle, passengerCount, passengerList);

                        if (capacity >= passengerCount)
                        {
                            pd.selected = true;
                            selectedPassengers += passengerCount;
                            capacity -= passengerCount;
                        }

                        passengerDetails.Add(pd);
                    }
                }
            }
예제 #18
0
        public PassengerDetail GetPassengerById(int sno)
        {
            PassengerDetail item = _context.PassengerDetails.Find(sno);

            return(item);
        }