Beispiel #1
0
        /// <summary>
        /// hàm xử lý địa chỉ chạy ngầm để cải thiện tốc độ load form.
        /// -Trong khi đó có 1 cờ bật lên.không cho phép lưu hoặc tắt form trong khi đang xử lý.
        /// </summary>
        private void ProcessAutoDiaChi()
        {
            G_TongTien = 0;
            AppendTextBox(txtKmDuKien, string.Empty);
            AppendTextBox(deTGDuKienDen, string.Empty);
            AppendTextBox(txtTienDuKien, string.Empty);
            AppendTextBox(txtLoTrinh, string.Empty);
            IsProcess = true;
            PointLatLng start = auDiaChiDon.TempLat > 0 ? new PointLatLng(auDiaChiDon.TempLat, auDiaChiDon.TempLng) : new PointLatLng(auDiaChiDon.Lat, auDiaChiDon.Lng);
            PointLatLng end   = new PointLatLng(auDiaChiTra.Lat, auDiaChiTra.Lng);

            var loTrinh = TaxiReturn_Process.LayLoTrinh(start, end);

            if (!string.IsNullOrEmpty(loTrinh.LoTrinh_DiaChi))
            {
                try
                {
                    this.LoTrinh = loTrinh;
                    string address = loTrinh.LoTrinh_DiaChi;
                    Distance = (double)loTrinh.Distance;
                    TinhTienTheoKm objTinhTien = new TinhTienTheoKm(this.loaiXe, Distance.To <int>());
                    G_TongTien = objTinhTien.TongTien1Chieu;
                    AppendTextBox(txtKmDuKien, Distance.To <int>());
                    AppendTextBox(deTGDuKienDen, deGioDon.DateTime.AddHours(Distance / 40));
                    AppendTextBox(txtTienDuKien, G_TongTien);
                    AppendTextBox(txtLoTrinh, address.RemoveRoutePr());
                }
                catch (Exception)
                {
                    AppendTextBox(txtLoTrinh, "Không có lộ trình");
                }
            }

            IsProcess = false;
        }
Beispiel #2
0
 public IHttpActionResult Post(LoTrinh _loTrinh)
 {
     try
     {
         using (var db = new DB())
         {
             using (var transaction = db.Database.BeginTransaction())
             {
                 LoTrinh loTrinh = db.LoTrinhs.FirstOrDefault(x => x.malotrinh == _loTrinh.malotrinh);
                 if (loTrinh != null)
                 {
                     return(BadRequest("Mã lộ trình đã tồn tại"));
                 }
                 db.LoTrinhs.Add(_loTrinh);
                 db.SaveChanges();
                 transaction.Commit();
                 return(Ok(new
                 {
                     _loTrinh.malotrinh,
                     _loTrinh.tenlotrinh,
                     _loTrinh.matinhdon,
                     _loTrinh.matinhtra,
                     _loTrinh.khoangthoigiandukien,
                 }));
             }
         }
     }
     catch (Exception ex)
     {
         return(BadRequest(ex.Message));
     }
 }
Beispiel #3
0
 public IHttpActionResult Detail(string _malotrinh)
 {
     try
     {
         using (var db = new DB())
         {
             LoTrinh loTrinh = db.LoTrinhs.FirstOrDefault(x => x.malotrinh == _malotrinh);
             if (loTrinh == null)
             {
                 return(BadRequest("Lộ trình không tồn tại"));
             }
             return(Ok(new
             {
                 loTrinh.malotrinh,
                 loTrinh.tenlotrinh,
                 loTrinh.matinhdon,
                 loTrinh.matinhtra,
                 loTrinh.khoangthoigiandukien,
             }));
         }
     }
     catch (Exception ex)
     {
         return(BadRequest(ex.Message));
     }
 }
Beispiel #4
0
 public IHttpActionResult Delete(string _malotrinh)
 {
     try
     {
         using (var db = new DB())
         {
             using (var transaction = db.Database.BeginTransaction())
             {
                 LoTrinh loTrinh = db.LoTrinhs.FirstOrDefault(x => x.malotrinh == _malotrinh);
                 if (loTrinh == null)
                 {
                     return(BadRequest("Lộ trình không tồn tại"));
                 }
                 db.ChuyenXes.RemoveRange(db.ChuyenXes.Where(x => x.malotrinh == _malotrinh));
                 db.LoTrinhs.Remove(loTrinh);
                 db.SaveChanges();
                 transaction.Commit();
                 return(Ok(_malotrinh));
             }
         }
     }
     catch (Exception ex)
     {
         return(BadRequest(ex.Message));
     }
 }
 public IHttpActionResult GetDiemTrungChuyenLoTrinh(string _malotrinh)
 {
     if (string.IsNullOrEmpty(_malotrinh))
     {
         return(Ok(new
         {
             diemTrungChuyensDon = new List <DiemTrungChuyen>(),
             diemTrungChuyensTra = new List <DiemTrungChuyen>()
         }));
     }
     try
     {
         using (var db = new DB())
         {
             LoTrinh loTrinh = db.LoTrinhs.FirstOrDefault(x => x.malotrinh == _malotrinh);
             List <DiemTrungChuyen> diemTrungChuyensDon = db.DiemTrungChuyens.Where(x => x.matinh == loTrinh.matinhdon).ToList();
             List <DiemTrungChuyen> diemTrungChuyensTra = db.DiemTrungChuyens.Where(x => x.matinh == loTrinh.matinhtra).ToList();
             List <string>          maTinhThanhDiQua    = db.ChiTietLoTrinhs.Where(x => x.malotrinh == _malotrinh).Select(x => x.TinhThanh.matinh).ToList();
             if (maTinhThanhDiQua == null)
             {
                 maTinhThanhDiQua = new List <string>();
             }
             List <DiemTrungChuyen> allDiemTrungChuyenTinhThanhDiQua = new List <DiemTrungChuyen>();
             maTinhThanhDiQua.ForEach(x =>
             {
                 allDiemTrungChuyenTinhThanhDiQua.AddRange(db.DiemTrungChuyens.Where(y => y.matinh == x).ToList());
             });
             allDiemTrungChuyenTinhThanhDiQua.ForEach(x =>
             {
                 if (diemTrungChuyensDon.FirstOrDefault(y => y.madiemtrungchuyen == x.madiemtrungchuyen) == null)
                 {
                     diemTrungChuyensDon.Add(x);
                 }
                 if (diemTrungChuyensTra.FirstOrDefault(y => y.madiemtrungchuyen == x.madiemtrungchuyen) == null)
                 {
                     diemTrungChuyensTra.Add(x);
                 }
             });
             return(Ok(new
             {
                 diemTrungChuyensDon = diemTrungChuyensDon.Select(x => new
                 {
                     x.madiemtrungchuyen,
                     x.tendiemtrungchuyen,
                     x.TinhThanh.tentinh
                 }).ToList(),
                 diemTrungChuyensTra = diemTrungChuyensTra.Select(x => new
                 {
                     x.madiemtrungchuyen,
                     x.tendiemtrungchuyen,
                     x.TinhThanh.tentinh
                 }).ToList()
             }));
         }
     }
     catch (Exception ex)
     {
         return(BadRequest(ex.Message));
     }
 }
        public ActionResult MenuThemLoTrinh(LoTrinhViewModel lotrinh)
        {
            ViewBag.MaKH = KhachHangQueries.DanhSachKhachHang();
            LoTrinh x = (new QuanLyThueXeEntities()).LoTrinhs.SingleOrDefault(n => n.TenLoTrinh == lotrinh.TenLoTrinh && n.MaKH == lotrinh.MaKH && n.Dang == true);

            if (x != null)
            {
                @ViewBag.ThongBaoTrungTen = "Lộ trình này đã có";
                return(View());
            }
            LoTrinhQueries.ThemLoTrinh(lotrinh);
            return(RedirectToAction("MenuDanhSachLoTrinh", "LoTrinh"));
        }
