Beispiel #1
0
        /// <summary>
        /// Returneaza nodul care contine lectia de pe forma.
        /// </summary>
        /// <param name="save">Adevarat daca se salveaza modificarile</param>
        /// <returns></returns>
        private CustomTreeNode<Lectie> GetLectieTreeNode(bool save)
        {
            int id;
            if (save)
            {
                if (Res.Instance.SelectedLectie == null)
                    return null;
                id = Res.Instance.SelectedLectie.Id;
            }
            else
                id = Res.Instance.GetNextAvailableLectieId();

            if (txtTitluLectie.Text.Length == 0)
            {
                errorProvider.SetError(txtTitluLectie, Messages.TITLE_UNSPECIFIED);
                return null;
            }
            errorProvider.SetError(txtTitluLectie, "");

            int difficulty;
            int.TryParse(comboBoxDificultateLectie.Text, out difficulty);
            if (difficulty == 0 || (difficulty < 1 && difficulty > 3))
            {
                errorProvider.SetError(comboBoxDificultateLectie, Messages.INCORRECT_VALUE);
                return null;
            }
            errorProvider.SetError(comboBoxDificultateLectie, "");

            string file_path = txtLocatieLectie.Text;
            if (file_path.Contains(Config.AppDataPath))
                file_path = file_path.Substring(Config.AppDataPath.Length);

            if (file_path.Length != 0 && !File.Exists(Config.AppDataPath + file_path))
            {
                errorProvider.SetError(txtLocatieLectie, Messages.NO_FILE_EXIST);
                return null;
            }
            errorProvider.SetError(txtLocatieLectie, "");

            if (!ValidateTextBoxText(txtProblemeAsociate, true))
                return null;
            errorProvider.SetError(txtProblemeAsociate, "");

            if (!ValidateTextBoxText(txtTesteAsociate, true))
                return null;
            errorProvider.SetError(txtTesteAsociate, "");

            Lectie newLectie = new Lectie(id, txtTitluLectie.Text,
               file_path, difficulty, txtProblemeAsociate.Text, txtTesteAsociate.Text, null);
            return new CustomTreeNode<Lectie>(newLectie.Titlu, newLectie, false);
        }
Beispiel #2
0
        /// <summary>
        /// Sterge toate referintele referitoare la lectia specificata
        /// </summary>
        /// <param name="lectie"></param>
        public void RemoveLectie(Lectie lectie)
        {
            if (lectie == null)
                return;

            IdsLectii.Remove(lectie.Id);
            LectiiHolder.Lectii.Remove(lectie);

            if (lectie.Lectii == null)
                lectie.Lectii = new List<Lectie>();

            foreach (var sublectie in lectie.Lectii)
            {
                RemoveLectie(sublectie);
            }
        }