public virtual void EditDocumentDialog(DialogViewModelBase master, OperationToDocumentReference reference) { var page = EditDocumentDialog(master, reference.DocumentType.Value, reference.DocumentId.Value); if (page.ViewModel is ISelectItem select && reference.ItemId.HasValue) { select.SelectItem(reference.ItemId.Value); } }
public IList <OperationToDocumentReference> GetReferencedDocuments(params int[] operationsIds) { OperationToDocumentReference docAlias = null; EmployeeIssueOperation employeeIssueOperationAlias = null; ExpenseItem expenseItemAlias = null; IncomeItem incomeItemAlias = null; CollectiveExpenseItem collectiveExpenseItemAlias = null; WriteoffItem writeoffItemAlias = null; var result = RepoUow.Session.QueryOver <EmployeeIssueOperation>(() => employeeIssueOperationAlias) .JoinEntityAlias(() => expenseItemAlias, () => expenseItemAlias.EmployeeIssueOperation.Id == employeeIssueOperationAlias.Id, JoinType.LeftOuterJoin) .JoinEntityAlias(() => collectiveExpenseItemAlias, () => collectiveExpenseItemAlias.EmployeeIssueOperation.Id == employeeIssueOperationAlias.Id, JoinType.LeftOuterJoin) .JoinEntityAlias(() => incomeItemAlias, () => incomeItemAlias.ReturnFromEmployeeOperation.Id == employeeIssueOperationAlias.Id, JoinType.LeftOuterJoin) .JoinEntityAlias(() => writeoffItemAlias, () => writeoffItemAlias.EmployeeWriteoffOperation.Id == employeeIssueOperationAlias.Id, JoinType.LeftOuterJoin) .Where(x => x.Id.IsIn(operationsIds)) .SelectList(list => list .Select(i => i.Id).WithAlias(() => docAlias.OperationId) .Select(() => expenseItemAlias.Id).WithAlias(() => docAlias.ExpenceItemId) .Select(() => expenseItemAlias.ExpenseDoc.Id).WithAlias(() => docAlias.ExpenceId) .Select(() => collectiveExpenseItemAlias.Id).WithAlias(() => docAlias.CollectiveExpenseItemId) .Select(() => collectiveExpenseItemAlias.Document.Id).WithAlias(() => docAlias.CollectiveExpenseId) .Select(() => incomeItemAlias.Id).WithAlias(() => docAlias.IncomeItemId) .Select(() => incomeItemAlias.Document.Id).WithAlias(() => docAlias.IncomeId) .Select(() => writeoffItemAlias.Id).WithAlias(() => docAlias.WriteoffItemId) .Select(() => writeoffItemAlias.Document.Id).WithAlias(() => docAlias.WriteoffId) ) .TransformUsing(Transformers.AliasToBean <OperationToDocumentReference>()) .List <OperationToDocumentReference>(); foreach (var item in result) { item.OperationType = OperationType.EmployeeIssue; } return(result); }