Ejemplo n.º 1
0
        /// <summary>
        /// Перестраивает зачисление по приказу - выставляет значения номеров строк в приказе и устанавливает статусы заявления в "Зачислен в число студентов"
        /// </summary>
        /// <param name="order">Приказ о зачислении</param>
        void RebuildEnrollment(EnrollmentOrder order)
        {
            // Счетчик
            int i = 1;

            // Проходим по протоколам в порядке возрастания номера
            foreach (var protocol in order.EnrollmentProtocols.OrderBy(p => int.Parse(p.Number.WithoutLetters())))
            {
                // Идем по новой коллекции заявлений, отсортированной по алфавиту
                var claims = (from ec in protocol.EnrollmentClaims
                              where ec.Claim != null
                              select ec.Claim).ToList();
                claims = claims.OrderBy(c => c.Person.FullName).ToList();
                foreach (var claim in claims)
                {
                    // Находим заявление в оригинальной коллекции
                    var enrollmentClaim = protocol.EnrollmentClaims.Where(ec => ec.Claim.Id == claim.Id).FirstOrDefault();

                    // Устанавливаем номер строки
                    enrollmentClaim.StringNumber = i;
                    i++;

                    // Устанавливаем статус у заявления
                    enrollmentClaim.Claim.ClaimStatusId = 3;
                }
            }
        }
Ejemplo n.º 2
0
 public EnrollmentOrderEditorViewModel(EnrollmentOrder order)
 {
     Order = order;
     if (Order.Date == null)
     {
         Order.Date = DateTime.Now.Date;
     }
 }
Ejemplo n.º 3
0
        void AddOrder()
        {
            var order     = new EnrollmentOrder();
            var vm        = new EnrollmentOrderEditorViewModel(order);
            var validator = new EnrollmentOrderValidator(order);

            if (DialogLayer.ShowEditor(EditingContent.EnrollmentOrderEditor, vm, validator))
            {
                Session.DataModel.EnrollmentOrders.Add(order);
                RebuildEnrollment(order);
                Session.DataModel.SaveChanges();
                RaisePropertyChanged("Orders");
            }
        }
Ejemplo n.º 4
0
 public EnrollmentOrderDocument(EnrollmentOrder order)
 {
     _order       = order;
     DocumentType = OpenXmlDocumentType.Document;
 }
Ejemplo n.º 5
0
 public EnrollmentOrderValidator(EnrollmentOrder order)
 {
     _order = order;
 }