Exemple #1
0
        public void LinkFamilies(FamilyCollection families)
        {
            SortedSet <ulong> idsWithoutDefinition = new();
            var counter = this.Sum(country => country.LinkFamilies(families, idsWithoutDefinition));

            if (idsWithoutDefinition.Count > 0)
            {
                Logger.Debug($"Families without definition: {string.Join(", ", idsWithoutDefinition)}");
            }

            Logger.Info($"{counter} families linked to countries.");
        }
Exemple #2
0
        public void LinkFamilies(FamilyCollection families)
        {
            var idsWithoutDefinition = new SortedSet <ulong>();
            var counter = this.Count(character => character.LinkFamily(families, idsWithoutDefinition));

            if (idsWithoutDefinition.Count > 0)
            {
                Logger.Info($"Families without definition: {string.Join(", ", idsWithoutDefinition)}");
            }

            Logger.Info($"{counter} families linked to characters.");
        }
Exemple #3
0
 private void WriteFamilies(FamilyCollection families, ETABSConversionContext context)
 {
     foreach (Family family in families)
     {
         if (family is SectionFamily)
         {
             WriteSection((SectionFamily)family, context);
         }
         else if (family is BuildUpFamily)
         {
             WriteBuildUp((BuildUpFamily)family, context);
         }
     }
 }
Exemple #4
0
        /// <summary>
        /// Get all section properties in the specified model whcih have a mapping extry in this table
        /// </summary>
        /// <param name="inModel"></param>
        /// <returns></returns>
        public FamilyCollection AllMappedSections(Model.Model inModel)
        {
            var result = new FamilyCollection();

            if (ContainsKey(SectionCategory))
            {
                foreach (Guid guid in this[SectionCategory].Keys)
                {
                    if (inModel.Families.Contains(guid))
                    {
                        result.Add(inModel.Families[guid]);
                    }
                }
            }
            return(result);
        }
Exemple #5
0
        private static ICollection <FontFamily> CreateFamilyCollection(
            Uri fontLocation,
            Uri fontFamilyBaseUri,
            string fontFamilyLocationReference
            )
        {
            // Use reference comparison to determine the critical isWindowsFonts value. We want this
            // to be true ONLY if we're called internally to enumerate the default family collection.
            // See the SecurityNote for the FamilyCollection constructor.
            FamilyCollection familyCollection =
                object.ReferenceEquals(fontLocation, Util.WindowsFontsUriObject) ?
                FamilyCollection.FromWindowsFonts(fontLocation) :
                FamilyCollection.FromUri(fontLocation);

            FontFamily[] fontFamilyList = familyCollection.GetFontFamilies(fontFamilyBaseUri, fontFamilyLocationReference);

            return(Array.AsReadOnly <FontFamily>(fontFamilyList));
        }
Exemple #6
0
        private static IFontFamily LookupFontFamily(NormalizedFontFamilyReference familyReference)
        {
            if (familyReference.IsUnresolved)
            {
                return(null);
            }

            FamilyCollection familyCollection;

            if (familyReference.LocationUri != null)
            {
                familyCollection = FamilyCollection.FromUri(familyReference.LocationUri);
            }
            else
            {
                familyCollection = FamilyCollection.Default;
            }
            return(familyCollection.LookupFamily(familyReference.FamilyName));
        }
Exemple #7
0
         public amHealths()
            : base(null)
        {
            _practitioners = new PractitionerCollection(this);
            _patients = new PatientCollection(this);
            _appointments = new AppointmentCollection(this);
            _groups = new GroupCollection(this);
            _members = new MemberCollection(this);
            _queues = new QueueCollection(this);
            _messages = new MessageCollection(this);
            _familys = new FamilyCollection(this);
            _chronics = new ChronicCollection(this);
            _allergys = new AllergyCollection(this);


            _chronicMaps = new ChronicMapCollection(this);
            _allergyMaps = new AllergyMapCollection(this);


        }
Exemple #8
0
        /// <summary>
        /// Write a Nucleus model to the currently open ETABS model
        /// </summary>
        /// <param name="model"></param>
        /// <param name="context"></param>
        /// <returns></returns>
        private bool WriteToETABS(Model.Model model, ETABSConversionContext context)
        {
            RaiseMessage("Writing data to ETABS...");

            SapModel.File.NewBlank(); //TODO: check if updating
            //SapModel.File.NewSteelDeck(0, 12, 12, 0, 0, 24, 24);

            if (context.Options.Levels)
            {
                LevelCollection levels = model.Levels;
                // Seemingly can only write whole table at once - updating individuals may not be wise...
                if (levels.Count > 0)
                {
                    RaiseMessage("Writing levels...");
                    WriteStoreys(levels, context);
                }
            }

            if (context.Options.Nodes)
            {
                NodeCollection nodes = model.Nodes;
                if (context.Options.Update)
                {
                    nodes = nodes.Modified(context.Options.UpdateSince);
                }
                if (nodes.Count > 0)
                {
                    RaiseMessage("Writing nodes...");
                }
                WriteNodes(nodes, context);
            }

            if (context.Options.Families)
            {
                FamilyCollection families = model.Families;
                if (context.Options.Update)
                {
                    families = families.Modified(context.Options.UpdateSince);
                }
                if (families.Count > 0)
                {
                    RaiseMessage("Writing properties...");
                }
                WriteFamilies(families, context);
            }

            if (context.Options.LinearElements)
            {
                LinearElementCollection linearElements = model.Elements.LinearElements;
                if (context.Options.Update)
                {
                    linearElements = linearElements.Modified(context.Options.UpdateSince);
                }
                if (linearElements.Count > 0)
                {
                    RaiseMessage("Writing linear elements...");
                }
                WriteLinearElements(linearElements, context);
            }

            if (context.Options.PanelElements)
            {
                PanelElementCollection panelElements = model.Elements.PanelElements;
                if (context.Options.Update)
                {
                    panelElements = panelElements.Modified(context.Options.UpdateSince);
                }
                if (panelElements.Count > 0)
                {
                    RaiseMessage("Writing Panels...");
                }
                WritePanelElements(panelElements, context);
            }

            if (context.Options.Sets)
            {
                ModelObjectSetCollection sets = model.Sets;
                //if (context.Options.Update) sets = //TODO?
                if (sets.Count > 0)
                {
                    RaiseMessage("Writing Groups...");
                }
                WriteSets(sets, context);
            }

            if (context.Options.Loading)
            {
                var cases = model.LoadCases;
                if (cases.Count > 0)
                {
                    RaiseMessage("Writing Load Cases...");
                }
                WriteLoadCases(cases, context);

                var loads = model.Loads;
                if (loads.Count > 0)
                {
                    RaiseMessage("Writing Loads...");
                }
                WriteLoads(loads, context);
            }

            return(true);
        }
