Example #1
0
        static void Main(string[] args)
        {
            Console.WriteLine("***** Fun with Extension Methods *****\n");

            #region Display defining assembly extension
            // The int has assumed a new identity!
            int myInt = 12345678;
            myInt.DisplayDefiningAssembly();

            // So does this DataSet!
            System.Data.DataSet d = new System.Data.DataSet();
            d.DisplayDefiningAssembly();

            // And this MediaPlayer!
            System.Media.SoundPlayer sp = new System.Media.SoundPlayer();
            sp.DisplayDefiningAssembly();

            // Remember!  Extension methods can be called as normal static
            // methods.
            MyExtensions.DisplayDefiningAssembly(false);
            #endregion

            #region New integer functionality
            // Use new integer functionality.
            Console.WriteLine("Value of myInt: {0}", myInt);
            Console.WriteLine("Reversed digits of myInt: {0}", myInt.ReverseDigits());
            myInt.Foo();
            myInt.Foo("Ints that Foo?  Who would have thought it!");
            #endregion

            UseCar();
            Console.ReadLine();
        }
Example #2
0
        static void Main(string[] args)
        {
            int myint = 12345678;

            myint.DisplayDefiningAssembly(); //notice the method can be used directly , this is the case with all the static methods.
            System.Media.SoundPlayer sp = new System.Media.SoundPlayer();
            sp.DisplayDefiningAssembly();
            MyExtensions.DisplayDefiningAssembly(123);
            int a = MyExtensions.ReverseDigits(123);

            Console.WriteLine(a);
            Console.ReadKey();
        }
Example #3
0
        public static void Main(string[] args)
        {
            const string para   = "This is the c# learning presentation. Azmeena is the presenter.";
            var          result = para.WordCount();

            Console.WriteLine(result);

            var meggi = new Person {
                FirstName = "Mariana", Capacity = 10
            };

            meggi.Walk();

            var jesica = new Person {
                FirstName = "Jessica"
            };

            MyExtensions.Walk(jesica); //another way

            Console.Read();
        }
Example #4
0
        static void Main(string[] args)
        {
            Console.WriteLine("***** Fun with Extension Methods *****\n");
            // The int has assumed a new identity!
            int myInt = 12345678;

            myInt.DisplayDefiningAssembly();
            // So has the DataSet!
            System.Data.DataSet d = new System.Data.DataSet();
            d.DisplayDefiningAssembly();
            // And the SoundPlayer!
            System.Media.SoundPlayer sp = new System.Media.SoundPlayer();
            sp.DisplayDefiningAssembly();
            // Use new integer functionality.
            Console.WriteLine("Value of myInt: {0}", myInt);
            // Pre-extensions era
            Console.WriteLine("Reversed digits of myInt: {0}", MyExtensions.Reverse(myInt));
            // Calling extension method
            Console.WriteLine("Reversed digits of myInt: {0}", myInt.ReverseDigits());

            Console.ReadLine();
        }
