public IList <EnumValue> GetFormComboBoxValues(BizForm form, BizComboBox comboBox)
        {
            var list = new List <EnumValue>();

            foreach (var pair in _repositories)
            {
                list.AddRange(pair.Value.GetFormComboBoxValues(form, comboBox));
            }
            return(list);
        }
        public List <EnumValue> GetEnumDocumentValues(BizComboBox combo, AttrDef attrDef)
        {
            var result = new List <EnumValue>();

            foreach (var pair in _repositories.Where(pair => pair.Key.DataType.HasFlag(DataContextType.Document)))
            {
                result.AddRange(pair.Value.GetEnumDocumentValues(combo, attrDef));
            }
            return(result);
        }
Ejemplo n.º 3
0
        private AttrDef GetComboBoxAttrDef(BizForm form, BizComboBox comboBox)
        {
            var finder = new FormHelper(Provider, form);
            var docDef = finder.FindAttributeDocDef(comboBox.AttributeDefId);

            if (docDef != null)
            {
                return(docDef.Attributes.FirstOrDefault(a => a.Id == comboBox.AttributeDefId));
            }

            return(null);
        }
Ejemplo n.º 4
0
        public IList <EnumValue> GetFormComboBoxValues(BizForm form, BizComboBox comboBox)
        {
            /*var masters = new List<BizControl>();
             * if (comboBox.Masters != null && comboBox.Masters.Count > 0)
             * {
             *  var finder = new ControlFinder(form);
             *  foreach (var masterId in comboBox.Masters)
             *  {
             *      var master = finder.Find(masterId);
             *      if (master != null)
             *          masters.Add(master);
             *  }
             * }*/

            return(GetFormComboBoxValues(form, comboBox, GetComboBoxAttrDef(form, comboBox)));
        }
        public string GetComboBoxDetailValue(BizComboBox comboBox, AttrDef attrDef)
        {
            if (comboBox.Value == null)
            {
                return(null);
            }

            if (attrDef == null)
            {
                switch (comboBox.Ident)
                {
                case SystemIdent.OrgId:
                case SystemIdent.OrgCode:
                case SystemIdent.OrgName:
                    return(GetEnumOrganizationValue((Guid)comboBox.Value));

                case SystemIdent.UserId:
                case SystemIdent.UserName:
                    return(GetEnumUserValue((Guid)comboBox.Value));
                }
                return(null);
            }

            if (attrDef.Type.Id == (short)CissaDataType.Doc && attrDef.DocDefType != null)
            {
                return
                    (_repositories.Where(pair => pair.Key.DataType.HasFlag(DataContextType.Document))
                     .Select(pair => pair.Value.GetComboBoxDetailValue(comboBox, attrDef))
                     .FirstOrDefault());
            }
            if (attrDef.Type.Id == (short)CissaDataType.Enum && attrDef.EnumDefType != null)
            {
                return(_enumRepo.GetEnumValue(attrDef.EnumDefType.Id, (Guid)comboBox.Value));
            }
            if (attrDef.Type.Id == (short)CissaDataType.Organization)
            {
                return(GetEnumOrganizationValue((Guid)comboBox.Value));
            }
            if (attrDef.Type.Id == (short)CissaDataType.User)
            {
                return(GetEnumUserValue((Guid)comboBox.Value));
            }

            return(null);
        }
        public IList <EnumValue> GetFormComboBoxValues(BizForm form, BizComboBox comboBox, AttrDef attrDef)
        {
            var list = new List <EnumValue>();

            if (attrDef == null)
            {
                switch (comboBox.Ident)
                {
                case SystemIdent.OrgId:
                case SystemIdent.OrgCode:
                case SystemIdent.OrgName:
                    return(GetEnumOrganizationValues(comboBox.DetailAttributeId));

                case SystemIdent.UserId:
                case SystemIdent.UserName:
                    return(GetEnumUserValues());
                }
                return(list);
            }

            if (attrDef.Type.Id == (short)CissaDataType.Doc && attrDef.DocDefType != null)
            {
                foreach (var pair in _repositories.Where(pair => pair.Key.DataType.HasFlag(DataContextType.Document)))
                {
                    list.AddRange(pair.Value.GetFormComboBoxValues(form, comboBox, attrDef));
                }
                return(list);
            }
            if (attrDef.Type.Id == (short)CissaDataType.Enum && attrDef.EnumDefType != null)
            {
                return(new List <EnumValue>(_enumRepo.GetEnumItems(attrDef.EnumDefType.Id)));
            }
            if (attrDef.Type.Id == (short)CissaDataType.Organization)
            {
                return(GetEnumOrganizationValues(attrDef.OrgTypeId));
            }
            if (attrDef.Type.Id == (short)CissaDataType.User)
            {
                return(GetEnumUserValues());
            }

            return(list);
        }
