예제 #1
0
        /// <summary>
        /// Формирует справки - направления на работу.
        /// </summary>
        /// <param name="student">Экземпляр класса с данными о студенте</param>
        /// <param name="specialization">Экземпляр класса с данными о специализации</param>
        /// <param name="workPlace">Экземпляр класса с данными о месте работы студента</param>
        /// <param name="path">Путь к сохраняемому файлу</param>
        /// <param name="template">Путь к файлу-шаблону</param>
        private void SaveEmploymentReport(IStudent student, ISpecialization specialization, IStudentCompany workPlace, string path, string template)
        {
            var doc = new WordFile(template);

            doc.ReplaceWordText("{surname}", student.Surname.Trim());
            doc.ReplaceWordText("{name}", student.Name.Trim());
            doc.ReplaceWordText("{patronymic}", student.Patronymic.Trim());
            doc.ReplaceWordText("{year}", student.YearOfGraduation.ToString());
            doc.ReplaceWordText("{chiper}", GetChiper(student, specialization));
            doc.ReplaceWordText("{specialization}", GetFullSpecializationText(specialization));
            doc.ReplaceWordText("{nameOfStateDepartment}", workPlace?.NameOfStateDepartment.Trim());
            doc.ReplaceWordText("{nameOfCompany}", workPlace?.NameOfCompany.Trim());
            doc.ReplaceWordText("{post}", workPlace?.Post.Trim());

            doc.Save(path);

            if (OpenAfterCreate)
            {
                System.Diagnostics.Process.Start(path);
            }
            else
            {
                MessageBox.Show($"Файл {path}", "Отчет сформирован", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
예제 #2
0
        // Возвращает текст специализации.
        private string GetFullSpecializationText(ISpecialization specialization)
        {
            var education = specialization.LevelOfEducation;

            string separator = education == 1 ? "профиль подготовки" : education == 2 ? "специализация" : "магистерская программа";

            return($"{specialization.SpecialtyCode} «{specialization.SpecialtyName}» {separator} «{specialization.SpecialtyProfileName}»");
        }
 /// <summary>
 /// Предоставляет модальное окно для просмотра информации о профиле подготовки.
 /// </summary>
 /// <param name="main">Главное окно программы</param>
 /// <param name="specialization">Экземпляр класса, реализующего интерфейс <c>ISpecialization</c></param>
 public SpecializationForm(MainMDIForm main, ISpecialization specialization) : base(main, specialization)
 {
     InitializeComponent();
 }
        /// <summary>
        /// Предоставляет модальное окно для редактирования (добавления) информации о профиле подготовки.
        /// </summary>
        /// <param name="main">Главное окно программы</param>
        /// <param name="type">Тип действия (редактирование или добавление)</param>
        /// <param name="entity">Экземпляр класса, реализующего интерфейс <c>ISpecialization</c></param>
        /// <param name="viewContext">Экземпляр класса, реализующего интерфейс <c>IDataListView</c></param>
        public SpecializationForm(MainMDIForm main, ActionType type, ISpecialization entity, IDataListView <ISpecialization> viewContext) : base(type, entity, viewContext)
        {
            InitializeComponent();

            this.Main = main;
        }
예제 #5
0
        /// <summary>
        /// Сохраняет отчет "Подтверждение прибытия к справке о самостоятельном трудоустройстве".
        /// </summary>
        /// <param name="student">Экземпляр класса с данными о студенте</param>
        /// <param name="specialization">Экземпляр класса с данными о специализации</param>
        /// <param name="workPlace">Экземпляр класса с данными о месте работы студента</param>
        public void SaveSelfEmploymentConfirmationOfArrival(IStudent student, ISpecialization specialization, IStudentCompany workPlace)
        {
            var filename = $"{student.Surname}_подтверждение_{DateTime.Now.ToString("dd_MM_HH_m")}.docx";

            SaveSelfEmploymentReport(student, specialization, GetPath(filename), SelfEmploymentConfirmationOfArrivalPath);
        }
예제 #6
0
        /// <summary>
        /// Сохраняет отчет "Справка о самостоятельном трудоустройстве".
        /// </summary>
        /// <param name="student">Экземпляр класса с данными о студенте</param>
        /// <param name="specialization">Экземпляр класса с данными о специализации</param>
        /// <param name="workPlace">Экземпляр класса с данными о месте работы студента</param>
        public void SaveSelfEmployment(IStudent student, ISpecialization specialization, IStudentCompany workPlace)
        {
            var filename = $"{student.Surname}_справка_{DateTime.Now.ToString("dd_MM_HH_m")}.docx";

            SaveSelfEmploymentReport(student, specialization, GetPath(filename), SelfEmploymentPath);
        }
예제 #7
0
        /// <summary>
        /// Сохраняет отчет "Уведомление к свидетельству о направлении на работу".
        /// </summary>
        /// <param name="student">Экземпляр класса с данными о студенте</param>
        /// <param name="specialization">Экземпляр класса с данными о специализации</param>
        /// <param name="workPlace">Экземпляр класса с данными о месте работы студента</param>
        public void SaveNotification(IStudent student, ISpecialization specialization, IStudentCompany workPlace)
        {
            var filename = $"{student.Surname}_уведомление_{DateTime.Now.ToString("dd_MM_HH_m")}.docx";

            SaveEmploymentReport(student, specialization, workPlace, GetPath(filename), NotificationPath);
        }
예제 #8
0
        /// <summary>
        /// Сохраняет отчет "Свидетельство о направлении на работу".
        /// </summary>
        /// <param name="student">Экземпляр класса с данными о студенте</param>
        /// <param name="specialization">Экземпляр класса с данными о специализации</param>
        /// <param name="workPlace">Экземпляр класса с данными о месте работы студента</param>
        public void SaveCertificate(IStudent student, ISpecialization specialization, IStudentCompany workPlace)
        {
            var filename = $"{student.Surname}_свидетельство_о_направлении_{DateTime.Now.ToString("dd_MM_HH_m")}.docx";

            SaveEmploymentReport(student, specialization, workPlace, GetPath(filename), CertificatePath);
        }
예제 #9
0
 // Возвращает шифр в формате {Шифр из БД}{Год окончания ВУЗа}/{Идентификатор студента}
 private string GetChiper(IStudent student, ISpecialization specialization)
 {
     return($"{specialization.Cipher}{(student.YearOfGraduation % 2000).ToString()}/{student.ID}");
 }