public ChiTietChuyenDiViewModel(Dieuxe chuyenXe) { ChuyenXeHienTai = chuyenXe; var accessToken = Settings.AccessToken; //Laydulieu(chuyenXe); //ChiTietChuyenDi = new List<ChiTietChuyenDi>() //{ // new ChiTietChuyenDi{ DangKyLichChiTietId = 1, ToaDoDi = "10.832282, 106.778043", ToaDoDen = "10.838085, 106.634272", NoiDi = "48 Đường Tăng Nhơn Phú, Tăng Nhơn Phú B, Quận 9", NoiDen = "17/6A Phan Huy Ích, Phường 15, Gò Vấp", SoNguoiDi = 2, TenNguoiDi = "ADC, XB", SdtLienLac = "0123"}, // new ChiTietChuyenDi{ DangKyLichChiTietId = 2, ToaDoDi = "10.832282, 106.778043", ToaDoDen = "10.769082, 106.702199", NoiDi = "48 Đường Tăng Nhơn Phú, Tăng Nhơn Phú B, Quận 9", NoiDen = "16 Nam Kỳ Khởi Nghĩa, Phường Nguyễn Thái Bình, Quận 1", SoNguoiDi = 1, TenNguoiDi = "C, Taoz", SdtLienLac = "0222"}, // new ChiTietChuyenDi{ DangKyLichChiTietId = 3, ToaDoDi = "10.832282, 106.778043", ToaDoDen = "10.769082, 106.702199", NoiDi = "48 Đường Tăng Nhơn Phú, Tăng Nhơn Phú B, Quận 9", NoiDen = "16 Nam Kỳ Khởi Nghĩa, Phường Nguyễn Thái Bình, Quận 1", SoNguoiDi = 2, TenNguoiDi = "Bronzen", SdtLienLac = "0333"}, // new ChiTietChuyenDi{ DangKyLichChiTietId = 4, ToaDoDi = "10.832282, 106.778043", ToaDoDen = "10.838781, 106.672548", NoiDi = "48 Đường Tăng Nhơn Phú, Tăng Nhơn Phú B, Quận 9", NoiDen = "236a Nguyễn Văn Lượng, Phường 6, Gò Vấp", SoNguoiDi = 3, TenNguoiDi = "Pro, E", SdtLienLac = "0444"}, // new ChiTietChuyenDi{ DangKyLichChiTietId = 5, ToaDoDi = "10.832282, 106.778043", ToaDoDen = "10.769082, 106.702199", NoiDi = "48 Đường Tăng Nhơn Phú, Tăng Nhơn Phú B, Quận 9", NoiDen = "16 Nam Kỳ Khởi Nghĩa, Phường Nguyễn Thái Bình, Quận 1", SoNguoiDi = 1, TenNguoiDi = "Vip, Vippro", SdtLienLac = "0555"}, // new ChiTietChuyenDi{ DangKyLichChiTietId = 6, ToaDoDi = "10.832282, 106.778043", ToaDoDen = "10.835409, 106.635244", NoiDi = "48 Đường Tăng Nhơn Phú, Tăng Nhơn Phú B, Quận 9", NoiDen = "243 Phan Huy Ích, Phường 12, Gò Vấp", SoNguoiDi = 4, TenNguoiDi = "Adu, Vãi chưởng", SdtLienLac = "0666"}, // new ChiTietChuyenDi{ DangKyLichChiTietId = 7, ToaDoDi = "10.832282, 106.778043", ToaDoDen = "10.787637, 106.686105", NoiDi = "48 Đường Tăng Nhơn Phú, Tăng Nhơn Phú B, Quận 9", NoiDen = "209-201 Nam Kỳ Khởi Nghĩa, Phường 7, Quận 3", SoNguoiDi = 1, TenNguoiDi = "Hay đấy, Oke", SdtLienLac = "0777"}, // new ChiTietChuyenDi{ DangKyLichChiTietId = 8, ToaDoDi = "10.832282, 106.778043", ToaDoDen = "10.803820, 106.689993", NoiDi = "48 Đường Tăng Nhơn Phú, Tăng Nhơn Phú B, Quận 9", NoiDen = "24a Phan Đăng Lưu, Phường 6, Bình Thạnh", SoNguoiDi = 2, TenNguoiDi = "Elly, Đại ca đây", SdtLienLac = "0888"} //}; ChiTietChuyenDi = new List <ChiTietChuyenDi>() { new ChiTietChuyenDi { DangKyLichChiTietId = 1, ToaDoDi = "10.833374,106.559539", ToaDoDen = "10.831530,106.570754", NoiDi = "Mẫu Giáo Ngôi Sao Xanh, Liên Ấp 234, Vĩnh Lộc A, Bình Chánh", NoiDen = "5 Quách Điêu, Vĩnh Lộc A, Bình Chánh", SoNguoiDi = 2, TenNguoiDi = "ADC, XB", SdtLienLac = "0123" }, new ChiTietChuyenDi { DangKyLichChiTietId = 2, ToaDoDi = "10.832763,106.561298", ToaDoDen = "10.831994,106.567321", NoiDi = "xã Vĩnh Lộc A, Vĩnh Lộc A, Bình Chánh", NoiDen = "Siêu thị Bách hóa XANH D10/17B Nữ Dân Công, D10/17B Nữ Dân Công, Ấp 4, Xã Vĩnh Lộc A, Bình Chánh", SoNguoiDi = 1, TenNguoiDi = "C, Taoz", SdtLienLac = "02222" }, new ChiTietChuyenDi { DangKyLichChiTietId = 3, ToaDoDi = "10.835956,106.560145", ToaDoDen = "10.832112,106.563696", NoiDi = "xã Vĩnh Lộc A, Vĩnh Lộc A, Bình Chánh", NoiDen = "Nhà Thuốc Bảo Châu, Đ. Dân Công Hoả Tuyến, Vĩnh Lộc A, Bình Chánh", SoNguoiDi = 1, TenNguoiDi = "C, Taoz", SdtLienLac = "0333" } }; //var lichdangky = new List<lich>() { // new lich { sodangky = 0, ngaydangky = "25/03/2020", nhanviendangky = "SK10", songuoi = 1, noidi = "10.832282, 106.778043", noiden = "10.845966, 106.765224", diachidi = "48 Đường Tăng Nhơn Phú, Tăng Nhơn Phú B, Quận 9", diachiden = "30-38 Dân Chủ, Bình Thọ, Thủ Đức", gioden = "08:00", ngayden = "20/03/2020", giove = "16:00", ngayve = "20/03/2020" },// // new lich { sodangky = 1, ngaydangky = "25/03/2020", nhanviendangky = "SK06", songuoi = 1, noidi = "10.832282, 106.778043", noiden = "10.838085, 106.634272", diachidi = "48 Đường Tăng Nhơn Phú, Tăng Nhơn Phú B, Quận 9", diachiden = "17/6A Phan Huy Ích, Phường 15, Gò Vấp", gioden = "08:00", ngayden = "20/03/2020", giove = "15:00", ngayve = "20/03/2020" },/////// 7 // new lich { sodangky = 2, ngaydangky = "18/03/2020", nhanviendangky = "SK06", songuoi = 1, noidi = "10.832282, 106.778043", noiden = "10.769082, 106.702199", diachidi = "48 Đường Tăng Nhơn Phú, Tăng Nhơn Phú B, Quận 9", diachiden = "16 Nam Kỳ Khởi Nghĩa, Phường Nguyễn Thái Bình, Quận 1", gioden = "08:00", ngayden = "20/03/2020", giove = "15:00", ngayve = "20/03/2020" },/////// 1 // new lich { sodangky = 3, ngaydangky = "15/03/2020", nhanviendangky = "SK05", songuoi = 1, noidi = "10.832282, 106.778043", noiden = "10.769082, 106.702199", diachidi = "48 Đường Tăng Nhơn Phú, Tăng Nhơn Phú B, Quận 9", diachiden = "16 Nam Kỳ Khởi Nghĩa, Phường Nguyễn Thái Bình, Quận 1", gioden = "08:00", ngayden = "20/03/2020", giove = "16:00", ngayve = "20/03/2020" },/////// 2 // new lich { sodangky = 4, ngaydangky = "15/03/2020", nhanviendangky = "SK08", songuoi = 2, noidi = "10.832282, 106.778043", noiden = "10.868034, 106.780647", diachidi = "48 Đường Tăng Nhơn Phú, Tăng Nhơn Phú B, Quận 9", diachiden = "940 Xa lộ Đại Hàn, Phường Linh Trung, Thủ Đức", gioden = "09:00", ngayden = "20/03/2020", giove = "15:00", ngayve = "20/03/2020" },// // new lich { sodangky = 5, ngaydangky = "16/03/2020", nhanviendangky = "SK07", songuoi = 1, noidi = "10.832282, 106.778043", noiden = "10.838781, 106.672548", diachidi = "48 Đường Tăng Nhơn Phú, Tăng Nhơn Phú B, Quận 9", diachiden = "236a Nguyễn Văn Lượng, Phường 6, Gò Vấp", gioden = "09:00", ngayden = "20/03/2020", giove = "17:00", ngayve = "20/03/2020" },/////// 6 // new lich { sodangky = 6, ngaydangky = "18/03/2020", nhanviendangky = "SK06", songuoi = 1, noidi = "10.832282, 106.778043", noiden = "10.769082, 106.702199", diachidi = "48 Đường Tăng Nhơn Phú, Tăng Nhơn Phú B, Quận 9", diachiden = "16 Nam Kỳ Khởi Nghĩa, Phường Nguyễn Thái Bình, Quận 1", gioden = "08:00", ngayden = "20/03/2020", giove = "15:00", ngayve = "20/03/2020" },/////// 3 // new lich { sodangky = 7, ngaydangky = "19/03/2020", nhanviendangky = "SK05", songuoi = 2, noidi = "10.832282, 106.778043", noiden = "10.835409, 106.635244", diachidi = "48 Đường Tăng Nhơn Phú, Tăng Nhơn Phú B, Quận 9", diachiden = "243 Phan Huy Ích, Phường 12, Gò Vấp", gioden = "08:00", ngayden = "20/03/2020", giove = "15:00", ngayve = "20/03/2020" },/////// 8 // new lich { sodangky = 8, ngaydangky = "21/03/2020", nhanviendangky = "SK09", songuoi = 1, noidi = "10.832282, 106.778043", noiden = "10.884010, 106.586954", diachidi = "48 Đường Tăng Nhơn Phú, Tăng Nhơn Phú B, Quận 9", diachiden = "47 Xuyên Á, Xuân Thới Sơn, Hóc Môn", gioden = "08:00", ngayden = "20/03/2020", giove = "16:00", ngayve = "20/03/2020" }, // new lich { sodangky = 9, ngaydangky = "24/03/2020", nhanviendangky = "SK07", songuoi = 1, noidi = "10.832282, 106.778043", noiden = "10.787637, 106.686105", diachidi = "48 Đường Tăng Nhơn Phú, Tăng Nhơn Phú B, Quận 9", diachiden = "209-201 Nam Kỳ Khởi Nghĩa, Phường 7, Quận 3", gioden = "08:00", ngayden = "20/03/2020", giove = "16:00", ngayve = "20/03/2020" },/////// 4 // new lich { sodangky = 10, ngaydangky = "24/03/2020", nhanviendangky = "SK08", songuoi = 2, noidi = "10.832282, 106.778043", noiden = "10.803820, 106.689993", diachidi = "48 Đường Tăng Nhơn Phú, Tăng Nhơn Phú B, Quận 9", diachiden = "24a Phan Đăng Lưu, Phường 6, Bình Thạnh", gioden = "09:00", ngayden = "20/03/2020", giove = "16:00", ngayve = "20/03/2020" },/////// 5 // new lich { sodangky = 11, ngaydangky = "24/03/2020", nhanviendangky = "SK08", songuoi = 2, noidi = "10.803109, 106.737720", noiden = "10.842808, 106.615312", diachidi = "70 Nguyễn Duy Hiệu, Thảo Điền, Quận 2", diachiden = "An Sương 84, Xa lộ Đại Hàn, Đông Hưng Thuận, Hóc Môn", gioden = "08:00", ngayden = "20/03/2020", giove = "16:00", ngayve = "20/03/2020" }, // new lich { sodangky = 12, ngaydangky = "24/03/2020", nhanviendangky = "SK08", songuoi = 2, noidi = "10.886754, 106.759661", noiden = "10.836570, 106.654286", diachidi = "338-350 Nguyễn Tri Phương, An Bình, Dĩ An, Bình Dương", diachiden = "693 Quang Trung, Phường 8, Gò Vấp", gioden = "08:00", ngayden = "20/03/2020", giove = "16:00", ngayve = "20/03/2020" }, // new lich { sodangky = 13, ngaydangky = "24/03/2020", nhanviendangky = "SK08", songuoi = 2, noidi = "10.774183, 106.722131", noiden = "10.813318, 106.578647", diachidi = "232 Đường Mai Chí Thọ, An Lợi Đông, Quận 2", diachiden = "2300 Đường Vĩnh Lộc, Vĩnh Lộc B, Bình Chánh", gioden = "08:00", ngayden = "20/03/2020", giove = "16:00", ngayve = "20/03/2020" }, // new lich { sodangky = 14, ngaydangky = "24/03/2020", nhanviendangky = "SK08", songuoi = 2, noidi = "10.848119, 106.718481", noiden = "10.806229, 106.627437", diachidi = "1/109 QL13, Hiệp Bình Phước, Thủ Đức", diachiden = "34 Lê Trọng Tấn, Sơn Ký, Tân Phú", gioden = "08:00", ngayden = "20/03/2020", giove = "16:00", ngayve = "20/03/2020" }, // new lich { sodangky = 15, ngaydangky = "24/03/2020", nhanviendangky = "SK08", songuoi = 2, noidi = "10.795682, 106.675471", noiden = "10.832169, 106.621990", diachidi = "163 Nguyễn Văn Trỗi, Phường 11, Phú Nhuận", diachiden = "Chùa Vĩnh Phước, Trường Chinh, Vinh Phuoc Pagoda, Quận 12", gioden = "08:00", ngayden = "20/03/2020", giove = "16:00", ngayve = "20/03/2020" } //}; DiemKeTiep = new Command(DiemKeTiepAction); DsToaDoDiemDung = MapFunction.Decode(chuyenXe.DsDiemDung).ToList(); TrangThaiChuyenXe = chuyenXe.TrangThai; if (TrangThaiChuyenXe == 1) // đã đi lượt đi { DsToaDoDiemDung.Reverse(); } _DanhSachDiemDung = new List <ThongTinDiemDung>(); ListviewDiaChiRowHeight = 64; ChieuCaoListviewDiaChi = DsToaDoDiemDung.Count * ListviewDiaChiRowHeight; for (int i = 0; i < DsToaDoDiemDung.Count; i++) { //Substring(0, input.Length - 1) //var precision = 0; //var doubleLat = DsToaDoDiemDung[i].Latitude; //var doubleLng = DsToaDoDiemDung[i].Longitude; //while (doubleLat * Math.Pow(10, precision) != Math.Round(doubleLat * Math.Pow(10, precision))) // precision++; //string lat = Math.Round(DsToaDoDiemDung[i].Latitude, precision - 1).ToString(); //precision = 0; //while (doubleLng * Math.Pow(10, precision) != Math.Round(doubleLng * Math.Pow(10, precision))) // precision++; //string lng = Math.Round(DsToaDoDiemDung[i].Longitude, precision - 1).ToString(); string lat = DsToaDoDiemDung[i].Latitude.ToString().Substring(0, DsToaDoDiemDung[i].Latitude.ToString().Length - 1); string lng = DsToaDoDiemDung[i].Longitude.ToString().Substring(0, DsToaDoDiemDung[i].Longitude.ToString().Length - 1); _DanhSachDiemDung.Add(new ThongTinDiemDung { DsNguoiDi = new List <NguoiDi>() }); for (int j = 0; j < ChiTietChuyenDi.Count; j++) { var chitietchuyendi = ChiTietChuyenDi[j]; if (chitietchuyendi.ToaDoDi.Contains(lat) && chitietchuyendi.ToaDoDi.Contains(lng)) { if (string.IsNullOrEmpty(_DanhSachDiemDung[i].DiaChi)) { _DanhSachDiemDung[i].DiaChi = chitietchuyendi.NoiDi; _DanhSachDiemDung[i].lat = lat; _DanhSachDiemDung[i].lng = lng; _DanhSachDiemDung[i].DaDiQua = false; } _DanhSachDiemDung[i].DsNguoiDi.Add(new NguoiDi { TenNguoiDi = chitietchuyendi.TenNguoiDi, SoNguoiDi = chitietchuyendi.SoNguoiDi, SdtLienLac = chitietchuyendi.SdtLienLac, LenXe = TrangThaiChuyenXe == 0 ? true : false, XuongXe = TrangThaiChuyenXe == 0 ? false : true }); } if (chitietchuyendi.ToaDoDen.Contains(lat) && chitietchuyendi.ToaDoDen.Contains(lng)) { if (string.IsNullOrEmpty(_DanhSachDiemDung[i].DiaChi)) { _DanhSachDiemDung[i].DiaChi = chitietchuyendi.NoiDen; _DanhSachDiemDung[i].lat = lat; _DanhSachDiemDung[i].lng = lng; _DanhSachDiemDung[i].DaDiQua = false; } _DanhSachDiemDung[i].DsNguoiDi.Add(new NguoiDi { TenNguoiDi = chitietchuyendi.TenNguoiDi, SoNguoiDi = chitietchuyendi.SoNguoiDi, SdtLienLac = chitietchuyendi.SdtLienLac, LenXe = TrangThaiChuyenXe == 0 ? false : true, XuongXe = TrangThaiChuyenXe == 0 ? true : false }); } } } indexToaDoKeTiep = 0; DaDiQuaDiaChiKeTiep = false; DiaChiKeTiep = DanhSachDiemDung[indexToaDoKeTiep].DiaChi; PositionKeTiep.Latitude = DsToaDoDiemDung[indexToaDoKeTiep].Latitude; PositionKeTiep.Longitude = DsToaDoDiemDung[indexToaDoKeTiep].Longitude; TheoDoi(); }