protected virtual void EPEquipmentTimeCard_RowSelected(PXCache sender, PXRowSelectedEventArgs e) { EPEquipmentTimeCard row = e.Row as EPEquipmentTimeCard; if (row == null) { return; } RecalculateTotals(row); }
protected virtual void RecalculateTotals(EPEquipmentTimeCard timecard) { if (timecard == null) { throw new ArgumentNullException(); } PXSelectBase <EPEquipmentDetail> select = new PXSelect <EPEquipmentDetail, Where <EPEquipmentDetail.timeCardCD, Equal <Required <EPEquipmentTimeCard.timeCardCD> > > >(this); int setup = 0; int run = 0; int suspend = 0; int setupBillable = 0; int runBillable = 0; int suspendBillable = 0; foreach (EPEquipmentDetail detail in select.Select(timecard.TimeCardCD)) { setup += detail.SetupTime.GetValueOrDefault(); run += detail.RunTime.GetValueOrDefault(); suspend += detail.SuspendTime.GetValueOrDefault(); if (detail.IsBillable == true) { setupBillable += detail.SetupTime.GetValueOrDefault(); runBillable += detail.RunTime.GetValueOrDefault(); suspendBillable += detail.SuspendTime.GetValueOrDefault(); } } timecard.TimeSetupCalc = setup; timecard.TimeRunCalc = run; timecard.TimeSuspendCalc = suspend; timecard.TimeBillableSetupCalc = setupBillable; timecard.TimeBillableRunCalc = runBillable; timecard.TimeBillableSuspendCalc = suspendBillable; List <EPEquipmentDetail> details = new List <EPEquipmentDetail>(); foreach (EPEquipmentDetail detail in select.Select(timecard.TimeCardCD)) { details.Add(detail); } }