예제 #1
0
        protected void addpersonalbutton_Click(object sender, EventArgs e)
        {
            Debug.WriteLine("Adding a personel manager");
            if (personeelsledendropbox.Entries.Count > 0)
            {
                Debug.WriteLine("Value found");
                int p_persoon = Convert.ToInt32(personeelsledendropbox.Entries[0].Value);
                CumulatieDataContext cumul = new CumulatieDataContext();

                PA_Access pAdmin = new PA_Access();
                pAdmin.access = "00";
                pAdmin.p_persoon = p_persoon;
                pAdmin.wog = "HSD";

                Debug.WriteLine(p_persoon);

                cumul.PA_Accesses.InsertOnSubmit(pAdmin);
                cumul.SubmitChanges();

                personelAdmins.DataBind();
            }
        }
예제 #2
0
        protected void adddirectorbutton_Click(object sender, EventArgs e)
        {
            Debug.WriteLine("Adding a director");
            if (DirectorDropdownBox.Entries.Count > 0)
            {
                int p_persoon = Convert.ToInt32(DirectorDropdownBox.Entries[0].Value);
                CumulatieDataContext cumul = new CumulatieDataContext();

                Debug.WriteLine(p_persoon);

                PA_Access pAdmin = new PA_Access();
                pAdmin.access = "01";
                pAdmin.p_persoon = p_persoon;
                pAdmin.wog = OwgDropdownList.SelectedValue;

                cumul.PA_Accesses.InsertOnSubmit(pAdmin);
                cumul.SubmitChanges();

                Debug.WriteLine("Databinding");
                wogDirectors.DataBind();
            }
        }
예제 #3
0
        private bool isPersonelAdmin(string id)
        {
            _log.Debug("Is gebruiker een personeelsadministrator?");
            CumulatieDataContext c = new CumulatieDataContext();
            _log.Debug("Databasecontext aangemaakt");
            var perms = c.PA_Accesses.Where(p => p.p_persoon.Equals(id) && (p.access.Equals("00") || p.access.Equals("11"))).FirstOrDefault();
            _log.Debug("permissies opgehaald");

            if (perms == null)
            {
                _log.Debug("Geen personeelsadmin");
                return false;
            }

            return true;
        }
예제 #4
0
        private bool isDirector(string id)
        {
            _log.Debug("Is gebruiker een Directeur?");
            CumulatieDataContext c = new CumulatieDataContext();
            _log.Debug("Databasecontext aangemaakt");
            var perms = c.PA_Accesses.Where(p => p.p_persoon.Equals(id) && (p.access.Equals("01") || p.access.Equals("11"))).FirstOrDefault();
            _log.Debug("permissies opgehaald");
            if (perms == null)
            {
                Debug.WriteLine("No access found");
                return false;
            }

            return true;
        }