Example #5
0
        /*[WebMethod(
         *  Description =
         *      "Updates Passholder Details on SmartCitizen. Note that this does not automatically issue a new pass.")]
         *
         */
        private XmlDocument UpdatePassHolderDetails(int cardHolderId, string title, string forename, string surname, string dateOfBirth, string gender, string disabilitycategory)
        {
            XmlDocument responseDoc = new XmlDocument();

            try
            {
                responseDoc.Load(appDataPath + "CTSelfPassHolderUpdateResponse.xml");
            }
            catch (Exception ex)
            {
                if (log.IsErrorEnabled)
                {
                    log.Error("Could not load Response XML file:" + appDataPath + "CTSelfPassHolderUpdateResponse.xml");
                }
                throw ex;
            }
            UpdateCardholderData cardholderData = new UpdateCardholderData();

            cardholderData.Identifier = new RecordIdentifier()
            {
                CardholderID = cardHolderId
            };
            // map the input fields to the Citizen XML fragment...
            XElement citizenDataXElement = LoadXmlFragment("WCCSelfUpdateCardholderFragment.xml");

            /*
             * Item IDs:
             * 68: Title
             * 3: Forename
             * 4: Surname
             * 5: Date of Birth (yyyy-mm-dd hh:mm:ss)
             * 7: Gender (1=M, 2=F, 0=Trans, 9=Unknown)
             * 21: Display Name
             */
            DateTime parsedDateTime = DateTime.Parse(dateOfBirth);
            DateTime testingTryParse;

            DateTime.TryParse(dateOfBirth, out testingTryParse);

            citizenDataXElement.XPathSelectElement("/Services/Service[@name='CCDA']/Item[@itemId='68']").Value
                = MyExtensions.ToTitleCase(title);
            citizenDataXElement.XPathSelectElement("/Services/Service[@name='CCDA']/Item[@itemId='3']").Value
                = MyExtensions.ToTitleCase(forename);
            citizenDataXElement.XPathSelectElement("/Services/Service[@name='CCDA']/Item[@itemId='4']").Value
                = surname.ToSurnameTitleCase();
            citizenDataXElement.XPathSelectElement("/Services/Service[@name='CCDA']/Item[@itemId='5']").Value
                = parsedDateTime.ToString("yyyy-MM-dd 00:00:00");
            citizenDataXElement.XPathSelectElement("/Services/Service[@name='CCDA']/Item[@itemId='21']").Value
                = MyExtensions.ToTitleCase(forename) + " " + surname.ToSurnameTitleCase();

            int genderInt = 9;

            switch (gender.ToUpper()[0])
            {
            case 'M':
                genderInt = 1;
                break;

            case 'F':
                genderInt = 2;
                break;

            default:
                genderInt = 9;
                break;
            }

            citizenDataXElement.XPathSelectElement("/Services/Service[@name='CCDA']/Item[@itemId='7']").Value
                = genderInt.ToString();
            cardholderData.CitizenData = citizenDataXElement;

            if (!String.IsNullOrEmpty(disabilitycategory))
            {
                XElement disabilityServiceXElement =
                    XElement.Parse(
                        "<Service name=\"\" serviceId=\"\"><Item itemId=\"\" dtype=\"lookup\"></Item></Service>");
                XElement disabilityLookupFragment  = LoadXmlFragment("WCC_SC_DisabilityServiceXRef.xml");
                XElement selectedDisabilityElement = disabilityLookupFragment.XPathSelectElement("/DisabilityFragment[@disabilityCategory='" + disabilitycategory + "']");
                disabilityServiceXElement.SetAttributeValue("name", selectedDisabilityElement.XPathSelectElement("ServiceName").Value);
                disabilityServiceXElement.SetAttributeValue("serviceId", selectedDisabilityElement.XPathSelectElement("ServiceId").Value);
                disabilityServiceXElement.XPathSelectElement("Item").SetAttributeValue("itemId", selectedDisabilityElement.XPathSelectElement("ItemId").Value);
                disabilityServiceXElement.XPathSelectElement("Item").Value = "Renew";
                //selectedDisabilityElement.XPathSelectElement("PermanentLookupId").Value;
                citizenDataXElement.XPathSelectElement("/Services").Add(disabilityServiceXElement);
            }

            try
            {
                if (log.IsDebugEnabled)
                {
                    log.Debug("Update Pass Data Request:");
                }
                if (log.IsDebugEnabled)
                {
                    log.Debug(SerializeObj(cardholderData));
                }
                _cmClient.UpdateCardholder(cardholderData);
                if (log.IsInfoEnabled)
                {
                    log.Info("Passholder ID:" + cardHolderId + "updated.");
                }
                responseDoc.SelectSingleNode("PassHolderUpdate/RequestStatus").InnerText = "Success";
            }
            catch (Exception ex)
            {
                if (log.IsErrorEnabled)
                {
                    log.Error("Error updating Card Holder Data for cardholder ID:" + cardHolderId + " - " + ex.Message);
                }
                responseDoc.SelectSingleNode("PassHolderUpdate/RequestStatus").InnerText = "Failure";
            }


            return(responseDoc);
        }