private void LoadCasovi(MojaKursInstancaProsireniModel result)
        {
            gridCasovi.DataSource = result.Casovi.OrderBy(c => c.DatumVrijemeOdrzavanja).ToList();
            gridCasovi.Columns[nameof(CasModel.Id)].Visible     = false;
            gridCasovi.Columns[nameof(CasModel.Opis)].Visible   = false;
            gridCasovi.Columns[nameof(CasModel.Odrzan)].Visible = false;
            gridCasovi.Columns[nameof(CasModel.DatumVrijemeOdrzavanja)].HeaderText   = "Vrijeme održavanja";
            gridCasovi.Columns[nameof(CasModel.DatumVrijemeOdrzavanja)].DisplayIndex = 1;
            gridCasovi.Columns[nameof(CasModel.Lokacija)].DisplayIndex = 2;

            //below is header cell for each row with count number
            if (gridCasovi.Columns["Number"] == null)
            {
                DataGridViewTextBoxColumn numberCell = new DataGridViewTextBoxColumn()
                {
                    Name         = "Number",
                    HeaderText   = "#",
                    DisplayIndex = 0,
                    Width        = 20
                };
                gridCasovi.Columns.Add(numberCell);
            }

            if (gridCasovi.Columns["Akcija"] == null)
            {
                MyDataGridViewButtonColumn buttonColumn = new MyDataGridViewButtonColumn()
                {
                    Name       = "Akcija",
                    HeaderText = "Akcija",
                    Text       = "Označi kao održan",
                    UseColumnTextForButtonValue = true,
                    Width = 150,
                };
                gridCasovi.CellClick += gridCasovi_OdrzanButton_CellClick;
                gridCasovi.Columns.Add(buttonColumn);
            }
            gridCasovi.Columns["Akcija"].DisplayIndex = 3;

            foreach (DataGridViewRow row in gridCasovi.Rows)
            {
                row.Cells[gridCasovi.Columns["Number"].Index].Value = row.Index + 1 /*gridCasovi.Rows.Count - row.Index*/;
                MyDataGridViewButtonCell buttonCell = (MyDataGridViewButtonCell)row.Cells[gridCasovi.Columns["Akcija"].Index];
                bool odrzan = bool.Parse((row.Cells[gridCasovi.Columns[nameof(CasModel.Odrzan)].Index].Value).ToString());
                if (odrzan)
                {
                    gridCasovi.Rows[row.Index].Cells[gridCasovi.Columns["Number"].Index].Style.BackColor = Color.Green;
                    buttonCell.Enabled = false;
                }
                else
                {
                    gridCasovi.Rows[row.Index].Cells[gridCasovi.Columns["Number"].Index].Style.BackColor = Color.Red;
                    buttonCell.Enabled = true;
                }
            }
        }
예제 #2
0
 public MojaKursInstancaProsireniModel GetInstanca(int id)
 {
     try
     {
         var result = _context.KursInstanca
                      .Include(ki => ki.Kurs)
                      .Include(ki => ki.Uposlenik)
                      .ThenInclude(u => u.ApplicationUser)
                      .Include(ki => ki.Casovi)
                      .Where(ki => ki.Id == id)
                      .FirstOrDefault();
         MojaKursInstancaProsireniModel returnModel = _mapper.Map <MojaKursInstancaProsireniModel>(MapKursInstancaToMojaKursInstanca(result));
         returnModel.Casovi = _mapper.Map <List <CasModel> >(result.Casovi);
         return(returnModel);
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message);
     }
 }
        private async Task LoadKurs()
        {
            try
            {
                var result = await _kursInstancaService.GetById <MojaKursInstancaProsireniModel>(id);

                instanca             = result;
                labelNazivKursa.Text = $"Kurs: { result.KursNaziv}";
                if (result.Pocetak.Date > DateTime.Now.Date)
                {
                    labelDatumPocetka.Text = $"Počinje: {result.Pocetak.Date.ToString("dd/MM/yyyy")}";
                }
                else
                {
                    labelDatumPocetka.Text = $"Započeo: {result.Pocetak.Date.ToString("dd/MM/yyyy")}";
                }
                if (result.PrijaveDo > DateTime.Now.Date)
                {
                    labelPrijaveDo.Text = $"Rok za prijave: {result.Pocetak.Date.ToString("dd/MM/yyyy")}";
                }
                else
                {
                    labelPrijaveDo.Text = $"Prijave: Završene";
                }
                if (result.KrajDate != null)
                {
                    btnPostavke.Enabled   = false;
                    labelZavrsio.Visible  = true;
                    labelZavrsio.Text     = $"Završio: {result.KrajDate}";
                    btnUgovoriCas.Visible = false;
                    btnZavrsiKurs.Visible = false;
                    if (result.IspitOrganizovan)
                    {
                        btnOrganizujIspit.Visible = true;
                        btnOrganizujIspit.Text    = "Pregled ispita";
                    }
                    else
                    {
                        btnOrganizujIspit.Visible = false;
                    }
                    labelStatus.Text = "Kurs završen";
                }
                else
                {
                    if (instanca.Pocetak.Date <= DateTime.Now)
                    {
                        btnPostavke.Enabled = false;
                    }
                    else
                    {
                        btnPostavke.Enabled = true;
                    }
                    labelZavrsio.Visible = false;
                    if (instanca.BrojCasova == instanca.Casovi.Count())
                    {
                        btnUgovoriCas.Visible = false;
                    }
                    else
                    {
                        btnUgovoriCas.Visible = true;
                    }
                    btnZavrsiKurs.Visible     = true;
                    btnOrganizujIspit.Visible = true;
                    if (result.IspitOrganizovan)
                    {
                        btnOrganizujIspit.Text = "Pregled ispita";
                    }
                    else
                    {
                        btnOrganizujIspit.Text = "Organizuj ispit iz ovog kursa";
                    }
                    if (result.PrijaveDo.Date > DateTime.Now.Date)
                    {
                        labelStatus.Text = "Prijave u toku";
                    }
                    else
                    {
                        labelStatus.Text = "Prijave završene - Kurs aktivan";
                    }
                }
                if (result.BrojCasova <= result.Casovi.Count)
                {
                    btnUgovoriCas.Enabled = false;
                }
                else
                {
                    btnUgovoriCas.Enabled = true;
                }
                labelStudenataNaKursu.Text = $"Broj klijenta na kursu: {result.BrojKlijenata}";
                var odrzano = result.Casovi.Where(c => c.Odrzan == true).Count();
                labelOdrzanoCasova.Text = $"Održano časova: {odrzano}";
                labelUkupnoCasova.Text  = $"Ukupno časova: {result.BrojCasova}";

                LoadCasovi(result);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }