public IncompatiblePairView(ScheduleRepository repo, CustomDisciplineAttribute cda)
        {
            CdaId = cda.CustomDisciplineAttributeId;

            const string separator = " @ ";

            var disciplineSummary = "";
            disciplineSummary += cda.Discipline.StudentGroup.Name + separator;
            disciplineSummary += cda.Discipline.Name + separator;
            disciplineSummary += (Constants.Attestation.ContainsKey(cda.Discipline.Attestation) ? Constants.Attestation[cda.Discipline.Attestation] : "") + separator;
            disciplineSummary += cda.Discipline.AuditoriumHours;

            Disc1 = disciplineSummary;

            int discId;
            int.TryParse(cda.Value, out discId);

            var disc2 = repo.Disciplines.GetDiscipline(discId);

            if (disc2 != null)
            {
                disciplineSummary = "";
                disciplineSummary += disc2.StudentGroup.Name + separator;
                disciplineSummary += disc2.Name + separator;
                disciplineSummary += (Constants.Attestation.ContainsKey(disc2.Attestation) ? Constants.Attestation[disc2.Attestation] : "") + separator;
                disciplineSummary += disc2.AuditoriumHours;

                Disc2 = disciplineSummary;
            }
            else
            {
                Disc2 = "";
            }
        }
        private void All_Click(object sender, EventArgs e)
        {
            var allAuds = _repo.Auditoriums.GetAll();

            foreach (var aud in allAuds)
            {
                var newDiscAudAttribute = new CustomDisciplineAttribute(_selectedDiscipline, "DisciplineAuditorium", aud.AuditoriumId.ToString(CultureInfo.InvariantCulture));

                _repo.CustomDisciplineAttributes.AddCustomDisciplineAttribute(newDiscAudAttribute);
            }

            RefreshAudsList();
        }
Beispiel #3
0
        private void DisciplineByOrder_FormClosed(object sender, FormClosedEventArgs e)
        {
            for(var i = 0; i < discsView.Items.Count; i++)
            {
                var item = ((DisciplineTextView)discsView.Items[i]);

                var disc = _repo.Disciplines.GetDiscipline(item.DisciplineId);

                var orderAttr = new CustomDisciplineAttribute(disc, "DisciplineOrder", i.ToString(CultureInfo.InvariantCulture));

                _repo.CustomDisciplineAttributes.AddOrUpdateCustomDisciplineAttribute(orderAttr);
            }
        }
Beispiel #4
0
        private void AddPair_Click(object sender, EventArgs e)
        {
            var disc1Id = (int)disc1.SelectedValue;
            var discipline1 = _repo.Disciplines.GetDiscipline(disc1Id);

            var disc2Id = (int)disc2.SelectedValue;

            if (disc1Id == disc2Id)
            {
                MessageBox.Show("Не стоит добавлять одинаковые(((", "Ошибочка");

                return;
            }

            var incompatiblePairAttribute = new CustomDisciplineAttribute(discipline1, "IncompatiblePair", disc2Id.ToString(CultureInfo.InvariantCulture));

            _repo.CustomDisciplineAttributes.AddCustomDisciplineAttribute(incompatiblePairAttribute);

            RefreshPairsView();
        }
        private void audList_SelectedIndexChanged(object sender, EventArgs e)
        {
            var discAudIds = GetAudIdsFromSelectedDiscipline();

            for (int i = 0; i < audList.Items.Count; i++)
            {
                bool selected = audList.GetSelected(i);
                var aud = ((List<Auditorium>)audList.DataSource)[i];
                int audId = aud.AuditoriumId;

                if (selected && !discAudIds.Contains(audId))
                {
                    var newDiscAudAttribute = new CustomDisciplineAttribute(_selectedDiscipline, "DisciplineAuditorium", audId.ToString(CultureInfo.InvariantCulture));

                    _repo.CustomDisciplineAttributes.AddCustomDisciplineAttribute(newDiscAudAttribute);

                    break;
                }

                if (!selected && discAudIds.Contains(audId))
                {

                    var discAudAttribute = _repo
                        .CustomDisciplineAttributes
                        .GetFirstFiltredCustomDisciplineAttribute(cda =>
                            cda.Discipline.DisciplineId == _selectedDiscipline.DisciplineId &&
                            cda.Key == "DisciplineAuditorium");

                    if (discAudAttribute != null)
                    {
                        _repo.CustomDisciplineAttributes.RemoveCustomDisciplineAttribute(discAudAttribute.CustomDisciplineAttributeId);
                    }

                    break;
                }
            }
        }
Beispiel #6
0
        private void Include_Click(object sender, EventArgs e)
        {
            if (allDiscsList.SelectedIndex == -1)
            {
                return;
            }

            var discIds = new List<int>();

            for (int i = 0; i < allDiscsList.Items.Count; i++)
            {
                bool selected = allDiscsList.GetSelected(i);
                if (selected)
                {
                    int disciplineId = ((List<DisciplineTextView>)allDiscsList.DataSource)[i].DisciplineId;

                    discIds.Add(disciplineId);
                }
            }

            foreach (var discId in discIds)
            {
                var disc = _repo.Disciplines.GetDiscipline(discId);

                var newNotLastLessonAttribute = new CustomDisciplineAttribute(disc, "BetterTogether", "1");

                _repo.CustomDisciplineAttributes.AddCustomDisciplineAttribute(newNotLastLessonAttribute);
            }

            RefreshLists();
        }