Ejemplo n.º 7
0
 public IList <EnumValue> GetFormComboBoxValues(BizForm form, BizComboBox comboBox)
 {
     // return FormRepo.GetFormComboBoxValueList(form, comboBox);
     return(_comboBoxValueProvider.GetFormComboBoxValues(form, comboBox));
 }
Ejemplo n.º 8
0
        public List <EnumValue> GetEnumDocumentValues(BizComboBox combo, DocDef detailDocDef, Guid?userId)
        {
            var list = new List <EnumValue>();

            if (detailDocDef == null)
            {
                return(list);
            }
            //var defRepo = new DocDefRepository(context);
            var docDef = _docDefRepo.DocDefById(detailDocDef.Id);

            AttrDef detailAttrDef;

            if (combo.DetailAttributeId != null)
            {
                detailAttrDef = docDef.Attributes.FirstOrDefault(ad => ad.Id == combo.DetailAttributeId);
            }
            else
            {
                detailAttrDef =
                    docDef.Attributes.FirstOrDefault(
                        ad => String.Equals(ad.Name, combo.DetailAttributeName, StringComparison.OrdinalIgnoreCase));
                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))
            using (var query = sqb.Build(combo, docDef.Id))
            {
                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);
        }
Ejemplo n.º 9
0
 public List <EnumValue> GetEnumDocumentValues(BizComboBox combo, AttrDef attrDef)
 {
     return(GetEnumDocumentValues(combo, attrDef.DocDefType, UserId));
 }
Ejemplo n.º 10
0
 public List <EnumValue> GetEnumDocumentValues(BizComboBox combo, DocDef detailDocDef)
 {
     return(GetEnumDocumentValues(combo, detailDocDef, UserId));
 }
Ejemplo n.º 11
0
        public string GetComboBoxDetailValue(BizComboBox comboBox, AttrDef attrDef)
        {
            if (comboBox.Value == null)
            {
                return(null);
            }

            if (attrDef == null)
            {
                switch (comboBox.Ident)
                {
                case SystemIdent.OrgId:
                case SystemIdent.OrgCode:
                case SystemIdent.OrgName:
                    return(GetEnumOrganizationValue((Guid)comboBox.Value));

                case SystemIdent.UserId:
                case SystemIdent.UserName:
                    return(GetEnumUserValue((Guid)comboBox.Value));
                }
                return(null);
            }

            if (attrDef.Type.Id == (short)CissaDataType.Doc && attrDef.DocDefType != null)
            {
                var detailDocDef = _docDefRepo.DocDefById(attrDef.DocDefType.Id);

                AttrDef detailAttrDef;
                if (comboBox.DetailAttributeId != null)
                {
                    detailAttrDef = detailDocDef.Attributes.FirstOrDefault(ad => ad.Id == comboBox.DetailAttributeId);
                }
                else
                {
                    detailAttrDef =
                        detailDocDef.Attributes.FirstOrDefault(
                            ad =>
                            String.Equals(ad.Name, comboBox.DetailAttributeName, StringComparison.OrdinalIgnoreCase))
                        ??
                        detailDocDef.Attributes.FirstOrDefault(ad => ad.Type.Id == (int)CissaDataType.Text);
                }
                if (detailAttrDef == null)
                {
                    return(null);
                }

                var sqlQueryBuilder = _sqlQueryBuilderFactory.Create();
                using (var query = sqlQueryBuilder.Build(comboBox, detailDocDef.Id))
                {
                    query.AddAttribute("&Id");
                    query.AddAttribute(detailAttrDef.Id);
                    query.AndCondition("&Id", ConditionOperation.Equal, comboBox.Value);
                    using (var reader = _sqlQueryReaderFactory.Create(query))
                    {
                        if (reader.Read())
                        {
                            return(!reader.IsDbNull(1) ? reader.GetString(1) : String.Empty);
                        }
                    }
                }
            }
            else if (attrDef.Type.Id == (short)CissaDataType.Enum && attrDef.EnumDefType != null)
            {
                return(_enumRepo.GetEnumValue(attrDef.EnumDefType.Id, (Guid)comboBox.Value));
            }
            else if (attrDef.Type.Id == (short)CissaDataType.Organization)
            {
                return(GetEnumOrganizationValue((Guid)comboBox.Value));
            }
            else if (attrDef.Type.Id == (short)CissaDataType.User)
            {
                return(GetEnumUserValue((Guid)comboBox.Value));
            }

            return(null);
        }