예제 #5
0
        protected void GenerateNevenRapportButton_Click(object sender, EventArgs e)
        {
            CumulatieDataContext c = new CumulatieDataContext();
            var acts = c.PA_NevenActiviteitens.Where(n => (n.pa_verwerkt.Equals(true) && (n.nieuw_jaar.Equals(false))));
            System.Text.StringBuilder csv = new System.Text.StringBuilder();
            csv.Append("Rijksregisternummer" + "|" + "Studiegebied" + "|" + "Naam" + "|" + "Statuut" + "|" + "Opdrachts%" + '|' + "Heeft Nevenactiviteit?" + '|'  + "Omschrijving" + '|' + "Locatie" + '|' + "Ambt" + '|' + "Omvang" + '|' + "Startdatum" + '|' + "Type Activiteit" +'|' + "Onderwijs groep" + '|' + "Motivatie" + "|" + "Motivatie Weigering");
            csv.Append("\r\n");
            foreach (var act in acts)
            {
                String naam = c.Persoons.Where(p => p.p_persoon.Equals(act.p_persoon)).FirstOrDefault().persnickname;
                String rr = c.Rijksregs.Where(r => r.p_persoon.Equals(act.p_persoon)).FirstOrDefault().rijksregnr;
                var personeel = c.Personeelslids.Where(p => p.p_persoon.Equals(act.p_persoon)).FirstOrDefault();
                String studiegebied = c.PA_Departs.Where(p => p.p_stamdepart.Equals(personeel.p_hfddepart)).FirstOrDefault().depcode.Trim();

                double assignement = 0.0f;
                int? hfdambt = 0;
                decimal? prev = 0;

                var assignements = c.PA_Opdrachts.Where(p => p.p_persoon.Equals(act.p_persoon) && (p.einddatum > DateTime.Today || p.einddatum.Equals(null)) && (p.verwijderd.Equals(false)) && (p.begindatum < DateTime.Today)).ToList();

                string statuut = "GEEN";
                if (assignements.Count > 0)
                {
                    foreach (var a in assignements)
                    {

                        if (hfdambt == null)
                        {
                            hfdambt = a.p_ambt;
                        }

                        if (a.opdracht > prev || prev == 0)
                        {
                            hfdambt = a.p_ambt;
                        }
                        assignement += Convert.ToDouble(a.tituren);
                        prev = a.opdracht;
                    }
                    var ambt = c.PA_Ambts.Where(p => p.p_ambt.Equals(hfdambt)).FirstOrDefault();

                    statuut = c.PA_Categories.Where(p => p.p_cat.Equals(ambt.p_cat)).FirstOrDefault().Categorie;
                }

                csv.Append(rr + '|' + studiegebied + "|" + naam + '|' + statuut + '|' + assignement + '|' + act.heeftNevenactiviteit + '|' +  act.omschrijving + '|' + act.locatie + '|' + act.ambt + '|' + act.omvang + '|' + act.startdatum + '|'  );
                if (act.ow_groep != null)
                {
                    csv.Append(  act.type_activiteit_op + '|' + act.ow_groep + '|' + act.motivatie + '|' + act.dep_head_motivatie);
                }
                else
                {
                    csv.Append("|" + " " + "|" + " ");
                }
                csv.Append("\r\n");
            }

            Response.Clear();
            Response.Buffer = true;
            Response.AddHeader("content-disposition", "attachement; filename=nevenactiviteiten.csv");
            Response.Charset = "";
            Response.ContentType = "application/text";
            Response.Output.Write(csv.ToString());
            Response.Flush();
            Response.End();
        }
        protected void AddOpActivityButton_Click(object sender, EventArgs e)
        {
            if (Page.IsValid)
            {
                ExtraActivity activity;
                System.Collections.Specialized.ListDictionary l = new System.Collections.Specialized.ListDictionary();
                if (OpOnderwijsActiviteit.Checked)
                {
                    activity = new ExtraActivity(OpOndNaam.Text, OpOndAdres.Text, OpOndOmvang.Text, OpOndNiveau.SelectedText, OpOndAmbt.Text, OpOndStartDate.SelectedDate.GetValueOrDefault());
                    l.Add("motivatie", OpOndMotivatie.Text);
                    l.Add("type_activiteit_op", "Onderwijs");
                    _log.Debug("Onderwijs nevenactiviteit met motivatie {0}", OpOndMotivatie.Text);
                    EmptyTextBoxes(new List<RadTextBox>() { OpOndNaam, OpOndAdres, OpOndOmvang, OpOndAmbt,OpOndMotivatie});
                    OpOndStartDate.Clear();
                }
                else if (OpPolitiekActiviteit.Checked)
                {
                    activity = new ExtraActivity(OpPolOmschrijving.Text, OpPolAdres.Text, OpPolOmvang.Text, startDate: OpOndStartDate.SelectedDate.GetValueOrDefault() );
                    l.Add("motivatie", OpPolMotivatie.Text);
                    l.Add("type_activiteit_op", "Politiek");
                    _log.Debug("Politieke nevenactiviteit met motivatie {0}", OpPolMotivatie.Text);
                    EmptyTextBoxes(new List<RadTextBox>() { OpPolOmschrijving, OpPolAdres, OpPolOmvang,OpPolMotivatie});
                    OpPolStartDate.Clear();
                }
                else if (OpZelfstandigeActiviteit.Checked)
                {
                    activity = new ExtraActivity(OpZelfOmschrijving.Text, OpZelfAdres.Text, OpZelfOmvang.Text, startDate: OpZelfStartDate.SelectedDate.GetValueOrDefault());
                    l.Add("motivatie", OpZelfMotivatie.Text);
                    l.Add("type_activiteit_op", "Zelfstandig");
                    _log.Debug("Zelfstandige nevenactiviteit met motivatie {0}", OpZelfMotivatie);
                    EmptyTextBoxes(new List<RadTextBox>() { OpZelfOmschrijving, OpZelfAdres, OpZelfOmvang, OpZelfMotivatie });
                    OpZelfStartDate.Clear();
                }
                else
                {
                    activity = new ExtraActivity(OpAndOmschrijving.Text, OpAndAdres.Text, OpAndOmvang.Text, startDate: OpAndStartDate.SelectedDate.GetValueOrDefault());
                    l.Add("motivatie", OpMotivatie.Text);
                    l.Add("type_activiteit_op", "Anders");
                    _log.Debug("Andere nevenactiviteit met motivatie {0}", OpMotivatie.Text);
                    EmptyTextBoxes(new List<RadTextBox>() { OpAndOmschrijving, OpAndAdres, OpAndOmvang,OpMotivatie });
                    OpAndStartDate.Clear();
                }

                _log.Info("ExtraActivity created");
                if (Convert.ToDouble(assignementField.Text) > 70.00)
                {
                    _log.Info("Heeft goedkeuring van departementshoofd nodig");
                    activity.heeftDepGoedkeuringNodig = true;
                }

                l.Add("p_persoon", p_persoon);
                l.Add("omschrijving", activity.description);
                l.Add("locatie", activity.address);
                l.Add("type", "OP");
                l.Add("ambt", activity.function);
                l.Add("omvang", activity.amount);
                l.Add("startdatum", activity.startDate);
                l.Add("dep_goedkeuring_nodig", activity.heeftDepGoedkeuringNodig);
                l.Add("heeftNevenactiviteit", true);
                CumulatieDataContext cumul = new CumulatieDataContext();

                var code = cumul.KDGNEVENACTIVITEITEN_OpledingPerWogs.Where(p => p.OnderwijsGroepNaam.Equals(departmentField.Text)).First();

                l.Add("ow_groep", code.OnderwijsGroepCode);
                LinqDataSource1.Insert(l);
                _log.Debug("Nevenactiviteit voor OP toegevoegd");
                OpNevenActiviteit.Items[0].Enabled = false;
               }
        }
        /// <summary>
        /// Initialises the page. In this case, get user data and determine visible elements based on previous entries.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void Page_Load(object sender, EventArgs e)
        {
            _log.Debug("Initializing database");
            List <ExtraActivity> activities = new List<ExtraActivity>();
            CumulatieDataContext cumul = new CumulatieDataContext();

            int eId = GetUserId();
            _log.Debug("User id opgehaald {0}", eId);
            var person = cumul.Persoons.Where(p => p.p_persoon.Equals(eId)).FirstOrDefault();

            if (person == null)
            {
                _log.Error("Geen persoon gevonden met dit id");
                throw new Exception("We konden je account niet vinden in informat. Gelieve contact op te nemen met de personeelsdienst.");
            } else
            {
                _log.Debug("Persoon opgehaald {0}", person.p_persoon);
            }

            pPersoonTextBox.Text = person.p_persoon.ToString();
            var registryContainer = cumul.Rijksregs.Where(p => p.p_persoon.Equals(person.p_persoon)).FirstOrDefault();

            if (registryContainer == null)
            {
                _log.Error("Geen rijksregisternummer gevonden");
                throw new Exception("We konden je rijksregisternummer niet vinden in informat. Gelieve contact op te nemen met de personeelsdienst.");
            }

            var registryNumber = registryContainer.rijksregnr;

            var personeel = cumul.Personeelslids.Where(p => p.p_persoon.Equals(person.p_persoon)).FirstOrDefault();

            if( personeel == null)
            {
                _log.Error("Kon geen personeelsaccount vinden");
                throw new Exception("We konden je personeelsaccount niet vinden, gelieve dit te melden aan de peronseelsdienst");
            }

            var departement = cumul.PA_Departs.Where(p => p.p_stamdepart.Equals(personeel.p_hfddepart)).FirstOrDefault();

            if (departement == null)
            {
                _log.Error("Geen departement gevonden");
                throw new Exception("We konden niet vinden tot welk departement je behoort, gelieve dit te melden bij de personeelsdienst.");
            }

            var assignements = cumul.PA_Opdrachts.Where(p => p.p_persoon.Equals(person.p_persoon) && ( p.einddatum > DateTime.Today || p.einddatum.Equals(null) ) && (p.verwijderd.Equals(false)) && (p.begindatum < DateTime.Today) ).ToList();
            double assignement = GetAssignementPercentage(assignements); //Zoek totaal opdrachtpercentage
            int? hfdambt = GetPrimaryFunction(assignements);

            _log.Debug("ambt opvragen voor hoofdambt {0}", hfdambt);
            var ambt = cumul.PA_Ambts.Where(p => p.p_ambt.Equals(hfdambt)).FirstOrDefault();
            var categorie = cumul.PA_Categories.Where(p => p.p_cat.Equals(ambt.p_cat)).FirstOrDefault();
            _log.Debug("Categorie is {0}", categorie);
            _log.Debug("Converting depcodes to correct format");
            var depcode = ConvertDepartementCodes(departement.depcode.Trim());

            p_persoon = person.p_persoon;

            if ( IsOpInHsd(categorie.Categorie, depcode) )
            {
                _log.Debug("User heeft een OP statuut en werkt voor HSD");
                OpRadioButton.Checked = true;
                opContainer.Visible = false;
                atpContainer.Visible = true;
            }
            else if ( IsAtp(categorie.Categorie) )
            {
                _log.Info("User heeft een ATP statuut");
                AtpRadioButton.Checked = true;
                opContainer.Visible = false;
                atpContainer.Visible = true;
            }
            else if (IsOp(categorie.Categorie))
            {
                _log.Debug("User heeft een OP statuut");
                OpRadioButton.Checked = true;
                opContainer.Visible = true;
                atpContainer.Visible = false;
            } else
            {
                throw new Exception("Onbekend statuut");
            }

            KDGNEVENACTIVITEITEN_OpledingPerWog owgroep = null;
            if (!depcode.Equals("HD"))
            {
                _log.Debug("User zit niet op hsd, onderwijsgroep opvragen");
                owgroep = cumul.KDGNEVENACTIVITEITEN_OpledingPerWogs.Where(p => p.depcode.Equals(depcode)).FirstOrDefault();
                _log.Debug("Owgroep gevonden: {0}", owgroep);
            }

            setBaseData(person.voornaam, person.naam, registryNumber, depcode.Equals("HD") ? "Algemene Directie en Hogeschooldiensten" : owgroep.OnderwijsGroepNaam, assignement.ToString());
            _log.Debug("Data ingevuld");
            //Layout bepalen op basis van al dan niet eerdere aangiftes
            var neven = cumul.PA_NevenActiviteitens.Where(p => p.p_persoon.Equals(p_persoon)).FirstOrDefault();
            _log.Debug("Nevenactiviteiten opgehaald");
            if(!(neven == null) && neven.nieuw_jaar == false)
            {
                _log.Debug("Er zijn reeds nevenactivteiten ingevuld en het is geen nieuw jaar");
                //Gebruiker heeft aangegeven dat hij geen nevenactiviteiten heeft
                if (!neven.heeftNevenactiviteit)
                {
                    OpActiviteitOpties.Visible = false;
                    AtpDetailsContainer.Visible = false;
                    AddNoActivityButton.Visible = false;
                    NoActivitiesPanel.Visible = true;

                    DisableSelections();
                }
                else
                {
                    //Gebruiker heeft nevenactiviteiten aangegeven en heeft deze bevestigd.
                    if (neven.bevestigd)
                    {
                        finalConfirmButton.Visible = false;
                        ConfirmedActivitiesPanel.Visible = true;
                        DisableSelections();
                        ActivityOverview.Visible = true;
                        HideDeleteColumn();
                    }
                    else
                    {
                        if (depcode.Equals("HD") || categorie.Equals("ATP")) {
                            AtpNevenActiviteiten.SelectedIndex = 1;
                            AtpNevenActiviteiten_SelectedIndexChanged(AtpNevenActiviteiten, null);
                        }
                        else
                        {
                            OpNevenActiviteit.SelectedIndex = 1;
                            OpNevenActiviteitenChanged(OpNevenActiviteit, null);
                        }
                    }
                }
            }
            else if (!(neven == null) && neven.nieuw_jaar == true)
            {
                _log.Debug("Er zijn reeds nevenactivteiten ingevuld en het is een nieuw jaar");
                NieuwJaarPanel.Visible = true;
                AtpNevenActiviteiten.Items[1].Enabled = false;
                if (IsOpInHsd(categorie.Categorie, depcode))
                {
                    AtpNevenActiviteiten.ClearSelection();
                    AtpNevenActiviteiten.Items[1].Selected = true;
                }
                else if (IsAtp(categorie.Categorie))
                {
                    _log.Debug("ATP-Statuut");
                  //  AtpNevenActiviteiten.SelectedIndex = 1;
                    AtpNevenActiviteiten.ClearSelection();
                    //AtpNevenActiviteiten.Items[1].Selected = true;
                    AtpNevenActiviteiten.SelectedIndex = 1;
                    AtpNevenActiviteiten_SelectedIndexChanged(AtpNevenActiviteiten, null);
                }
                else if (IsOp(categorie.Categorie))
                {
                     OpNevenActiviteit.ClearSelection();
                    OpNevenActiviteit.Items[1].Selected = true;
                }
            }
        }
        protected void finalConfirmButton_Click(object sender, EventArgs e)
        {
            _log.Debug("Opslaan ingevoerde activiteiten");
            CumulatieDataContext cumul = new CumulatieDataContext();

            var activities = cumul.PA_NevenActiviteitens.Where(p => p.p_persoon.Equals(this.p_persoon));
            _log.Debug("Nieuwe context opgehaald");
            foreach (var activity in activities)
            {
                activity.bevestigd = true;
                activity.nieuw_jaar = false;
                //Enkel omdat dit veld vorig jaar ontbrak. Als een OP'er gewoon dezelfde aanvraag bevestigd moet dit veld toch ingevuld worden. Tijdeleijke opvang hiervoor.
                if(activity.type == "OP" && activity.type_activiteit_op == null)
                {
                    activity.type_activiteit_op = AddActivityOp();
                }
            }
            _log.Debug("Wijzigingen opslaan");
            cumul.SubmitChanges();

            _log.Debug("Lay out updaten");
            ConfirmedActivitiesPanel.Visible = true;
            DisableSelections();

            NieuwJaarPanel.Visible = false;
            atpContainer.Visible = false;
            opContainer.Visible = false;
            //HideDeleteColumn();
            _log.Info("User confirmed added activities");
            Response.Redirect("NevenActiviteit.aspx");
        }