Beispiel #7
0
        private async Task <List <KhoaHoc> > GetCourseActived(int maLoTrinh, DateTime ngayBatDau)
        {
            LoTrinh loTrinh = await _loTrinhRepository.GetSingleByIdAsync(maLoTrinh);

            List <KhoaHoc> dsKhoaHoc = new List <KhoaHoc>();

            if (!string.IsNullOrEmpty(loTrinh.DanhSachKhoaHoc))
            {
                // Convert string json thành mảng
                List <dynamic> dsMaKhoaHoc = JsonConvert.DeserializeObject <List <dynamic> >(loTrinh.DanhSachKhoaHoc);
                // Lấy danh sách khóa học theo mảng id
                var listKhoaHoc = await _khoaHocRepository.GetMultiByIdAsync(dsMaKhoaHoc);

                // Sắp xếp đúng thứ tự
                foreach (dynamic idKhoaHoc in dsMaKhoaHoc)
                {
                    dsKhoaHoc.Add(listKhoaHoc.FirstOrDefault(x => x.Id == idKhoaHoc));
                }
            }

            // KIỂM TRA XEM ĐẾN NGÀY KÍCH HOẠT CHƯA
            int            demNgay = 0;
            int            soNgayTuLucKhaiGiang = FuncUtilities.TinhKhoangCachNgay(ngayBatDau);
            List <KhoaHoc> dsKhoaHocKichHoat    = new List <KhoaHoc>();

            foreach (KhoaHoc item in dsKhoaHoc)
            {
                // Nếu là khóa học kích hoạt sẵn cho học viên
                if (item.KichHoatSan && soNgayTuLucKhaiGiang >= -7)
                {
                    dsKhoaHocKichHoat.Add(item);
                }
                else
                {
                    demNgay += item.SoNgayKichHoat;
                    // Kiểm tra xem đã đến ngày kích hoạt chưa
                    // Mở khóa học mới trước 7 ngày (1 tuần) cho học viên
                    if (demNgay > (soNgayTuLucKhaiGiang - 7))
                    {
                        break;
                    }
                    else
                    {
                        dsKhoaHocKichHoat.Add(item);
                    }
                }
            }
            return(dsKhoaHocKichHoat);
        }
        public async Task <IActionResult> OnGetAsync(string id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            LoTrinh = await _context.LoTrinh.FirstOrDefaultAsync(m => m.LoTrinhId == id);

            if (LoTrinh == null)
            {
                return(NotFound());
            }
            return(Page());
        }
        public async Task <IActionResult> OnPostAsync(string id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            LoTrinh = await _context.LoTrinh.FindAsync(id);

            if (LoTrinh != null)
            {
                _context.LoTrinh.Remove(LoTrinh);
                await _context.SaveChangesAsync();
            }

            return(RedirectToPage("./Index"));
        }
Beispiel #10
0
        /// <summary>
        /// Thêm lộ trình
        /// </summary>
        /// <param name="lotrinh"></param>
        /// <returns></returns>
        public static Boolean ThemLoTrinh(LoTrinhViewModel lotrinh)
        {
            var entity = new QuanLyThueXeEntities();

            try
            {
                var lt = new LoTrinh();
                lt.MaLoTrinh  = TuTangMaLT();
                lt.TenLoTrinh = lotrinh.TenLoTrinh;
                lt.Dang       = true;
                lt.MaKH       = lotrinh.MaKH;
                entity.LoTrinhs.Add(lt);
                entity.SaveChanges();
                return(true);
            }
            catch (Exception ex)
            {
                entity.Dispose();
                return(false);
            }
        }
Beispiel #11
0
        public override async Task <ResponseEntity> DeleteByIdAsync(List <dynamic> listId)
        {
            try
            {
                IEnumerable <KhoaHoc> dsKhoaHoc = await _khoaHocRepository.GetMultiByIdAsync(listId);

                if (await _khoaHocRepository.DeleteByIdAsync(listId) == 0)
                {
                    return(new ResponseEntity(StatusCodeConstants.BAD_REQUEST, listId, MessageConstants.DELETE_ERROR));
                }

                // Xóa id khóa học khỏi danh sách khóa học của lộ trình
                foreach (KhoaHoc khoaHoc in dsKhoaHoc)
                {
                    if (khoaHoc.DanhSachLoTrinh != null)
                    {
                        List <dynamic>        dsMaLoTrinh = JsonConvert.DeserializeObject <List <dynamic> >(khoaHoc.DanhSachLoTrinh);
                        IEnumerable <LoTrinh> dsLoTrinh   = await _loTrinhRepository.GetMultiByIdAsync(dsMaLoTrinh);

                        List <LoTrinhViewModel> dsLoTrinhVm = _mapper.Map <List <LoTrinhViewModel> >(dsLoTrinh);
                        foreach (LoTrinhViewModel loTrinhVm in dsLoTrinhVm)
                        {
                            loTrinhVm.DanhSachKhoaHoc.RemoveAll(x => x == khoaHoc.Id);
                            LoTrinh loTrinh = _mapper.Map <LoTrinh>(loTrinhVm);
                            if (loTrinhVm.DanhSachKhoaHoc.Count == 0)
                            {
                                loTrinh.DanhSachKhoaHoc = "";
                            }
                            await _loTrinhRepository.UpdateAsync(loTrinh.Id, loTrinh);
                        }
                    }
                }

                return(new ResponseEntity(StatusCodeConstants.OK, listId, MessageConstants.DELETE_SUCCESS));
            }
            catch (Exception ex)
            {
                return(new ResponseEntity(StatusCodeConstants.ERROR_SERVER, ex.Message));
            }
        }
