public void SetReportInitialParam(IReportForm ReportView, ref DataGridView inDataGrid, ref ComboBox inComboBox)
        {
            inComboBox.Items.Add("događaju");
            inComboBox.Items.Add("lokaciji");
            inComboBox.Items.Add("vremenu");
            inComboBox.SelectedItem = inComboBox.Items[0];

            inDataGrid.Rows.Clear();

            List <Bill> bills = BillController.getInstance().GetBillList();
            Dictionary <string, float> eventProfit = new Dictionary <string, float>();
            Dictionary <string, int>   soldTickets = new Dictionary <string, int>();

            foreach (Bill bill in bills)
            {
                if (!eventProfit.ContainsKey(bill.PaidEvent.Name))
                {
                    eventProfit.Add(bill.PaidEvent.Name, 0);
                }

                if (!soldTickets.ContainsKey(bill.PaidEvent.Name))
                {
                    soldTickets.Add(bill.PaidEvent.Name, 0);
                }

                eventProfit[bill.PaidEvent.Name] += bill.Value();
                soldTickets[bill.PaidEvent.Name] += bill.TicketAmount;
            }

            int count;

            foreach (KeyValuePair <string, float> entry in eventProfit)
            {
                count = inDataGrid.Rows.Add();
                inDataGrid.Rows[count].Cells[0].Value = entry.Key;
                inDataGrid.Rows[count].Cells[1].Value = entry.Value.ToString() + " kn";
                inDataGrid.Rows[count].Cells[2].Value = soldTickets[entry.Key].ToString();
            }
            inDataGrid.DefaultCellStyle.WrapMode = DataGridViewTriState.True;
        }
        public void GenerateReport(IReportForm ReportView, ref DataGridView inDataGrid, string inText)
        {
            inDataGrid.Rows.Clear();

            List <Bill> bills = BillController.getInstance().GetBillList();
            int         count;

            if (inText == "događaju")
            {
                Dictionary <string, float> eventProfit = new Dictionary <string, float>();
                Dictionary <string, int>   soldTickets = new Dictionary <string, int>();
                foreach (Bill bill in bills)
                {
                    if (!eventProfit.ContainsKey(bill.PaidEvent.Name))
                    {
                        eventProfit.Add(bill.PaidEvent.Name, 0);
                    }

                    if (!soldTickets.ContainsKey(bill.PaidEvent.Name))
                    {
                        soldTickets.Add(bill.PaidEvent.Name, 0);
                    }

                    eventProfit[bill.PaidEvent.Name] += bill.Value();
                    soldTickets[bill.PaidEvent.Name] += bill.TicketAmount;
                }

                foreach (KeyValuePair <string, float> entry in eventProfit)
                {
                    count = inDataGrid.Rows.Add();
                    inDataGrid.Rows[count].Cells[0].Value = entry.Key;
                    inDataGrid.Rows[count].Cells[1].Value = entry.Value.ToString() + " kn";
                    inDataGrid.Rows[count].Cells[2].Value = soldTickets[entry.Key].ToString();
                }
            }
            else if (inText == "lokaciji")
            {
                Dictionary <string, float> locationProfit = new Dictionary <string, float>();
                Dictionary <string, int>   soldTickets    = new Dictionary <string, int>();
                foreach (Bill bill in bills)
                {
                    if (!locationProfit.ContainsKey(bill.PaidEvent.Location.Name))
                    {
                        locationProfit.Add(bill.PaidEvent.Location.Name, 0);
                    }

                    if (!soldTickets.ContainsKey(bill.PaidEvent.Location.Name))
                    {
                        soldTickets.Add(bill.PaidEvent.Location.Name, 0);
                    }

                    locationProfit[bill.PaidEvent.Location.Name] += bill.Value();
                    soldTickets[bill.PaidEvent.Location.Name]    += bill.TicketAmount;
                }

                foreach (KeyValuePair <string, float> entry in locationProfit)
                {
                    count = inDataGrid.Rows.Add();
                    inDataGrid.Rows[count].Cells[0].Value = entry.Key;
                    inDataGrid.Rows[count].Cells[1].Value = entry.Value.ToString() + " kn";
                    inDataGrid.Rows[count].Cells[2].Value = soldTickets[entry.Key].ToString();
                }
            }
            else if (inText == "vremenu")
            {
                Dictionary <string, float> timeProfit  = new Dictionary <string, float>();
                Dictionary <string, int>   soldTickets = new Dictionary <string, int>();

                timeProfit.Add("0-6", 0);
                timeProfit.Add("6-12", 0);
                timeProfit.Add("12-18", 0);
                timeProfit.Add("18-24", 0);
                soldTickets.Add("0-6", 0);
                soldTickets.Add("6-12", 0);
                soldTickets.Add("12-18", 0);
                soldTickets.Add("18-24", 0);

                foreach (Bill bill in bills)
                {
                    if (bill.PayTime.Hour >= 0 && bill.PayTime.Hour < 6)
                    {
                        timeProfit["0-6"]  += bill.Value();
                        soldTickets["0-6"] += bill.TicketAmount;
                    }
                    else if (bill.PayTime.Hour >= 6 && bill.PayTime.Hour < 12)
                    {
                        timeProfit["6-12"]  += bill.Value();
                        soldTickets["6-12"] += bill.TicketAmount;
                    }
                    else if (bill.PayTime.Hour >= 12 && bill.PayTime.Hour < 18)
                    {
                        timeProfit["12-18"]  += bill.Value();
                        soldTickets["12-18"] += bill.TicketAmount;
                    }
                    else
                    {
                        timeProfit["18-24"]  += bill.Value();
                        soldTickets["18-24"] += bill.TicketAmount;
                    }
                }

                foreach (KeyValuePair <string, float> entry in timeProfit)
                {
                    count = inDataGrid.Rows.Add();
                    inDataGrid.Rows[count].Cells[0].Value = entry.Key + " h";
                    inDataGrid.Rows[count].Cells[1].Value = entry.Value.ToString() + " kn";
                    inDataGrid.Rows[count].Cells[2].Value = soldTickets[entry.Key].ToString();
                }
            }

            inDataGrid.DefaultCellStyle.WrapMode = DataGridViewTriState.True;
        }