public string CancelTicket(TTicket tticket, string userId) { try { using (TicketReturnFeeConfigurationBusiness _ticketReturnFeeBusiness = new TicketReturnFeeConfigurationBusiness()) using (TicketBusiness business = new TicketBusiness()) { Ticket cancelTicket = business.Get(tticket.TicketId); if (cancelTicket == null) { return(string.Format("{0} Vé không tồn tại, không thể hủy vé, Mã:{0}", Constants.SERVER_ERROR_CODE_SINGLE_DATA_NOT_SYNC, tticket.TicketId)); } string result = string.Empty; decimal returnFee = _ticketReturnFeeBusiness.GetReturnFee(cancelTicket, DateTime.Now); if (returnFee > 0) { result = business.Cancel(cancelTicket, returnFee); } else { result = business.Delete(cancelTicket.id); } return(result); } //notify to the others client station //BroadcastToClient(ClientAction.CancelTicket,tticket); } catch (Exception exc) { ServerLogger.logError("[CancelTicket]", exc); return(exc.Message); } }
public override bool HandleSaveTask() { bool isSuccess = false; try { string errorMsg = string.Empty; errorMsg = ValidateData(); var confirmView = new TicketPaymentView(); var tickets = new List <Ticket>(); if (string.IsNullOrEmpty(errorMsg)) { if (_isUpdating == false) { foreach (var seatNo in _selectedSeatNumbers) { tickets.Add(CreateUpdateTicket(seatNo: seatNo)); } if (tickets.Count > 1) { int index = 1; tickets.ForEach(x => { x.id += index.ToString("D2"); index++; }); } confirmView.ConfirmTickets = tickets; //confirmView.SellTicket = new TicketPaymentView.SellTicketDelegate(SellTicket); confirmView.ShowDialog(); if (confirmView.DialogResult == System.Windows.Forms.DialogResult.OK || confirmView.DialogResult == System.Windows.Forms.DialogResult.Yes) { foreach (var ticket in tickets) { errorMsg = _ticketBusiness.Insert(ticket); } } else { return(false); } } else { var ticket = CreateUpdateTicket(_ticketBusiness.Get(lblTicketId.Text)); errorMsg = _ticketBusiness.Update(ticket); } } // print receipt if (string.IsNullOrEmpty(errorMsg) && confirmView.DialogResult == System.Windows.Forms.DialogResult.Yes) { var tour = _tourBusiness.Get(_tourId); var bus = _busBusiness.Get(_busId); Exporter <EntityObject> exporter = new Exporter <EntityObject>(Constants.PRINT_TICKET_RECIEPT, tickets, new List <EntityObject>() { tour }, new List <EntityObject>() { bus }); exporter.Run(); } // output result if (string.IsNullOrEmpty(errorMsg)) { ShowInformationMessage(_isUpdating ? Constants.Messages.MSG_TICKET_UPDATE_TICKET_SUCCESS_MSG : Constants.Messages.MSG_TICKET_INSERT_TICKET_SUCCESS_MSG); isSuccess = true; LoadSeatMapData(); ChangeStatusControl(false); } else { ShowErrorMessageBox(errorMsg); isSuccess = false; } } catch (Exception ex) { AppLogger.logError(this.ToString(), Constants.Messages.MSG_TICKET_UPDATE_TICKET_EXCEPTION_MSG, ex); ShowErrorMessageBox(Constants.Messages.MSG_TICKET_UPDATE_TICKET_FAIL_MSG); } return(isSuccess); }