Beispiel #12
0
        private void ShowBanDo()
        {
            try
            {
                _bando = new frmUpdateTrip_Map();
                PointLatLng?start = null;
                PointLatLng?end   = null;
                lblMsg.Text = "";
                {
                    if (auDiaChiDon.TempLat > 0 && auDiaChiDon.TempLng > 0)
                    {
                        start = new PointLatLng(auDiaChiDon.TempLat, auDiaChiDon.TempLng);
                    }
                    else if (auDiaChiDon.TinhId > 0)
                    {
                        start = new PointLatLng(auDiaChiDon.Lat, auDiaChiDon.Lng);
                    }
                }


                {
                    if (auDiaChiTra.TempLat > 0 && auDiaChiTra.TempLng > 0)
                    {
                        end = new PointLatLng(auDiaChiTra.TempLat, auDiaChiTra.TempLng);
                    }
                    else if (auDiaChiTra.TinhId > 0)
                    {
                        end = new PointLatLng(auDiaChiTra.Lat, auDiaChiTra.Lng);
                    }
                }

                _bando.ShowBanDo(start, end, auDiaChiDon.Text, auDiaChiTra.Text);
                _bando.pic      = pic1;
                _bando.SoXe     = txtXe.Text.Trim();
                _bando.LoaiXeId = this.loaiXe;
                if (_model != null)
                {
                    var _LoTrinh = new LoTrinh();
                    _LoTrinh.Distance       = _model.KmDuKien;
                    _LoTrinh.LoTrinh_DiaChi = _model.LoTrinh;
                    _LoTrinh.LoTrinh_ToaDo  = _model.LoTrinh_Diem;
                    _LoTrinh.ListPoint      = TaxiReturn_Process.ConvertToPointLatLng(_LoTrinh.LoTrinh_ToaDo);
                    _bando.LoTrinh          = _LoTrinh;
                }
                _bando.ShowDialog();
                pic1 = 0;
                if (_bando.IsOk)
                {
                    if (auDiaChiDon.Text != _bando.AddressA)
                    {
                        auDiaChiDon.Text = _bando.AddressA;
                        auDiaChiDon.ReSearch();
                        auDiaChiDon.TempLat      = (float)_bando._gMapMarkerA.Position.Lat;
                        auDiaChiDon.TempLng      = (float)_bando._gMapMarkerA.Position.Lng;
                        auDiaChiDon.IsChangeText = true;
                    }
                    if (auDiaChiTra.Text != _bando.AddressB)
                    {
                        auDiaChiTra.Text = _bando.AddressB;
                        auDiaChiTra.ReSearch();
                        auDiaChiTra.TempLat      = (float)_bando._gMapMarkerB.Position.Lat;
                        auDiaChiTra.TempLng      = (float)_bando._gMapMarkerB.Position.Lng;
                        auDiaChiTra.IsChangeText = true;
                    }
                    if (auDiaChiDon.TinhId > 0 && auDiaChiTra.TinhId > 0)
                    {
                        //  new Thread(new ThreadStart(ProcessAutoDiaChi)).Start();
                    }
                    txtKmDuKien.EditValue      = _bando.Distance;
                    txtKmDuKien.IsChangeText   = true;
                    deTGDuKienDen.EditValue    = deGioDon.DateTime.AddHours(_bando.time);
                    deTGDuKienDen.IsChangeText = true;
                    this.LoTrinh            = _bando.LoTrinh;
                    txtLoTrinh.Text         = LoTrinh.LoTrinh_DiaChi;
                    txtLoTrinh.IsChangeText = true;
                    G_TongTien = _bando.TienDuKien;
                    txtTienDuKien.EditValue    = G_TongTien;
                    txtTienDuKien.IsChangeText = true;
                }
            }
            catch (Exception ex)
            {
                LogError.WriteLogError("ShowBanDo: ", ex);
            }
        }