public ActionResult ThemTTLuongTuyen(string benDi, string benDen, string maTuyen,
                                             string hanhTrinhChay, string cuLy, string luuLuong, string idTrangThai,
                                             string idPhanLoai)
        {
            try
            {
                var context         = new QLVanTai_2017();
                var checkLuongTuyen = context.QLVT_LuongTuyen
                                      .FirstOrDefault(u => (u.LT_HanhTrinhChay.CompareTo(hanhTrinhChay) == 0) || u.LT_MaTuyen.CompareTo(maTuyen) == 0);

                if (checkLuongTuyen != null)
                {
                    if (checkLuongTuyen.LT_HanhTrinhChay.CompareTo(hanhTrinhChay) == 0)
                    {
                        return(Json(new { status = false, error = "Hành trình chạy đã tồn tại" }, JsonRequestBehavior.AllowGet));
                    }
                    if (checkLuongTuyen.LT_MaTuyen.CompareTo(maTuyen) == 0)
                    {
                        return(Json(new { status = false, error = "Mã tuyến đã tồn tại" }, JsonRequestBehavior.AllowGet));
                    }
                }
                else
                {
                    int idBenDi  = Convert.ToInt32(benDi);
                    int idBenDen = Convert.ToInt32(benDen);

                    var diemDauCuoi = context.QLVT_LuongTuyen_DiemDauCuoi
                                      .FirstOrDefault(u => u.LT_DC_IdBen_01 == idBenDi && u.LT_DC_IdBen_02 == idBenDen);
                    if (diemDauCuoi == null)
                    {
                        var objDiemCuoi = new QLVT_LuongTuyen_DiemDauCuoi()
                        {
                            LT_DC_IdBen_01  = idBenDi,
                            LT_DC_IdBen_02  = idBenDen,
                            LT_DC_TenBen_01 = context.QLVT_ThongTinBenXe.FirstOrDefault(u => u.BX_IdBenXe == idBenDi)
                                              .TenBenXe,
                            LT_DC_TenBen_02 = context.QLVT_ThongTinBenXe.FirstOrDefault(u => u.BX_IdBenXe == idBenDen)
                                              .TenBenXe,
                            LT_DC_TT_IdTrangThai = 1,
                        };

                        context.QLVT_LuongTuyen_DiemDauCuoi.Add(objDiemCuoi);
                        context.SaveChanges();

                        diemDauCuoi = context.QLVT_LuongTuyen_DiemDauCuoi
                                      .FirstOrDefault(u => u.LT_DC_IdBen_01 == idBenDi && u.LT_DC_IdBen_02 == idBenDen);
                    }

                    var LuongTuyen = new QLVT_LuongTuyen()
                    {
                        LT_MaTuyen          = maTuyen,
                        LT_HanhTrinhChay    = hanhTrinhChay,
                        LT_CuLy             = Convert.ToInt32(cuLy),
                        LT_LuuLuongQuyDinh  = Convert.ToInt32(luuLuong),
                        TT_IdTrangThaiTuyen = Convert.ToInt32(idTrangThai),
                        LT_PL_IdLuongTuyen  = Convert.ToInt32(idPhanLoai),
                        LT_DC_IdLuongTuyen  = diemDauCuoi.LT_DC_IdLuongTuyen
                    };
                    context.QLVT_LuongTuyen.Add(LuongTuyen);
                    context.SaveChanges();

                    var TinhSo1 = context.QLVT_ThongTinBenXe
                                  .FirstOrDefault(c => c.BX_IdBenXe == LuongTuyen.QLVT_LuongTuyen_DiemDauCuoi.LT_DC_IdBen_01)
                                  .TS_IdTinh_So;
                    var TinhSo2 = context.QLVT_ThongTinBenXe
                                  .FirstOrDefault(c => c.BX_IdBenXe == LuongTuyen.QLVT_LuongTuyen_DiemDauCuoi.LT_DC_IdBen_02)
                                  .TS_IdTinh_So;

                    var CapTuyen1 = new QLVT_CapTuyenChoTinh_So()
                    {
                        LT_IdLuongTuyen = LuongTuyen.LT_IdLuongTuyen,
                        TS_IdTinh_So    = TinhSo1
                    };

                    var CapTuyen2 = new QLVT_CapTuyenChoTinh_So()
                    {
                        LT_IdLuongTuyen = LuongTuyen.LT_IdLuongTuyen,
                        TS_IdTinh_So    = TinhSo2
                    };

                    context.QLVT_CapTuyenChoTinh_So.Add(CapTuyen1);
                    if (CapTuyen1.TS_IdTinh_So != CapTuyen2.TS_IdTinh_So)
                    {
                        context.QLVT_CapTuyenChoTinh_So.Add(CapTuyen2);
                    }

                    context.SaveChanges();
                    return(Json(new { status = true, message = "Thêm thành công." }, JsonRequestBehavior.AllowGet));
                }
            }
            catch (Exception e)
            {
                return(Json(new { status = false, error = "Thêm không thành công." }, JsonRequestBehavior.AllowGet));
            }
            return(Json(new { status = true }, JsonRequestBehavior.AllowGet));
        }
        public ActionResult SuaTTLuongTuyen(string idLuongTuyen, string benDi, string benDen, string maTuyen,
                                            string hanhTrinhChay, string cuLy, string luuLuong, string idTrangThai,
                                            string idPhanLoai)
        {
//            return Json(new { status = false, error = "Sửa đang bảo trì." }, JsonRequestBehavior.AllowGet);

            try
            {
                var  context         = new QLVanTai_2017();
                long lIdLuongTuyen   = Convert.ToInt64(idLuongTuyen);
                var  checkLuongTuyen = context.QLVT_LuongTuyen
                                       .FirstOrDefault(u => (u.LT_HanhTrinhChay.CompareTo(hanhTrinhChay) == 0) || u.LT_MaTuyen.CompareTo(maTuyen) == 0);

                if (checkLuongTuyen != null && checkLuongTuyen.LT_IdLuongTuyen != lIdLuongTuyen)
                {
                    if (checkLuongTuyen.LT_HanhTrinhChay.CompareTo(hanhTrinhChay) == 0)
                    {
                        return(Json(new { status = false, error = "Hành trình chạy đã tồn tại" }, JsonRequestBehavior.AllowGet));
                    }
                    if (checkLuongTuyen.LT_MaTuyen.CompareTo(maTuyen) == 0)
                    {
                        return(Json(new { status = false, error = "Mã tuyến đã tồn tại" }, JsonRequestBehavior.AllowGet));
                    }
                }
                else
                {
                    int idBenDi  = Convert.ToInt32(benDi);
                    int idBenDen = Convert.ToInt32(benDen);

                    var diemDauCuoi = context.QLVT_LuongTuyen_DiemDauCuoi
                                      .FirstOrDefault(u => u.LT_DC_IdBen_01 == idBenDi && u.LT_DC_IdBen_02 == idBenDen);
                    if (diemDauCuoi == null)
                    {
                        diemDauCuoi = new QLVT_LuongTuyen_DiemDauCuoi()
                        {
                            LT_DC_IdBen_01  = idBenDi,
                            LT_DC_IdBen_02  = idBenDen,
                            LT_DC_TenBen_01 = context.QLVT_ThongTinBenXe.FirstOrDefault(u => u.BX_IdBenXe == idBenDi)
                                              .TenBenXe,
                            LT_DC_TenBen_02 = context.QLVT_ThongTinBenXe.FirstOrDefault(u => u.BX_IdBenXe == idBenDen)
                                              .TenBenXe,
                            LT_DC_TT_IdTrangThai = 1,
                        };

                        context.QLVT_LuongTuyen_DiemDauCuoi.Add(diemDauCuoi);
                        context.SaveChanges();
                    }
                    var objLuongTuyen = context.QLVT_LuongTuyen.FirstOrDefault(i => i.LT_IdLuongTuyen == lIdLuongTuyen);

                    if (objLuongTuyen != null)
                    {
                        var idDCLuongTuyen = objLuongTuyen.LT_DC_IdLuongTuyen;

                        objLuongTuyen.LT_MaTuyen          = maTuyen;
                        objLuongTuyen.LT_HanhTrinhChay    = hanhTrinhChay;
                        objLuongTuyen.LT_CuLy             = Convert.ToInt32(cuLy);
                        objLuongTuyen.LT_LuuLuongQuyDinh  = Convert.ToInt32(luuLuong);
                        objLuongTuyen.TT_IdTrangThaiTuyen = Convert.ToInt32(idTrangThai);
                        objLuongTuyen.LT_PL_IdLuongTuyen  = Convert.ToInt32(idPhanLoai);
                        objLuongTuyen.LT_DC_IdLuongTuyen  = diemDauCuoi.LT_DC_IdLuongTuyen;


                        if (idDCLuongTuyen != diemDauCuoi.LT_DC_IdLuongTuyen)
                        {
                            ///
                            var TinhSo1 = context.QLVT_ThongTinBenXe
                                          .FirstOrDefault(c => c.BX_IdBenXe == objLuongTuyen.QLVT_LuongTuyen_DiemDauCuoi.LT_DC_IdBen_01)
                                          .TS_IdTinh_So;
                            var TinhSo2 = context.QLVT_ThongTinBenXe
                                          .FirstOrDefault(c => c.BX_IdBenXe == objLuongTuyen.QLVT_LuongTuyen_DiemDauCuoi.LT_DC_IdBen_02)
                                          .TS_IdTinh_So;

                            var CapTuyen1 = context.QLVT_CapTuyenChoTinh_So.FirstOrDefault(c =>
                                                                                           c.QLVT_LuongTuyen.LT_DC_IdLuongTuyen == objLuongTuyen.LT_IdLuongTuyen && c.TS_IdTinh_So == TinhSo1);

                            var CapTuyen2 = context.QLVT_CapTuyenChoTinh_So.FirstOrDefault(c =>
                                                                                           c.QLVT_LuongTuyen.LT_DC_IdLuongTuyen == objLuongTuyen.LT_IdLuongTuyen && c.TS_IdTinh_So == TinhSo2);

                            if (TinhSo1 == TinhSo2 && CapTuyen1 != CapTuyen2 && CapTuyen2 != null)
                            {
                                context.QLVT_CapTuyenChoTinh_So.Remove(CapTuyen2);
                                CapTuyen1.TS_IdTinh_So = TinhSo1;
                            }

                            if (TinhSo1 != TinhSo2)
                            {
                                if (CapTuyen1 == null)
                                {
                                    CapTuyen1 = new QLVT_CapTuyenChoTinh_So
                                    {
                                        TS_IdTinh_So    = TinhSo1,
                                        LT_IdLuongTuyen = objLuongTuyen.LT_IdLuongTuyen
                                    };
                                    context.QLVT_CapTuyenChoTinh_So.Add(CapTuyen1);
                                }

                                if (CapTuyen2 == null)
                                {
                                    CapTuyen2 = new QLVT_CapTuyenChoTinh_So
                                    {
                                        TS_IdTinh_So    = TinhSo2,
                                        LT_IdLuongTuyen = objLuongTuyen.LT_IdLuongTuyen
                                    };
                                    context.QLVT_CapTuyenChoTinh_So.Add(CapTuyen2);
                                }
                            }
                        }

                        context.SaveChanges();

                        return(Json(new { status = true, message = "Sửa thành công." }, JsonRequestBehavior.AllowGet));
                    }
                    else
                    {
                        return(Json(new { status = false, error = "Sửa thất bại." }, JsonRequestBehavior.AllowGet));
                    }
                }
            }
            catch (Exception e)
            {
                return(Json(new { status = false, error = "Sửa thất bại." }, JsonRequestBehavior.AllowGet));
            }
            return(null);
        }