public JsonResult StartTrip(long tripId)
        {
            JsonResultBO result = new JsonResultBO(false);

            qlChuyenBusiness   = Get <QL_DANGKYXE_LAIXEBusiness>();
            qlDangKyXeBusiness = Get <QL_DANGKY_XEBusiness>();
            QL_DANGKYXE_LAIXE entity = qlChuyenBusiness.Find(tripId);

            if (entity != null)
            {
                entity.TRANGTHAI = TRANGTHAI_CHUYEN_CONSTANT.DANGCHAY_ID;
                //cập nhật yêu cầu xe đang được thực thi
                QL_DANGKY_XE registration = qlDangKyXeBusiness.Find(entity.QL_DANGKY_XE_ID);
                if (registration != null)
                {
                    registration.TRANGTHAI = TRANGTHAI_DANGKY_XE_CONSTANT.DANG_THUCHIEN_ID;
                    qlDangKyXeBusiness.Save(registration);
                }
                qlChuyenBusiness.Save(entity);
                result.Message = "Đã bắt đầu chuyến";
                result.Status  = true;
            }
            else
            {
                result.Message = "Chuyến không tồn tại";
            }
            return(Json(result));
        }
Esempio n. 2
0
        public JsonResult CancelRegistration(long registrationId)
        {
            AssignUserInfo();
            JsonResultBO result = new JsonResultBO(true);

            qlDangKyXeBusiness  = Get <QL_DANGKY_XEBusiness>();
            qlChuyenBusiness    = Get <QL_DANGKYXE_LAIXEBusiness>();
            dmNguoiDungBusiness = Get <DM_NGUOIDUNGBusiness>();
            sysTinNhanBusiness  = Get <SYS_TINNHANBusiness>();

            QL_DANGKY_XE registration = qlDangKyXeBusiness.Find(registrationId);

            if (registration != null && registration.IS_DELETE != true)
            {
                QL_DANGKYXE_LAIXE trip = qlChuyenBusiness.repository.All().Where(x => x.QL_DANGKY_XE_ID == registration.ID).FirstOrDefault();
                if (trip == null || trip.TRANGTHAI == TRANGTHAI_CHUYEN_CONSTANT.MOITAO_ID)
                {
                    if (trip != null)
                    {
                        qlChuyenBusiness.repository.Delete(trip);
                    }
                    registration.TRANGTHAI = TRANGTHAI_DANGKY_XE_CONSTANT.DA_HUY_ID;
                    qlDangKyXeBusiness.Save(registration);
                    result.Message = "Hủy yêu cầu thành công";

                    //gửi tin nhắn cho người có quyền xác nhận yêu cầu sử dụng xe
                    List <long> notifyUsers = dmNguoiDungBusiness.GetListUsersByFunctionCodeAndDeptId(CONFIRM_CAR_REGISTRATION, currentUser.DeptParentID.GetValueOrDefault());
                    string      title       = "HỦY YÊU CẦU SỬ DỤNG XE";
                    string      content     = string.Format("{0} đã hủy một yêu cầu sử dụng xe", currentUser.HOTEN);

                    sysTinNhanBusiness.sendMessageMultipleUsers(notifyUsers, currentUser, title, content, Url.Action("Details", new { id = registrationId }), string.Empty, false, registrationId, 0);
                }
                else
                {
                    result.Status = false;
                    if (trip.TRANGTHAI == TRANGTHAI_CHUYEN_CONSTANT.DANGCHAY_ID)
                    {
                        result.Message = "Yêu cầu đang được thực thi không thể hủy";
                    }
                    else
                    {
                        result.Message = "Hủy yêu cầu không thành công";
                    }
                }
            }
            return(Json(result));
        }
        public JsonResult ReturnTrip(FormCollection fc)
        {
            JsonResultBO result = new JsonResultBO(false);

            qlChuyenBusiness   = Get <QL_DANGKYXE_LAIXEBusiness>();
            qlDangKyXeBusiness = Get <QL_DANGKY_XEBusiness>();
            long id = fc["ID"].ToLongOrZero();
            QL_DANGKYXE_LAIXE entity = qlChuyenBusiness.Find(id);

            if (entity != null)
            {
                entity.TRANGTHAI = TRANGTHAI_CHUYEN_CONSTANT.DA_HOANTHANH_ID;
                entity.GHICHU    = fc["GHICHU"].Trim();
                entity.NGAYSUA   = DateTime.Now;
                //cập nhật quãng đường di chuyển
                if (!string.IsNullOrEmpty(fc["QUANGDUONG_DICHUYEN"]))
                {
                    entity.QUANGDUONG_DICHUYEN = fc["QUANGDUONG_DICHUYEN"].Replace(",", string.Empty).Replace(".00", string.Empty).ToIntOrZero();
                }
                //cập nhật chi phí
                if (!string.IsNullOrEmpty(fc["TONG_CHIPHI"]))
                {
                    entity.TONG_CHIPHI = fc["TONG_CHIPHI"].Replace(",", string.Empty).Replace(".00", string.Empty).ToIntOrZero();
                }
                qlChuyenBusiness.Save(entity);

                //cập nhật hoàn thành yêu cầu đăng ký xe
                QL_DANGKY_XE registration = qlDangKyXeBusiness.Find(entity.QL_DANGKY_XE_ID);
                if (registration != null)
                {
                    registration.TRANGTHAI = TRANGTHAI_DANGKY_XE_CONSTANT.DA_HOANTHANH_ID;
                    qlDangKyXeBusiness.Save(registration);
                }
                result.Message = "Đã trả chuyến thành công";
                result.Status  = true;
            }
            else
            {
                result.Message = "Chuyến không tồn tại";
            }
            return(Json(result));
        }
