Ejemplo n.º 1
0
        private void UpdateCustTotals(ListViewTotals tot)
        {
            foreach (ListViewItem item in lvTime.Items)
            {
                if (item.Text == tot.custName)
                {
                    item.Selected = true;
                    break;
                }
            }

            Font f = new Font(lvTime.Items[0].SubItems[0].Font, FontStyle.Bold);

            lvTime.SelectedItems[0].UseItemStyleForSubItems             = false;
            lvTime.SelectedItems[0].SubItems[(int)DayIndex.RegTot].Text = tot.RegHours.ToString();
            lvTime.SelectedItems[0].SubItems[(int)DayIndex.RegTot].Font = f;
            if (tot.RegHours > 40.0M)
            {
                lvTime.SelectedItems[0].SubItems[(int)DayIndex.RegTot].ForeColor = Color.Red;
            }
            lvTime.SelectedItems[0].SubItems[(int)DayIndex.OTTot].Text = tot.OTHours.ToString();
            lvTime.SelectedItems[0].SubItems[(int)DayIndex.OTTot].Font = f;
            lvTime.SelectedItems[0].SubItems[(int)DayIndex.Total].Text = (tot.OTHours + tot.RegHours).ToString();
            lvTime.SelectedItems[0].SubItems[(int)DayIndex.Total].Font = f;
        }
Ejemplo n.º 2
0
        private void FillTimeGrid(List <TimesheetEntryGrid> gridRows)
        {
            List <TimesheetEntryGrid> custItems = gridRows.GroupBy(x => new { x.Customer }).Select(x => x.First()).ToList();

            foreach (TimesheetEntryGrid row in custItems)
            {
                AddListView(row);
            }
            custItems = gridRows.GroupBy(x => new { x.Customer, x.PayrollItem, x.WorkDay }).Select(x => x.First()).ToList();
            List <ListViewTotals> listGrandTotals = new List <ListViewTotals>();

            foreach (TimesheetEntryGrid row in custItems)
            {
                ListViewTotals listTotals = UpdateListView(row);
                listGrandTotals.Add(listTotals);
            }

            List <ListViewTotals> custTotalList = listGrandTotals.GroupBy(x => new { x.custName }).Select(x => x.First()).ToList();

            foreach (var tot in custTotalList)
            {
                ListViewTotals custTotals = new ListViewTotals();
                custTotals.custName = tot.custName;
                custTotals.RegHours = 0.0M;
                custTotals.OTHours  = 0.0M;
                List <ListViewTotals> dayList = listGrandTotals.Where(x => x.custName == tot.custName).ToList();
                foreach (var day in dayList)
                {
                    custTotals.RegHours += day.RegMon + day.RegTue + day.RegWed + day.RegThur + day.RegFri + day.RegSat + day.RegSun;
                    custTotals.OTHours  += day.OTMon + day.OTTue + day.OTWed + day.OTThur + day.OTFri + day.OTSat + day.OTSun;
                }
                UpdateCustTotals(custTotals);
            }
            AddTotalsRow(listGrandTotals);
        }
Ejemplo n.º 3
0
        private void AddTotalsRow(List <ListViewTotals> listGrandTotals)
        {
            ListViewTotals dayTotals = new ListViewTotals();

            foreach (var total in listGrandTotals)
            {
                dayTotals.RegMon   += total.RegMon;
                dayTotals.RegHours += total.RegMon;
                dayTotals.OTMon    += total.OTMon;
                dayTotals.OTHours  += total.OTMon;
                dayTotals.RegTue   += total.RegTue;
                dayTotals.RegHours += total.RegTue;
                dayTotals.OTTue    += total.OTTue;
                dayTotals.OTHours  += total.OTTue;
                dayTotals.RegWed   += total.RegWed;
                dayTotals.RegHours += total.RegWed;
                dayTotals.OTWed    += total.OTWed;
                dayTotals.OTHours  += total.OTWed;
                dayTotals.RegThur  += total.RegThur;
                dayTotals.RegHours += total.RegThur;
                dayTotals.OTThur   += total.OTThur;
                dayTotals.OTHours  += total.OTThur;
                dayTotals.RegFri   += total.RegFri;
                dayTotals.RegHours += total.RegFri;
                dayTotals.OTFri    += total.OTFri;
                dayTotals.OTHours  += total.OTFri;
                dayTotals.RegSat   += total.RegSat;
                dayTotals.RegHours += total.RegSat;
                dayTotals.OTSat    += total.OTSat;
                dayTotals.OTHours  += total.OTSat;
                dayTotals.RegSun   += total.RegSun;
                dayTotals.RegHours += total.RegSun;
                dayTotals.OTSun    += total.OTSun;
                dayTotals.OTHours  += total.OTSun;
            }
            ListViewItem lvi = new ListViewItem("Totals");
            Font         f   = new Font(lvTime.Items[0].SubItems[0].Font, FontStyle.Bold);

            lvi.Font = f;
            lvi.SubItems.Add(dayTotals.RegMon.ToString());
            lvi.SubItems.Add(dayTotals.OTMon.ToString());
            lvi.SubItems.Add(dayTotals.RegTue.ToString());
            lvi.SubItems.Add(dayTotals.OTTue.ToString());
            lvi.SubItems.Add(dayTotals.RegWed.ToString());
            lvi.SubItems.Add(dayTotals.OTWed.ToString());
            lvi.SubItems.Add(dayTotals.RegThur.ToString());
            lvi.SubItems.Add(dayTotals.OTThur.ToString());
            lvi.SubItems.Add(dayTotals.RegFri.ToString());
            lvi.SubItems.Add(dayTotals.OTFri.ToString());
            lvi.SubItems.Add(dayTotals.RegSat.ToString());
            lvi.SubItems.Add(dayTotals.OTSat.ToString());
            lvi.SubItems.Add(dayTotals.RegSun.ToString());
            lvi.SubItems.Add(dayTotals.OTSun.ToString());
            lvi.SubItems.Add(dayTotals.RegHours.ToString());
            lvi.SubItems.Add(dayTotals.OTHours.ToString());
            lvi.SubItems.Add((dayTotals.OTHours + dayTotals.RegHours).ToString());
            lvTime.Items.Add(lvi);
        }
