Beispiel #1
0
        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);
            }
        }
Beispiel #2
0
        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");
        }
Beispiel #3
0
        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");
        }
Beispiel #4
0
        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");
        }
Beispiel #5
0
        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");
        }
Beispiel #6
0
        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);
        }
Beispiel #7
0
        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;
            }
        }
Beispiel #9
0
        /// <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);
            }
        }
Beispiel #10
0
        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();
 }
Beispiel #12
0
 private void BeginAction()
 {
     if (Busy) throw new InvalidOperationException("The core is already busy.");
     cancelation = new Cancelation();
     cancelation.Canceled += CancelationCanceledHandler;
     Busy = true;
     ActionState = ActionState.BusyWithoutErrors;
 }
Beispiel #13
0
        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);
            }
        }
Beispiel #14
0
 private static void Main(string[] args)
 {
     Cancelation.CancelationExample();
 }
Beispiel #15
0
 private void EndAction(bool success)
 {
     Busy = false;
     cancelation.Canceled -= CancelationCanceledHandler;
     ActionState = cancelation.IsCanceled
         ? ActionState.Canceled
         : success
             ? ActionState.FinishedWithoutErrors
             : ActionState.FinishedWithErrors;
     cancelation = null;
 }
Beispiel #16
0
 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));
 }
Beispiel #18
0
 public Task<ActionResult> RunTaskAsync(BenchTaskForOne action, string appId,
     Action<TaskInfo> notify, Cancelation cancelation)
 {
     return Task.Run(() =>
     {
         return action(this, appId, CatchTaskInfos(notify), cancelation);
     });
 }