Esempio n. 4
0
        public JsonResult AcceptCarRegistration(FormCollection fc)
        {
            AssignUserInfo();
            JsonResultBO result = new JsonResultBO(false);

            qlChuyenBusiness    = Get <QL_DANGKYXE_LAIXEBusiness>();
            qlDangKyXeBusiness  = Get <QL_DANGKY_XEBusiness>();
            qlLaiXeBusiness     = Get <QL_LAIXEBusiness>();
            sysTinNhanBusiness  = Get <SYS_TINNHANBusiness>();
            dmNguoiDungBusiness = Get <DM_NGUOIDUNGBusiness>();
            try
            {
                long         registrationId = fc["DANGKY_XE_ID"].ToIntOrZero();
                QL_DANGKY_XE registration   = qlDangKyXeBusiness.Find(registrationId);

                if (registration != null)
                {
                    List <int> cars    = fc["XE_ID"].ToListInt(',');
                    List <int> drivers = fc["LAIXE_ID"].ToListInt(',');

                    for (int i = 0; i < cars.Count; i++)
                    {
                        QL_LAIXE          driver = qlLaiXeBusiness.Find(drivers[i]) ?? new QL_LAIXE();
                        QL_DANGKYXE_LAIXE item   = new QL_DANGKYXE_LAIXE();
                        item.CCTC_THANHPHAN_ID = currentUser.DeptParentID.GetValueOrDefault();
                        item.TEN_CHUYEN        = "Chuyến " + registrationId + "-" + driver.HOTEN;
                        item.QL_DANGKY_XE_ID   = registrationId;
                        item.XE_ID             = cars[i];
                        item.LAIXE_ID          = drivers[i];
                        item.TRANGTHAI         = TRANGTHAI_CHUYEN_CONSTANT.MOITAO_ID;
                        item.GHICHU            = fc["GHICHU"].Trim();
                        item.NGAYTAO           = DateTime.Now;
                        item.NGAYSUA           = DateTime.Now;
                        item.NGUOISUA          = currentUser.ID;
                        item.NGUOITAO          = currentUser.ID;
                        qlChuyenBusiness.Save(item);
                    }

                    registration.TRANGTHAI = TRANGTHAI_DANGKY_XE_CONSTANT.DA_TIEPNHAN_ID;
                    qlDangKyXeBusiness.Save(registration);

                    result.Status  = true;
                    result.Message = "Tiếp nhận yêu cầu thành công";

                    //gửi tin nhắn cho người tạo ra yêu cầu
                    //gửi tin nhắn cho người tạo yêu cầu
                    List <long> notifyUsers = new List <long>()
                    {
                        registration.NGUOITAO.GetValueOrDefault()
                    };
                    string title   = "TIẾP NHẬN YÊU CẦU SỬ DỤNG XE";
                    string content = string.Format("{0} đã tiếp nhận một yêu cầu sử dụng xe", currentUser.HOTEN);

                    sysTinNhanBusiness.sendMessageMultipleUsers(notifyUsers, currentUser, title, content, Url.Action("Details", new { id = registrationId }), string.Empty, false, registrationId, 0);
                }
                else
                {
                    result.Message = "Không tìm thấy yêu cầu đăng ký xe";
                }
            }
            catch (Exception ex)
            {
                result.Message = ex.Message;
            }
            return(Json(result));
        }