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 ();
}