public ActionResult DatVe(int HanhTrinhGiaVeId, string NgayDi) { if (this.CheckNoAccessIntoNhaXe(_workContext, _permissionService, StandardPermissionProvider.CVHoatDongBanVe)) { return(AccessDeniedView()); } var hanhtrinhgiave = _hanhtrinhService.GetHanhTrinhGiaVeId(HanhTrinhGiaVeId); var isluotdi = false; if (hanhtrinhgiave.HanhTrinhId > 0) { isluotdi = hanhtrinhgiave.HanhTrinh.isTuyenDi; } var item = new PhoiVe(); item.HanhTrinhGiaVeId = HanhTrinhGiaVeId; item.NgayDi = Convert.ToDateTime(NgayDi); item.TrangThaiId = (int)ENTrangThaiPhoiVe.DaGiaoHang; item.isChonVe = false; item.NguoiDatVeId = _workContext.CurrentNhanVien.Id; item.GiaVeHienTai = hanhtrinhgiave.GiaVe; item.NgayTao = DateTime.Now; item.NgayUpd = DateTime.Now; _phoiveService.ThanhToanVeTaiQuay(item); var vexeitems = _giaodichkeveService.BanVeTaiQuay(_workContext.NhaXeId, _workContext.CurrentNhanVien.Id, HanhTrinhGiaVeId, hanhtrinhgiave.GiaVe, isluotdi, item.NgayDi, _workContext.CurrentVanPhong.Id); if (vexeitems != null) { item.VeXeItemId = vexeitems.Id; item.MaVe = vexeitems.SoSeri; _phoiveService.UpdatePhoiVe(item); return(ThanhCong()); } return(Loi()); }
public ActionResult LenXeV1(int NhaXeId, int CustomerId, int XeXuatBenId, int SoDoGheXeQuyTacId, int HanhTrinhGiaVeId, string SoSeri, string DiemLen, string apiToken) { //kiem tra xac thuc string _checkauthentication = isAuthentication(NhaXeId, CustomerId, apiToken, XeXuatBenId); if (!String.IsNullOrEmpty(_checkauthentication)) { return(ErrorOccured(_checkauthentication)); } //kiem tra trang thai xe xuat ben if (xexuatben.TrangThai == ENTrangThaiXeXuatBen.KET_THUC) { return(ErrorOccured("Chuyến đi đã kết thúc")); } var giave = _hanhtrinhService.GetHanhTrinhGiaVeId(HanhTrinhGiaVeId); if (giave == null) { return(ErrorOccured("Dữ liệu không hợp lệ")); } var hanhtrinh = _hanhtrinhService.GetHanhTrinhById(giave.HanhTrinhId); var phoive = new PhoiVe(); if (SoDoGheXeQuyTacId > 0) { var sodo = _xeinfoService.GetSoDoGheXeQuyTacById(SoDoGheXeQuyTacId); if (sodo == null) { return(ErrorOccured("Dữ liệu không hợp lệ")); } phoive = _phoiveService.GetPhoiVe(xexuatben.NguonVeId, sodo, xexuatben.NgayDi, true); } else { phoive.NguonVeXeId = xexuatben.NguonVeId; phoive.NgayDi = xexuatben.NgayDi; phoive.TrangThai = ENTrangThaiPhoiVe.ConTrong; } phoive.GiaVeHienTai = giave.GiaVe; phoive.ChangId = HanhTrinhGiaVeId; phoive.ViTriLenXe = DiemLen; phoive.ViTriXuongXe = giave.DiemDen.TenDiemDon; phoive.NguoiDatVeId = currentNhanVien.Id; phoive.CustomerId = CommonHelper.KhachVangLaiId;//khach vang lai phoive.ChuyenDiId = XeXuatBenId; if (!string.IsNullOrEmpty(SoSeri)) { //su dung ve da ban o quay de len xe var vexeitemsold = _giaodichkeveService.SuDungVe(NhaXeId, xexuatben.NguonVeId, SoSeri, true); if (vexeitemsold != null) { phoive.MaVe = vexeitemsold.SoSeri; phoive.VeXeItemId = vexeitemsold.Id; phoive.ChangId = vexeitemsold.ChangId.GetValueOrDefault(0); } else { return(ErrorOccured("Seri vé không hợp lệ")); } } else { //lay thong tin ve xe item theo menh gia, va thuc hien ban ve var vexeitemsold = _giaodichkeveService.BanVe(NhaXeId, currentNhanVien.Id, XeXuatBenId, xexuatben.NguonVeId, HanhTrinhGiaVeId, giave.GiaVe, true); if (vexeitemsold != null) { phoive.MaVe = vexeitemsold.SoSeri; phoive.VeXeItemId = vexeitemsold.Id; phoive.ChangId = HanhTrinhGiaVeId; } else { return(ErrorOccured("Hết vé")); } } if (_phoiveService.DatVe(phoive, ENTrangThaiPhoiVe.DaGiaoHang)) { var datveinfo = new { Id = phoive.Id, MaVe = phoive.MaVe, VeXeItemId = phoive.VeXeItemId, HanhTrinhGiaVeId = phoive.ChangId }; return(Successful(datveinfo)); } return(ErrorOccured("Không đặt được ở vị trí này")); }