public BizText CreateText(Text text, DocDef def) { var result = new BizText(); InitControl(result, text); return(result); }
public BizTableForm CreateTableForm(Table_Form form, DocDef def) { var result = new BizTableForm { DocumentDefId = form.Document_Id, FormId = form.Form_Id, FilterFormId = form.Filter_Form_Id, Children = new List <BizControl>(), AddNewPermissionId = form.Add_New_Permission_Id, OpenPermissionId = form.Open_Permission_Id, CanAddNew = form.Can_Add_New ?? false, CanEdit = form.Can_Edit ?? false, CanDelete = form.Can_Delete ?? false, PageSize = form.Rows ?? 10 }; if (result.DocumentDefId != null) { def = _docDefRepo.DocDefById((Guid)result.DocumentDefId); } AddChildren(result, form, def); InitControl(result, form); return(result); }
public BizControl CreateImage(Image image, DocDef def) { if (image.Attribute_Id == null && image.Image_Data != null) { var staticImage = new BizImage { ImageBytes = image.Image_Data, Height = 0, Width = 0 }; InitControl(staticImage, image); return(staticImage); } if (image.Attribute_Id == null) { return(null); } var docImage = new BizDataImage { Value = image.Image_Data, AttributeDefId = (Guid)image.Attribute_Id, Height = 0, Width = 0 }; InitControl(docImage, image); return(docImage); }
public bool IsSame(DocDef docDef, Guid attrId) { var single = Def as QuerySingleAttributeDef; return(single != null && single.Attribute != null && single.Attribute.AttributeId == attrId && new QuerySourceDefHelper(single.Attribute.Source).IsSame(docDef)); }
public SqlQueryConditionOperationBuilder(SqlQueryConditionBuilder parent, ExpressionOperation operation, DocDef docDef, AttrDef attrDef) { Parent = parent; Operation = operation; DocDef = docDef; AttrDef = attrDef; }
public bool IsSame(DocDef docDef, string attrName) { var single = Def as QuerySingleAttributeDef; return(single != null && single.Attribute != null && String.CompareOrdinal(single.Attribute.AttributeName, attrName) == 0 && new QuerySourceDefHelper(single.Attribute.Source).IsSame(docDef)); }
private /*static*/ List <EnumValue> GetEnumDocumentValues(DocDef detailDocDef, params string[] attrNames) { var list = new List <EnumValue>(); if (detailDocDef == null) { return(list); } //var defRepo = new DocDefRepository(context); var docDef = _docDefRepo.DocDefById(detailDocDef.Id); AttrDef detailAttrDef = null; foreach (var attrName in attrNames) { detailAttrDef = docDef.Attributes.FirstOrDefault( ad => String.Equals(ad.Name, attrName, StringComparison.OrdinalIgnoreCase)); if (detailAttrDef != null) { break; } } if (detailAttrDef == null) { detailAttrDef = docDef.Attributes.FirstOrDefault(ad => ad.Type.Id == (int)CissaDataType.Text); } if (detailAttrDef == null) { return(list); } var sqb = _sqlQueryBuilderFactory.Create(); //using (var query = userId != null ? new SqlQuery(context, docDef, (Guid)userId) : new SqlQuery(context, docDef)) using (var query = sqb.Build(docDef.Id, null, null)) { query.AddAttribute("&Id"); query.AddAttribute(detailAttrDef.Id); query.AddOrderAttribute(detailAttrDef.Id); using (var reader = _sqlQueryReaderFactory.Create(query)) //new SqlQueryReader(context, query)) { while (reader.Read()) { var detail = !reader.IsDbNull(1) ? reader.GetString(1) : String.Empty; list.Add(new EnumValue { Id = reader.GetGuid(0), Value = detail, DefaultValue = detail }); } } } return(list); }
public BizComboBox CreateComboBox(Combo_Box combo, DocDef def) { var result = new BizComboBox(); AddChildren(result, combo, def); InitComboBox(result, combo, def); return(result); }
public bool IsSame(DocDef docDef, AttrDef attrDef) { var single = Def as QuerySingleAttributeDef; return(single != null && single.Attribute != null && (single.Attribute.AttributeId == attrDef.Id || String.CompareOrdinal(single.Attribute.AttributeName, attrDef.Name) == 0) && new QuerySourceDefHelper(single.Attribute.Source).IsSame(docDef)); }
private void FillDocDefAttributes(DocDef def, DocDef ancestorDef) { foreach (var attr in ancestorDef.Attributes) { var attrDef = new AttrDef(attr); def.Attributes.Add(attrDef); attrDef.Permissions = _permissionRepository.GetObjectDefPermissions(attrDef.Id); } }
public List <EnumValue> GetEnumDocumentValues(BizComboBox combo, DocDef detailDocDef) { var result = new List <EnumValue>(); foreach (var pair in _repositories.Where(pair => pair.Key.DataType.HasFlag(DataContextType.Document))) { result.AddRange(pair.Value.GetEnumDocumentValues(combo, detailDocDef)); } return(result); }
public SqlQueryDocSource(IAppServiceProvider provider, /*IDataContext dataContext, */ DocDef docDef, string alias) : base(alias) { Source = docDef; Provider = provider; // DataContext = dataContext; _docDefRepo = Provider.Get <IDocDefRepository>(); _mapper = Provider.Get <IDocumentTableMapRepository>(); _userRepo = Provider.Get <IUserRepository>(); }
/// <summary> /// Возвращает предков для типа документа /// </summary> /// <param name="docDef">Тип документа</param> /// <returns>Список идентификаторов предков</returns> public IEnumerable <Guid> GetAncestors(DocDef docDef) { var dd = docDef; while (dd != null && dd.AncestorId != null) { yield return((Guid)dd.AncestorId); dd = Find((Guid)dd.AncestorId); } }
public BizTabControl CreateTabControl(Tab_Control control, DocDef def) { var result = new BizTabControl { Children = new List <BizControl>() }; AddChildren(result, control, def); InitControl(result, control); return(result); }
public BizDocumentListForm CreateDocumentListForm(DocumentList_Form docListForm, DocDef def) { AttrDef attrDef = null; if (def != null) { if (docListForm.Attribute_Id != null) { attrDef = def.Attributes.FirstOrDefault(a => a.Id == docListForm.Attribute_Id); } else if (!String.IsNullOrEmpty(docListForm.Attribute_Name)) { attrDef = def.Attributes.FirstOrDefault( a => String.Equals(a.Name, docListForm.Attribute_Name ?? String.Empty, StringComparison.OrdinalIgnoreCase)); } } var result = new BizDocumentListForm { AttributeDefId = attrDef != null ? attrDef.Id : docListForm.Attribute_Id, AttributeName = attrDef != null ? attrDef.Name : docListForm.Attribute_Name ?? String.Empty, FormId = docListForm.Form_Id, FormAttributeDefId = docListForm.Form_Attribute_Id }; DocDef nestDef = null; if (attrDef != null && attrDef.DocDefType != null) { nestDef = _docDefRepo.DocDefById(attrDef.DocDefType.Id); } if (attrDef == null && result.FormId != null && result.FormAttributeDefId != null) { var form = DataContext.GetEntityDataContext().Entities.Object_Defs.OfType <Table_Form>().FirstOrDefault(f => f.Id == result.FormId); if (form != null && form.Document_Id != null) { var docDefId = (Guid)form.Document_Id; nestDef = _docDefRepo.DocDefById(docDefId); } } if (nestDef != null) { AddChildren(result, docListForm, nestDef); } InitControl(result, docListForm); return(result); }
private static void BuildJoin(SqlQuery query, QueryJoinDef join, DocDef docDef, IDataContext dataContext) { var source = query.Sources.First( s => String.Equals(s.AliasName, join.Source.Alias, StringComparison.OrdinalIgnoreCase)); var queryJoin = new SqlQueryJoin(source, join.Operation); foreach (var condition in join.Conditions) { BuildJoinCondition(query, queryJoin, condition, docDef, null, dataContext); } query.SourceJoins.Add(queryJoin); }
public BizPanel CreatePanel(Panel panel, DocDef def) { var result = new BizPanel { LayoutId = panel.Layout_Id ?? (short)LayoutType.Default, ReadOnly = panel.Read_Only ?? false, //IsHorizontal = panel.Is_Horizontal ?? false, Children = new List <BizControl>() }; AddChildren(result, panel, def); InitControl(result, panel); return(result); }
public BizGrid CreateGrid(Grid grid, DocDef def) { var result = new BizGrid { DocumentDefId = grid.Document_Id ?? Guid.Empty, IsDetail = grid.Is_Detail ?? true, Children = new List <BizControl>() }; AddChildren(result, grid, def); InitControl(result, grid); return(result); }
private void FillDocDefAncestorAttributes(DocDef def, Guid?ancestorId) { if (ancestorId != null) { var ancestor = DocDefById((Guid)ancestorId); /*context.ObjectDefs.OfType<Document_Def>().FirstOrDefault(dd => dd.Id == (Guid) ancestorId);*/ if (ancestor != null) { //FillDocDefAncestorAttributes(def, ancestor.AncestorId); FillDocDefAttributes(def, ancestor); } } }
public BizButton CreateButton(Button button, DocDef def) { var result = new BizButton { ActionId = button.Action_Id ?? Guid.Empty, ProcessId = button.Process_Id, UserActionId = button.User_Action_Id, ActionType = (BizButtonActionType?)button.Action_Type ?? BizButtonActionType.Form, ButtonType = (BizButtonType?)button.Button_Type ?? BizButtonType.Button }; InitControl(result, button); return(result); }
public static ReportDef Create(DocDef docDef) { if (docDef == null) { throw new ApplicationException("Не могу создать отчет! Класс документа не указан!"); } var sourceDefId = Guid.NewGuid(); var sourceDef = new ReportSourceDef { Id = sourceDefId, DocDef = docDef, Caption = docDef.Caption, Attributes = new List <ReportSourceSystemAttributeDef>() }; sourceDef.Attributes.Add(new ReportSourceSystemAttributeDef { Id = Guid.NewGuid(), Ident = SystemIdent.Created, Caption = "Дата создания документа" }); sourceDef.Attributes.Add(new ReportSourceSystemAttributeDef { Id = Guid.NewGuid(), Ident = SystemIdent.Modified, Caption = "Дата изменения документа" }); sourceDef.Attributes.Add(new ReportSourceSystemAttributeDef { Id = Guid.NewGuid(), Ident = SystemIdent.State, Caption = "Статус документа" }); sourceDef.Attributes.Add(new ReportSourceSystemAttributeDef { Id = Guid.NewGuid(), Ident = SystemIdent.StateDate, Caption = "Дата установки статуса документа" }); return(new ReportDef { Caption = docDef.Caption ?? docDef.Name ?? "Новый отчет", Columns = new List <ReportColumnDef>(), Conditions = new List <ReportConditionItemDef>(), Joins = new List <ReportSourceJoinDef>(), Sources = new List <ReportSourceDef>(new[] { sourceDef }), SourceId = sourceDefId }); }
private void InitComboBox(BizComboBox control, Combo_Box controlData, DocDef def) { AttrDef attrDef = null; if (def != null) { if (controlData.Attribute_Id != null) { attrDef = def.Attributes.FirstOrDefault(a => a.Id == controlData.Attribute_Id); } if (attrDef == null && controlData.Attribute_Name != null) { attrDef = def.Attributes.FirstOrDefault(a => String.Equals(a.Name, controlData.Attribute_Name, StringComparison.OrdinalIgnoreCase)); } } control.Rows = controlData.Rows ?? 0; control.IsRadio = controlData.Is_Radio ?? false; if (attrDef != null) { control.AttributeDefId = attrDef.Id; control.AttributeName = attrDef.Name; } else { var attrName = controlData.Attribute_Name ?? String.Empty; SystemIdent attrIdent; if (SystemIdentConverter.TryConvert(attrName, out attrIdent)) { control.Ident = attrIdent; control.AttributeName = attrName; //InitComboBox(control, attrIdent); } } control.DetailAttributeId = controlData.Detail_Attribute_Id; control.DetailAttributeName = controlData.Detail_Attribute_Name; /*if (attrDef != null) * { * //if (!controlData.Attribute_DefsReference.IsLoaded) controlData.Attribute_DefsReference.Load(); * * InitComboBox(control, attrDef /*controlData.Attribute_Defs#1#); * } */ InitControl(control, controlData); // AddQueryItems(control, controlData); // Вызывает ошибку дублирования QueryItems }
private static string Serialize(DocDef docDef) { var serializer = new XmlSerializer(typeof(DocDef)); var stream = new MemoryStream(); try { serializer.Serialize(stream, docDef); stream.Position = 0; var reader = new StreamReader(stream); return(reader.ReadToEnd()); } finally { stream.Close(); stream.Dispose(); } }
private void InitAttrDocDefTypes(DocDef def) { foreach (var attr in def.Attributes) { if (attr.DocDefType != null && attr.DocDefType.Id != Guid.Empty) { var attrDocDef = Find(attr.DocDefType.Id); if (attrDocDef != null) { attr.DocDefType.Name = attrDocDef.Name; attr.DocDefType.Caption = attrDocDef.Caption; attr.DocDefType.AncestorId = attrDocDef.AncestorId; attr.DocDefType.IsInline = attrDocDef.IsInline; attr.DocDefType.IsPublic = attrDocDef.IsPublic; } } } }
public BizDetailForm CreateDetailForm(Form form, DocDef def) { var result = new BizDetailForm { DocumentDefId = form.Document_Id, LayoutId = form.Layout_Id ?? (short)LayoutType.Detail, Children = new List <BizControl>(), CanEdit = !(form.Ban_Edit ?? false) & !(form.Read_Only ?? false), CanDelete = form.Can_Delete ?? false }; if (result.DocumentDefId != null) { def = _docDefRepo.DocDefById((Guid)result.DocumentDefId); } AddChildren(result, form, def); InitControl(result, form); return(result); }
private void FillDocDefAttributes(DocDef def, Guid parentId) { var edc = DataContext.GetEntityDataContext(); foreach (var attr in edc.Entities.Object_Defs.OfType <Attribute_Def>() .Where(a => a.Parent_Id == parentId && (a.Deleted == null || a.Deleted == false))) { var attrDef = CreateAttrDef(attr); if (attrDef == null) { continue; } def.Attributes.Add(attrDef); attrDef.Permissions = _permissionRepository.GetObjectDefPermissions(attrDef.Id); } foreach (var folder in edc.Entities.Object_Defs.OfType <Folder_Def>() .Where(f => f.Parent_Id == parentId && (f.Deleted == null || f.Deleted == false))) { FillDocDefAttributes(def, folder.Id); } }
public BizDocumentControl CreateDocumentControl(DocumentControl docControl, DocDef def) { // if (!docControl.Attribute_DefsReference.IsLoaded) docControl.Attribute_DefsReference.Load(); // if (docControl.Attribute_Defs == null) return null; AttrDef attrDef = null; if (def != null) { if (docControl.Attribute_Id != null) { attrDef = def.Attributes.FirstOrDefault(a => a.Id == docControl.Attribute_Id); } else if (!String.IsNullOrEmpty(docControl.Attribute_Name)) { attrDef = def.Attributes.FirstOrDefault( a => String.Equals(a.Name, docControl.Attribute_Name ?? String.Empty, StringComparison.OrdinalIgnoreCase)); } } var result = new BizDocumentControl { AttributeDefId = attrDef != null ? attrDef.Id : (Guid?)null, //docControl.Attribute_Defs.Id, AttributeName = attrDef != null ? attrDef.Name : String.Empty, // AttributeName = docControl.Attribute_Name, FormId = docControl.Form_Id }; if (attrDef != null && attrDef.DocDefType != null) { var nestDef = _docDefRepo.DocDefById(attrDef.DocDefType.Id); AddChildren(result, docControl, nestDef); } InitControl(result, docControl); return(result); }
public static ReportSourceJoinDef JoinDocDefSource(this ReportDef def, Guid masterSourceId, DocDef docDef, Guid attrDefId) { Check(def); var masterSourceDef = GetSourceDef(def, masterSourceId); var docDefCount = def.Sources.Count(s => s.DocDef.Id == docDef.Id); var jointSourceId = Guid.NewGuid(); var jointSourceDef = new ReportSourceDef { Id = jointSourceId, DocDef = docDef, Caption = docDef.Caption + (docDefCount > 0 ? (docDefCount + 1).ToString() : String.Empty), Attributes = new List <ReportSourceSystemAttributeDef>() }; jointSourceDef.Attributes.Add(new ReportSourceSystemAttributeDef { Id = Guid.NewGuid(), Ident = SystemIdent.Created, Caption = "Дата создания документа" }); jointSourceDef.Attributes.Add(new ReportSourceSystemAttributeDef { Id = Guid.NewGuid(), Ident = SystemIdent.Modified, Caption = "Дата изменения документа" }); jointSourceDef.Attributes.Add(new ReportSourceSystemAttributeDef { Id = Guid.NewGuid(), Ident = SystemIdent.State, Caption = "Статус документа" }); jointSourceDef.Attributes.Add(new ReportSourceSystemAttributeDef { Id = Guid.NewGuid(), Ident = SystemIdent.StateDate, Caption = "Дата установки статуса документа" }); def.Sources.Add(jointSourceDef); var jointAttrId = Guid.NewGuid(); var attr = masterSourceDef.DocDef.Attributes.FirstOrDefault(a => a.Id == attrDefId); var jointAttrDef = attr != null ? new ReportAttributeDef { Id = jointAttrId, SourceId = masterSourceId, AttributeId = attrDefId } : new ReportAttributeDef { Id = jointAttrId, SourceId = jointSourceId, AttributeId = attrDefId }; var joinDef = new ReportSourceJoinDef { Id = Guid.NewGuid(), JoinAttribute = jointAttrDef, JoinType = SqlSourceJoinType.Inner, MasterId = masterSourceId, SourceId = jointSourceId }; def.Joins.Add(joinDef); return(joinDef); }
public IList <DocDefRelation> GetDocDefRelations(DocDef docDef) { return(new List <DocDefRelation>(_repositories.SelectMany(repo => repo.GetDocDefRelations(docDef)))); }
public SqlQueryJoinBuilder LeftOuterJoin(DocDef docDef, string attrDefName) { return(new SqlQueryJoinBuilder(this, Query, Query.JoinSource(Source, docDef, SqlSourceJoinType.LeftOuter, attrDefName))); }