Ejemplo n.º 12
0
        public string GetComboBoxDetailValue(BizForm form, BizComboBox comboBox)
        {
            var attrDef = GetComboBoxAttrDef(form, comboBox);

            return(GetComboBoxDetailValue(comboBox, attrDef));
        }
Ejemplo n.º 13
0
        public IList <EnumValue> GetFormComboBoxValues(BizForm form, BizComboBox comboBox, AttrDef attrDef)
        {
            var list = new List <EnumValue>();

            if (attrDef == null)
            {
                switch (comboBox.Ident)
                {
                case SystemIdent.OrgId:
                case SystemIdent.OrgCode:
                case SystemIdent.OrgName:
                    return(GetEnumOrganizationValues(comboBox.DetailAttributeId));

                case SystemIdent.UserId:
                case SystemIdent.UserName:
                    return(GetEnumUserValues());
                }
                return(list);
            }

            if (attrDef.Type.Id == (short)CissaDataType.Doc && attrDef.DocDefType != null)
            {
                var detailDocDef = _docDefRepo.DocDefById(attrDef.DocDefType.Id);

                AttrDef detailAttrDef;
                if (comboBox.DetailAttributeId != null)
                {
                    detailAttrDef = detailDocDef.Attributes.FirstOrDefault(ad => ad.Id == comboBox.DetailAttributeId);
                }
                else
                {
                    detailAttrDef =
                        detailDocDef.Attributes.FirstOrDefault(
                            ad =>
                            String.Equals(ad.Name, comboBox.DetailAttributeName, StringComparison.OrdinalIgnoreCase))
                        ??
                        detailDocDef.Attributes.FirstOrDefault(ad => ad.Type.Id == (int)CissaDataType.Text);
                }
                if (detailAttrDef == null)
                {
                    return(list);
                }

                var sqlQueryBuilder = _sqlQueryBuilderFactory.Create();
                using (var query = sqlQueryBuilder.Build(comboBox, detailDocDef.Id))
                {
                    query.AddAttribute("&Id");
                    query.AddAttribute(detailAttrDef.Id);
                    query.AddOrderAttribute(detailAttrDef.Id);

                    if (form != null)
                    {
                        var helper = new FormHelper(Provider, form);
                        helper.SetQueryParams(query);
                    }
                    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
                            });
                        }
                    }
                }
            }
            else if (attrDef.Type.Id == (short)CissaDataType.Enum && attrDef.EnumDefType != null)
            {
                return(new List <EnumValue>(_enumRepo.GetEnumItems(attrDef.EnumDefType.Id)));
            }
            else if (attrDef.Type.Id == (short)CissaDataType.Organization)
            {
                return(GetEnumOrganizationValues(attrDef.OrgTypeId));
            }
            else if (attrDef.Type.Id == (short)CissaDataType.User)
            {
                return(GetEnumUserValues());
            }

            return(list);
        }
Ejemplo n.º 14
0
 public IList <EnumValue> GetFormComboBoxValues(BizComboBox comboBox, AttrDef attrDef)
 {
     return(GetFormComboBoxValues(null, comboBox, attrDef));
 }