/// <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; } } }
public EnrollmentOrderEditorViewModel(EnrollmentOrder order) { Order = order; if (Order.Date == null) { Order.Date = DateTime.Now.Date; } }
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"); } }
public EnrollmentOrderDocument(EnrollmentOrder order) { _order = order; DocumentType = OpenXmlDocumentType.Document; }
public EnrollmentOrderValidator(EnrollmentOrder order) { _order = order; }