bazar.Accrual.OnButtonFromMeterClicked C# (CSharp) Method

OnButtonFromMeterClicked() protected method

protected OnButtonFromMeterClicked ( object sender, EventArgs e ) : void
sender object
e System.EventArgs
return void
        protected void OnButtonFromMeterClicked(object sender, EventArgs e)
        {
            TreeIter iter;
            treeviewServices.Selection.GetSelected (out iter);

            PayFromMeter WinMeter = new PayFromMeter ();
            WinMeter.Price = (decimal) ServiceListStore.GetValue (iter, (int)ServiceCol.price);
            WinMeter.Fill (Convert.ToInt32 (ServiceListStore.GetValue (iter, (int)ServiceCol.id)),
                           (int) ServiceListStore.GetValue (iter, (int)ServiceCol.service_id),
                           Place_type_id,
                           Place_no,
                           ServiceListStore.GetValue (iter, (int)ServiceCol.units).ToString ());

            List<PendingMeterReading> currentPendingReadings;
            allPendingMeterReadings.TryGetValue (iter,out currentPendingReadings);
            if (currentPendingReadings != null) {
                WinMeter.SetPendingReadings (currentPendingReadings);
            }
            int result = WinMeter.Run ();
            if(result == (int) ResponseType.Ok)
            {
                if (allPendingMeterReadings.ContainsKey (iter))
                    allPendingMeterReadings.Remove (iter);
                allPendingMeterReadings.Add (iter, WinMeter.PendingReadings);
                ServiceListStore.SetValue (iter, (int)ServiceCol.price, WinMeter.Price);
                ServiceListStore.SetValue (iter, (int)ServiceCol.count, WinMeter.TotalCount);
                ServiceListStore.SetValue (iter, (int)ServiceCol.sum, WinMeter.Price * WinMeter.TotalCount);
                CalculateServiceSum ();
            }
            WinMeter.Destroy ();
        }