Skip to main content

WCF Exercise


Scenario
Ultimate Lottery and Gaming (ULG) wants to build a WCF application that allows the client application at the ticket vendor to retrieve winning number of a given lottery draw. 

Task 1:
Create a WCF service that exposes a method called GetWinningNo that takes a string parameter and returns an object of type Draw. Use the following two partially completed classes: 

    public class Draw
    {
        public string Id { get; set; }
        public int [] WinningNo { get; set; } 
        public double PoolAmt { get; set; }
    }


    public class LottoSrv
    {
        Dictionary<string, Draw> drawList = new Dictionary<string, Draw>();

        public LottoSrv()
        {
            int [] w1 = { 1, 2, 3, 4, 5, 6, 7 };

            drawList.Add("649-29jun16",
                new Draw(){Id="649-29jun16",WinningNo = w1, PoolAmt=1000000});
            drawList.Add("649-25jun16",
                new Draw() { Id = "649-25jun16", WinningNo = w1, PoolAmt = 1200000 });
        }

        public Draw GetWinningNo(string drawId)
        {
            return drawList[drawId];
        }
    }

Note: GetWinningNo() is the method that needs to be exposed to the client. 

Task 2:
Host the service that you created in Task 1, in a console application.

Task 3:
Create client that consumes the service exposed by the Host in Task 2. Use the partially completed code given below:

        static void Main(string[] args)
        {
         
            Draw d1 = client.GetWinningNo("649-25jun16");

            Console.Write("ID: {0} \nPool Amount: {1} \nWinning No: ", d1.Id, d1.PoolAmt );
            foreach (var item in d1.WinningNo)
            {
                Console.Write(item + " ");
            }

            Console.ReadLine();
        }

Test to ensure that the solution works as shown below: 










Comments

Popular posts from this blog

CUMIPMT and CUMPRINC function

CUMIPMT Cumulative interest payment function allows you to calculate the interest paid for a loan or from an investment from period A to period B. When getting a loan, CUMIPMT function can be used to calculate the total amount of interest paid in the first five months or from period 12 to period 20. A period can be a month, a week or two week. Loan Amount : 350,000.00 APR: 4.5% Down payment: 0.00 Years: 25 Payment per year: 12 From the above data, we can calculate the following: No of Period: 25 × 12 = 300 Periodic Rate: 4.5/12 = 0.375% Here is how you will substitute these values into the function. = CUMIPMT (periodic rate, No of period, vehicle price, start period, end period,  ) = CUMIPMT (0.375, 300, 350000, 1, 5, 0) In an excel worksheet, we use cell address instead of actual values as shown below: Here is the formula view of the worksheet: CUMPRINC Another related function is CUMPRINC. CUMPRINC function is used to calculate cumul

Excel PMT Function

PMT function is very useful for calculating monthly payment required to payback a loan or mortgage at a fixed rate. This function require a minimum of three inputs, periodic rate, number of periods, present value or the loan amount. Here is a simple example. Home Loan: 350,000.00 Interest rate: 4.5% Number of years to repay the loan: 25 Note: To calculate monthly payment, we need to find the monthly rate and number of months as shown above. Then it is simply a matter of substituting the values into the payment function, as shown in the formula view below.

BCG's Brand Advocacy Index

The Boston Consulting Group's (BCG) Brand Advocacy Index (BAI) is a metric developed to help companies measure the degree of customer advocacy for their brands. BAI focuses on the likelihood of customers to recommend a brand to others, which is a powerful indicator of brand strength and customer loyalty. Unlike other customer satisfaction or loyalty metrics, BAI emphasizes the importance of customer referrals and word-of-mouth marketing. BAI is calculated based on a survey where customers are asked about their willingness to recommend a brand to their friends, family, or colleagues. The responses are then used to compute a score, which ranges from -100 to 100. A higher BAI score indicates that a brand has more advocates who are likely to recommend the brand to others, while a lower score suggests that the brand has fewer advocates or even a higher number of detractors. BCG's research has shown that companies with higher BAI scores tend to experience higher growth rates and bett