Exemple #9
0
        internal static IFontFamily LookupFontFamilyAndFace(
            CanonicalFontFamilyReference canonicalFamilyReference,
            ref FontStyle style,
            ref FontWeight weight,
            ref FontStretch stretch
            )
        {
            if (canonicalFamilyReference == null || object.ReferenceEquals(canonicalFamilyReference, CanonicalFontFamilyReference.Unresolved))
            {
                // no canonical name, e.g., because the friendly name was an empty string
                // or could not be canonicalized
                return(null);
            }

            try
            {
                FamilyCollection familyCollection;

                if (canonicalFamilyReference.LocationUri == null && canonicalFamilyReference.EscapedFileName == null)
                {
                    // No explicit location; use the default family collection.
                    familyCollection = _defaultFamilyCollection;
                }
                else if (canonicalFamilyReference.LocationUri != null)
                {
                    // Look in the location specified by the font family reference.
                    familyCollection = FamilyCollection.FromUri(canonicalFamilyReference.LocationUri);
                }
                else // canonicalFamilyReference.EscapedFileName != null
                {
                    // Look in the specified file in the Windows Fonts folder
                    // Note: CanonicalFamilyReference.EscapedFileName is safe to combine with Util.WindowsFontsUriObject because CanonicalFamilyReference guarantees that it will be a simple filename
                    // without relative path or directory components.
                    Uri locationUri = new Uri(Util.WindowsFontsUriObject, canonicalFamilyReference.EscapedFileName);
                    familyCollection = FamilyCollection.FromWindowsFonts(locationUri);
                }

                IFontFamily fontFamily = familyCollection.LookupFamily(
                    canonicalFamilyReference.FamilyName,
                    ref style,
                    ref weight,
                    ref stretch
                    );
                return(fontFamily);
            }
            // The method returns null in case of malformed/non-existent fonts and we fall back to the next font.
            // Therefore, we can disable PreSharp warning about empty catch bodies.
#pragma warning disable 6502
            catch (FileFormatException)
            {
                // malformed font file
            }
            catch (IOException)
            {
                // canonical name points to a place that doesn't exist or can't be read for some reason
            }
            catch (UnauthorizedAccessException)
            {
                // canonical name points to a place caller doesn't have permission to access
            }
            catch (ArgumentException)
            {
                // canonical name points to a valid Uri that doesn't point to a well formed
                // OS local path
            }
            catch (NotSupportedException)
            {
                // canonical name points to a Uri that specifies an unregistered scheme
            }
            catch (UriFormatException)
            {
                // canonical name points to a malformed Uri
            }
#pragma warning restore 6502
            // we want to fall back to the default fallback font instead of crashing
            return(null);
        }
Exemple #10
0
        private static FamilyCollection PreCreateDefaultFamilyCollection()
        {
            FamilyCollection familyCollection = FamilyCollection.FromWindowsFonts(Util.WindowsFontsUriObject);

            return(familyCollection);
        }
Exemple #11
0
        private void OnAddFamilyExecute(ListBox list)
        {
            if (FamilyName != null & FamilyCardID != null & FamilyMark != null & FamilyRelationship != null & CBFBM != null)
            {
                CBF_JTCYModels Family = new CBF_JTCYModels();
                Family.ID   = CBFBM;
                Family.Name = FamilyName;
                if (FamilySex == "男")
                {
                    Family.Sex = "1";
                }
                else
                {
                    Family.Sex = "2";
                }

                // Family.CertificateType = PropertyCodeEnumModels.CertificateType.IDCard;
                #region 设置证件类型枚举值
                switch (CardType)
                {
                case "身份证":
                    Family.CertificateType = "1";
                    break;

                case "军官证":
                    Family.CertificateType = "2";
                    break;

                case "行政企事业单位机构代码证或法人代码证":
                    Family.CertificateType = "3";
                    break;

                case "户口簿":
                    Family.CertificateType = "4";
                    break;

                case "护照":
                    Family.CertificateType = "5";
                    break;

                default:
                    Family.CertificateType = "其他";
                    break;
                }
                #endregion
                //Family.CertificateType = CardType;
                Family.CardNumber   = FamilyCardID;
                Family.RelationShip = FamilyRelationship;
                Family.Note         = FamilyMark;
                Family.IsShared     = SFGYR;

                FamilyCollection.Add(Family);
                FamilyCardID       = null;
                FamilyMark         = null;
                FamilyName         = null;
                FamilySex          = null;
                FamilyRelationship = null;
            }
            else
            {
                MessageBox.Show("天剑出错,请检查表单数据的完整性与正确性");
            }
        }
Exemple #12
0
 /// <summary>
 /// 添加承包方家庭成员
 /// </summary>
 public void OnFamilyDeleteExecuted(CBF_JTCYModels model)
 {
     FamilyCollection.Remove(model);
 }