Making a calculator in Windows Application using Web Service


Introduction

I am creating a web service for performing arithmetic operations or say a calculator. Then, I will use this service in a windows based application to perform arithmetic operations like a calculator. So, let's create a web service. Follow the given steps.

  • Create new project
  • Select ASP.NET Empty Web Application
  • Give a name to your project and click ok button
  • Go to Solution Explorer and right click at your project
  • Select Add New Item and select Web Service application
  • Give it name and click ok button 
Now replace the code on .asmx.cs page with the following code.

using System;
using
System.Collections.Generic;
using
System.Linq;
using
System.Web;
using
System.Web.Services;

namespace
calc
{
    /// <summary>
    /// Summary description for CalcWebService
    /// </summary>
    [WebService(Namespace = "mycalculatorexample.org")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    // To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
    // [System.Web.Script.Services.ScriptService]
    public class CalcWebService : System.Web.Services.WebService
    {
       [WebMethod]
        public string calculate(string first, string second, char sign)
        {
            string result;
            switch (sign)
            {
                case '+':
                    {
                        result = (Convert.ToInt32(first) + Convert.ToInt32(second)).ToString();
                        break;
                    }
                case '-':
                    {
                        result = (Convert.ToInt32(first) - Convert.ToInt32(second)).ToString();
                        break;
                    }
                case '*':
                    {
                        result = (Convert.ToInt32(first) * Convert.ToInt32(second)).ToString();
                        break;
                    }
                case '/':
                    {
                        result = (Convert.ToInt32(first) / Convert.ToInt32(second)).ToString();
                        break;
                    }
                case '%':
                    {
                        result = (Convert.ToInt32(first) % Convert.ToInt32(second)).ToString();
                        break;
                    }
                default:
                    result = "Invalid";
                    break;
            }
            return result;
        }
    }
}
 
Run the application.

Output:


Go to test page by clicking at "calculate" -> do the entry and click the "invoke" button.
 

It will show the result like the below figure.( After clicking the "invoke" button)



Similarly, you can perform different operations like addition, subtraction, multiplication, division and modulo division. Now we consume this web service into window form application.

Create a windows application and add a service reference ( You can get help here ). After adding the reference, go to the design page and arrange the UI controls like in the below figure.



Now, write the following code in the .cs file.

using System;
using
System.Collections.Generic;
using
System.ComponentModel;
using
System.Data;
using
System.Drawing;
using
System.Linq;
using
System.Text;
using
System.Windows.Forms;
 

namespace
Calculator
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        string i, j;
        static char c;
        private void btnthree_Click(object sender, EventArgs e)
        {
            textBox1.Text += Convert.ToString(3);
        }
        private void btnone_Click(object sender, EventArgs e)
        {
            textBox1.Text += Convert.ToString(1);
        }
        private void btntwo_Click(object sender, EventArgs e)
       {
            textBox1.Text += Convert.ToString(2);
        } 
        private void btnfour_Click(object sender, EventArgs e)
        {
            textBox1.Text += Convert.ToString(4);
        } 
        private void btnfive_Click(object sender, EventArgs e)
        {
            textBox1.Text += Convert.ToString(5);
        } 
        private void btnsix_Click(object sender, EventArgs e)
        {
            textBox1.Text += Convert.ToString(6);
        } 
        private void btnseven_Click(object sender, EventArgs e)
        {
            textBox1.Text += Convert.ToString(7);
        } 
        private void btneight_Click(object sender, EventArgs e)
        {
            textBox1.Text += Convert.ToString(8);
        } 
        private void btnnine_Click(object sender, EventArgs e)
        {
            textBox1.Text += Convert.ToString(9);
        } 
        private void btnzero_Click(object sender, EventArgs e)
        {
            textBox1.Text += Convert.ToString(0);
        } 
        private void btnplus_Click(object sender, EventArgs e)
        {
            i = textBox1.Text;
            textBox1.Text = "";
            c = '+';
        }
        private void btnminuse_Click(object sender, EventArgs e)
        {
            i = textBox1.Text;
            textBox1.Text = "";
            c = '-';
        }
        private void btnmultiply_Click(object sender, EventArgs e)
        {
           i = textBox1.Text;
            textBox1.Text = "";
            c = '*';
        }
        private void btndivide_Click(object sender, EventArgs e)
        {
            i = textBox1.Text;
            textBox1.Text = "";
            c = '/';
        }
        private void btnmodulo_Click(object sender, EventArgs e)
        {
            i = textBox1.Text;
            textBox1.Text = "";
            c = '%';
        }
        private void btnequal_Click(object sender, EventArgs e)
        {
            j = textBox1.Text;
            calclocalhost.CalcWebService obj = new calclocalhost.CalcWebService();
            textBox1.Text = obj.calculate(i, j, c);
        }
    }
}

Run the application.

Output:



You can work as calculator.


Similar Articles