Ejemplo n.º 4
0
        private ListViewTotals UpdateListView(TimesheetEntryGrid row)
        {
            ListViewTotals listTotals = new ListViewTotals();

            listTotals.custName = row.Customer;

            foreach (ListViewItem item in lvTime.Items)
            {
                if (item.Text == row.Customer)
                {
                    item.Selected = true;
                    break;
                }
            }

            if (row.WorkDay == "Monday")
            {
                if (row.PayrollItem.Contains("RG"))
                {
                    lvTime.SelectedItems[0].SubItems[(int)DayIndex.MonReg].Text = row.RegHours.ToString();
                    listTotals.RegMon += row.RegHours;
                }
                else
                {
                    lvTime.SelectedItems[0].SubItems[(int)DayIndex.MonOT].Text = row.OTHours.ToString();
                    listTotals.OTMon += row.OTHours;
                }
            }

            if (row.WorkDay == "Tuesday")
            {
                if (row.PayrollItem.Contains("RG"))
                {
                    lvTime.SelectedItems[0].SubItems[(int)DayIndex.TueReg].Text = row.RegHours.ToString();
                    listTotals.RegTue += row.RegHours;
                }
                else
                {
                    lvTime.SelectedItems[0].SubItems[(int)DayIndex.TueOT].Text = row.OTHours.ToString();
                    listTotals.OTTue += row.OTHours;
                }
            }

            if (row.WorkDay == "Wednesday")
            {
                if (row.PayrollItem.Contains("RG"))
                {
                    lvTime.SelectedItems[0].SubItems[(int)DayIndex.WedReg].Text = row.RegHours.ToString();
                    listTotals.RegWed += row.RegHours;
                }
                else
                {
                    lvTime.SelectedItems[0].SubItems[(int)DayIndex.WedOT].Text = row.OTHours.ToString();
                    listTotals.OTWed += row.OTHours;
                }
            }

            if (row.WorkDay == "Thursday")
            {
                if (row.PayrollItem.Contains("RG"))
                {
                    lvTime.SelectedItems[0].SubItems[(int)DayIndex.ThurReg].Text = row.RegHours.ToString();
                    listTotals.RegThur += row.RegHours;
                }
                else
                {
                    lvTime.SelectedItems[0].SubItems[(int)DayIndex.ThurOT].Text = row.OTHours.ToString();
                    listTotals.OTThur += row.OTHours;
                }
            }

            if (row.WorkDay == "Friday")
            {
                if (row.PayrollItem.Contains("RG"))
                {
                    lvTime.SelectedItems[0].SubItems[(int)DayIndex.FriReg].Text = row.RegHours.ToString();
                    listTotals.RegFri += row.RegHours;
                }
                else
                {
                    lvTime.SelectedItems[0].SubItems[(int)DayIndex.FriOT].Text = row.OTHours.ToString();
                    listTotals.OTFri += row.OTHours;
                }
            }

            if (row.WorkDay == "Saturday")
            {
                if (row.PayrollItem.Contains("RG"))
                {
                    lvTime.SelectedItems[0].SubItems[(int)DayIndex.SatReg].Text = row.RegHours.ToString();
                    listTotals.RegSat += row.RegHours;
                }
                else
                {
                    lvTime.SelectedItems[0].SubItems[(int)DayIndex.SatOT].Text = row.OTHours.ToString();
                    listTotals.OTSat += row.OTHours;
                }
            }

            if (row.WorkDay == "Sunday")
            {
                if (row.PayrollItem.Contains("RG"))
                {
                    lvTime.SelectedItems[0].SubItems[(int)DayIndex.SunReg].Text = row.RegHours.ToString();
                    listTotals.RegSun += row.RegHours;
                }
                else
                {
                    lvTime.SelectedItems[0].SubItems[(int)DayIndex.SunOT].Text = row.OTHours.ToString();
                    listTotals.OTSun += row.OTHours;
                }
            }


            return(listTotals);
        }