private static void CancelarCSD() { byte[] csd_key = File.ReadAllBytes(Path.Combine(@"Resources\CertificadosDePrueba", "CSD_Prueba_CFDI_LAN8507268IA.key")); byte[] csd_cer = File.ReadAllBytes(Path.Combine(@"Resources\CertificadosDePrueba", "CSD_Prueba_CFDI_LAN8507268IA.cer")); string csd_key_B64 = Convert.ToBase64String(csd_key); string csd_cer_B64 = Convert.ToBase64String(csd_cer); string uuid = "01724196-ac5a-4735-b621-e3b42bcbb459"; string rfc = "LAN8507268IA"; string passwordKey = "12345678a"; Cancelation cancelation = new Cancelation(_url, _user, _password); CancelationResponse response = (CancelationResponse)cancelation.CancelarByCSD(csd_cer_B64, csd_key_B64, rfc, passwordKey, uuid); if (response.status == "success" && response.Data != null) { //Acuse de cancelación Console.WriteLine(response.Data.Acuse); //Estatus por UUID foreach (var folio in response.Data.uuid) { Console.WriteLine("UUID: {0} Estatus: {1}", folio.Key, folio.Value); } } else { Console.WriteLine("Error al Cancelar\n\n"); Console.WriteLine(response.message); Console.WriteLine(response.messageDetail); } }
public void CancelationByUuid() { var build = new BuildSettings(); Cancelation cancelation = new Cancelation(build.Url, build.User, build.Password); var response = cancelation.CancelarByRfcUuid(build.Rfc, uuid); Assert.IsTrue(response.data.acuse != null && response.status == "success"); }
public async Task Cancelation_Test_CancelationByXMLAsync() { var build = new BuildSettings(); Cancelation cancelation = new Cancelation(build.Url, build.User, build.Password); var response = await cancelation.CancelarByXMLAsync(build.Acuse); Assert.True(response != null && response.status == "success"); }
public void Cancelation_Test_45_CancelationByXML() { var build = new BuildSettings(); Cancelation cancelation = new Cancelation(build.Url, build.User, build.Password); var response = cancelation.CancelarByXML(build.Acuse); Assert.IsTrue(response != null && response.status == "success"); }
public void Cancelation_Test_45_CancelationByPFX() { var build = new BuildSettings(); Cancelation cancelation = new Cancelation(build.Url, build.User, build.Password); CancelationResponse response = cancelation.CancelarByPFX(build.Pfx, build.Rfc, build.CerPassword, uuid); Assert.IsTrue(response != null && response.status == "success"); }
public async Task Cancelation_Test_ValidateParametersAsync() { var resultExpect = "Son necesarios el .Cer y el .Key en formato B64"; var build = new BuildSettings(); Cancelation cancelation = new Cancelation(build.Url, build.User, build.Password); var response = await cancelation.CancelarByCSDAsync(build.Cer, build.Key, build.Rfc, build.CerPassword, ""); Assert.Contains((string)resultExpect, response.messageDetail); }
public void ValidateParameters() { var resultExpect = "Son necesarios el .Cer y el .Key en formato B64"; var build = new BuildSettings(); Cancelation cancelation = new Cancelation(build.Url, build.User, build.Password); var response = cancelation.CancelarByCSD(build.Cer, build.Key, build.Rfc, build.CerPassword, ""); Assert.IsTrue(response.messageDetail.Contains((string)resultExpect)); }
protected void btnCancel_Click(object sender, EventArgs e) { try { IBookingManager bookingManager = BookingManagerFactory.GetInstance().Create(); Cancelation cancelation = new Cancelation(); cancelation.BookingID = int.Parse(lblBookingID.Text); cancelation.CancelationDate = DateTime.Parse(lblDate.Text); int noOfSeats = int.Parse(lblSeats.Text); decimal ticketCost = decimal.Parse(lblCost.Text); decimal totalCost = noOfSeats * ticketCost; cancelation.RefundAmount = totalCost; cancelation.NoOfSeats = noOfSeats; cancelation.CostPerTicket = ticketCost; cancelation.UserName = User.Identity.Name; cancelation.Miles = GetHappyMiles(lblRefNo.Text); cancelation.BookingReferenceNo = lblRefNo.Text; DateTime dateOfJourney = DateTime.Parse(lblDate.Text); TimeSpan timeOfJourney = TimeSpan.Parse(lblDeptTime.Text); if (bookingManager.CancelAirTravelBooking(cancelation, dateOfJourney, timeOfJourney)) { lblSuccessMessage.Text = "Cancelation done successfully"; btnCancel.Enabled = false; PlaceHolder2.Visible = true; Page.MaintainScrollPositionOnPostBack = true; lblCancelationDate.Text = DateTime.Now.ToLongDateString(); lblRefundAmount.Text = cancelation.RefundAmount.ToString(); } } catch (CancelationException cex) { lblErrMsg.Text = cex.Message; PlaceHolder2.Visible = false; } catch (Exception) { lblErrMsg.Text = "Sorry !!! Unable to cancel the booking. Please Try Again"; PlaceHolder2.Visible = false; } }
/// <summary> /// Cancels the air travel booking /// </summary> /// <param name="bookingRefNo"></param> /// <returns>true or false</returns> public bool CancelAirTravelBooking(Cancelation cancelation, DateTime dateOfJourney, TimeSpan departureTime) { try { DateTime toDayDate = DateTime.Now.Date; TimeSpan timeNow = DateTime.Now.TimeOfDay; TimeSpan ts = new TimeSpan(3, 0, 0); timeNow = timeNow.Add(ts); if (departureTime <= timeNow && toDayDate.Date == dateOfJourney.Date) { throw new CancelationException("Flight can be canceled only 3 hours before the journey"); } if (dateOfJourney < toDayDate) { throw new CancelationException("Journey is already completed"); } //A cancelation fee of INR 750/- is charged for each passenger ticket //Original Implementation cancelation.RefundAmount -= cancelation.NoOfSeats * 750; //cancelation.RefundAmount = cancelation.NoOfSeats * 750; return(bookingDAO.CancelBooking(cancelation)); } catch (CancelationException) { throw; } catch (Exception ex) { throw new CancelationException("Unable to cancel the flight. Please try again.", ex); } }
public async Task Cancelation_Test_CancelationByCSDAsync() { var build = new BuildSettings(); Cancelation cancelation = new Cancelation("http://services.test.sw.com.mx", "demo", "123456789"); //Al igual que el objeto de stamp, se indica url del ambiente al cual apuntara y credenciales de acceso o token. string csdBase64 = build.Cer; //.Cer en Base64 string keyBase64 = build.Key; //.Key en Base64 string password = build.CerPassword; //password del CSD string rfc = "LAN8507268IA"; string uuid = "7028573d-5a18-4331-8285-cd97b156c901"; var response = await cancelation.CancelarByCSDAsync(csdBase64, keyBase64, rfc, password, uuid); if (response.status != "error") { //acuse de cancelación Console.WriteLine(response.data.acuse); } else { Console.WriteLine(response.message); Console.WriteLine(response.messageDetail); } Assert.True(response.data.acuse != null && response.status == "success"); }
public virtual void Dispose() { Cancelation?.Cancel(); }
private void BeginAction() { if (Busy) throw new InvalidOperationException("The core is already busy."); cancelation = new Cancelation(); cancelation.Canceled += CancelationCanceledHandler; Busy = true; ActionState = ActionState.BusyWithoutErrors; }
public bool CancelBooking(Cancelation cancelation) { IDbConnection conn = null; IDbTransaction tran = null; try { using (conn = this.GetConnection()) { tran = conn.BeginTransaction(); IDbCommand cmd1 = conn.CreateCommand(); cmd1.Transaction = tran; cmd1.CommandText = "insert into bookingcancelations values (@bookingid, @cancelationdate, @refoundamount)"; cmd1.CommandType = CommandType.Text; IDbDataParameter p1 = cmd1.CreateParameter(); p1.ParameterName = "@bookingid"; p1.Value = cancelation.BookingID; cmd1.Parameters.Add(p1); IDbDataParameter p2 = cmd1.CreateParameter(); p2.ParameterName = "@cancelationdate"; p2.Value = cancelation.CancelationDate; cmd1.Parameters.Add(p2); IDbDataParameter p3 = cmd1.CreateParameter(); p3.ParameterName = "@refoundamount"; p3.Value = cancelation.RefundAmount; cmd1.Parameters.Add(p3); cmd1.ExecuteNonQuery(); IDbCommand cmd2 = conn.CreateCommand(); cmd2.Transaction = tran; cmd2.CommandText = "update bookings set iscanceled = 1 where bookingid = @bookingid"; cmd2.CommandType = CommandType.Text; IDbDataParameter p4 = cmd2.CreateParameter(); p4.ParameterName = "@bookingid"; p4.Value = cancelation.BookingID; cmd2.Parameters.Add(p4); cmd2.ExecuteNonQuery(); ExecuteStoredProcedure(conn, tran, "DeductHappyMilesForCancellation", new SqlParameter() { ParameterName = "@bookingrefno", DbType = DbType.String, Value = cancelation.BookingReferenceNo }, new SqlParameter() { ParameterName = "@username", DbType = DbType.String, Value = cancelation.UserName } ); tran.Commit(); conn.Close(); return(true); } } catch (SqlException sqlex) { RollbackTransactionAndCloseConnection(tran); throw new BookingDAOException("Unable to cancel the bookings", sqlex); } catch (Exception ex) { RollbackTransactionAndCloseConnection(tran); throw new BookingDAOException("Unable to cancel the bookings", ex); } }
private static void Main(string[] args) { Cancelation.CancelationExample(); }
private void EndAction(bool success) { Busy = false; cancelation.Canceled -= CancelationCanceledHandler; ActionState = cancelation.IsCanceled ? ActionState.Canceled : success ? ActionState.FinishedWithoutErrors : ActionState.FinishedWithErrors; cancelation = null; }
public WSHelperTest() { transmitRequest = new Stamp(Constants.WS_TEST_ENDPOINT, Constants.WS_TEST_TOKEN); cancelationRequest = new Cancelation(Constants.WS_TEST_ENDPOINT, Constants.WS_TEST_USER, Constants.WS_TEST_PASS); }
private static Task ExecuteCancelation(Cancelation cancelation, MessageRepository messageRepository, Scheduler scheduler) { scheduler.CancelJob(cancelation.CancellationKey); return(messageRepository.CancelMessage(cancelation.CancellationKey)); }
public Task<ActionResult> RunTaskAsync(BenchTaskForOne action, string appId, Action<TaskInfo> notify, Cancelation cancelation) { return Task.Run(() => { return action(this, appId, CatchTaskInfos(notify), cancelation); }); }