Пример #1
0
        public override void CopyFrom(DxfHandledObject from, CloneContext cloneContext)
        {
            base.CopyFrom(from, cloneContext);
            DxfField dxfField = (DxfField)from;

            this.string_0 = dxfField.string_0;
            this.string_1 = dxfField.string_1;
            foreach (DxfHandledObject dxfHandledObject in dxfField.activeList_0)
            {
                this.activeList_0.Add((DxfField)dxfHandledObject.Clone(cloneContext));
            }
            if (cloneContext.SourceModel == cloneContext.TargetModel)
            {
                this.list_0.AddRange((IEnumerable <DxfHandledObject>)dxfField.list_0);
            }
            else
            {
                foreach (DxfHandledObject dxfHandledObject in dxfField.list_0)
                {
                    this.list_0.Add((DxfHandledObject)dxfHandledObject.Clone(cloneContext));
                }
            }
            this.string_2 = dxfField.string_2;
            this.fieldEvaluationOptionFlags_0 = dxfField.fieldEvaluationOptionFlags_0;
            this.filingOptionFlags_0          = dxfField.filingOptionFlags_0;
            this.fieldStateFlags_0            = dxfField.fieldStateFlags_0;
            this.evaluationStatusFlags_0      = dxfField.evaluationStatusFlags_0;
            this.int_0      = dxfField.int_0;
            this.string_3   = dxfField.string_3;
            this.string_4   = dxfField.string_4;
            this.dxfValue_0 = dxfField.dxfValue_0.Clone(cloneContext);
            this.string_5   = dxfField.string_5;
            foreach (KeyValuePair <string, DxfValue> keyValuePair in dxfField.dictionary_0)
            {
                this.dictionary_0.Add(keyValuePair.Key, this.dxfValue_0.Clone(cloneContext));
            }
        }
Пример #2
0
 public Class999(DxfValue value)
 {
     this.dxfValue_0 = value;
 }
Пример #3
0
        public void SynchronizeImmunizations(int?year, int?month)
        {
            String query = "SELECT * FROM COVERAGE_REPORT_INDICATOR WHERE ADMIN_COVERAGE IS NOT NULL ";

            if (year.HasValue && month.HasValue)
            {
                query += " AND \"VACC_YEAR\" = @year AND \"VACC_MONTH\" = @month OR \"CVX_CODE\" = '102' AND (\"VACC_YEAR\" * 12 + \"VACC_MONTH\") >= (@year * 12 + @month) - 3";
            }
            query += " ORDER BY \"VACC_YEAR\", \"VACC_MONTH\"";

            DxfMessage  message  = new DxfMessage();
            DxfValueSet valueSet = new DxfValueSet();

            message.ValueSets.Add(valueSet);
            valueSet.DataSet = this.m_indicators.SelectSingleNode("//*[local-name() = 'indicatorGroup']/@id").Value;

            using (NpgsqlConnection conn = new NpgsqlConnection(ConfigurationManager.ConnectionStrings["GiisConnectionString"].ConnectionString))
            {
                conn.Open();
                using (NpgsqlCommand cmd = new NpgsqlCommand(query, conn))
                {
                    cmd.Parameters.Add("@year", year.HasValue ? year.Value : 0);
                    cmd.Parameters.Add("@month", month.HasValue ? month.Value : 0);

                    cmd.CommandType = System.Data.CommandType.Text;
                    using (var dataReader = cmd.ExecuteReader())
                        while (dataReader.Read())
                        {
                            // For each of the items that we match in our document
                            foreach (XmlElement nd in this.m_indicators.SelectNodes(String.Format("//*[local-name() = 'indicator' and ./fullname/text() = '{0}']", dataReader["FULLNAME"])))
                            {
                                var      thisPeriod = String.Format("{0}M{1}", dataReader["VACC_YEAR"], dataReader["VACC_MONTH"]);
                                DxfValue value      = valueSet.Value.Find(o => o.OrgUnit == dataReader["HF_CODE"].ToString().Replace("urn:uuid:", "") && o.DataElement == nd.Attributes["id"].Value && o.Period == thisPeriod);

                                // Was an existing value found?
                                if (value == null)
                                {
                                    value = new DxfValue()
                                    {
                                        Period      = String.Format("{0:0000}{1:00}", dataReader["VACC_YEAR"], dataReader["VACC_MONTH"]),
                                        OrgUnit     = dataReader["HF_CODE"].ToString().Replace("urn:uuid:", ""),
                                        Value       = Convert.ToDecimal(dataReader["ADMIN_COVERAGE"]),
                                        DataElement = nd.Attributes["id"].Value
                                    };
                                }

                                // Age and droupout specs?
                                var age     = nd.SelectSingleNode("./*[local-name() = 'ageGroup']");
                                var dropout = nd.SelectSingleNode("./*[local-name() = 'dropout']");
                                if (age != null && age.InnerText == dataReader["AGE_GROUP"].ToString() ||
                                    age == null)
                                {
                                    value.Numerator   += Convert.ToInt32(dataReader["given"]);
                                    value.Denominator += Convert.ToInt32(dataReader["target"]);

                                    // Is this a dropout?
                                    if (dropout != null)
                                    {
                                        int prevMonth = Convert.ToInt32(dataReader["VACC_MONTH"]) + Int32.Parse(dropout.SelectSingleNode("./*[local-name() = 'month']").InnerText);
                                        int prevYear  = Convert.ToInt32(dataReader["VACC_YEAR"]) - (prevMonth <= 0 ? 1 : 0);
                                        if (prevMonth <= 0)
                                        {
                                            prevMonth = 12 - prevMonth;
                                        }
                                        var dropoutPrevObs = valueSet.Value.Find(o => o.Period == String.Format("{0}M{1}", prevYear, prevMonth) && o.DataElement == dropout.SelectSingleNode("./*[local-name() = 'indicator']/@id").Value&& o.OrgUnit == value.OrgUnit);
                                        if (dropoutPrevObs != null)
                                        {
                                            value.Numerator   = dropoutPrevObs.Numerator - value.Numerator;
                                            value.Denominator = dropoutPrevObs.Numerator;
                                        }
                                        else
                                        {
                                            continue;
                                        }
                                    }

                                    value.Value = (decimal)(((float)value.Numerator / value.Denominator) * 100);
                                }
                                else
                                {
                                    continue;
                                }

                                valueSet.Value.Add(value);
                            }
                        }
                }
            }

            // Remove anything not in our reporting year
            if (month.HasValue && year.HasValue)
            {
                valueSet.Value.RemoveAll(o => o.Period != String.Format("{0}M{1}", year, month));
            }

            this.SendDxfMessage(message);
        }
Пример #4
0
        private void CopyFrom(Class1026 from, CloneContext cloneContext)
        {
            this.enum47_0   = from.enum47_0;
            this.bool_0     = from.bool_0;
            this.int_0      = from.int_0;
            this.int_1      = from.int_1;
            this.double_0   = from.double_0;
            this.dxfValue_0 = from.dxfValue_0 != null?from.dxfValue_0.Clone(cloneContext) : (DxfValue)null;

            if (from.BlockOrField != null)
            {
                if (cloneContext.SourceModel == cloneContext.TargetModel)
                {
                    this.BlockOrField = from.BlockOrField;
                }
                else
                {
                    DxfBlock blockOrField = from.BlockOrField as DxfBlock;
                    if (blockOrField != null)
                    {
                        DxfBlock dxfBlock;
                        if (!cloneContext.TargetModel.Blocks.TryGetValue(blockOrField.Name, out dxfBlock))
                        {
                            if (cloneContext.ReferenceResolutionType == ReferenceResolutionType.CloneMissing)
                            {
                                dxfBlock = (DxfBlock)from.BlockOrField.Clone(cloneContext);
                                if (!cloneContext.CloneExact)
                                {
                                    cloneContext.TargetModel.Blocks.Add(dxfBlock);
                                }
                            }
                            else if (cloneContext.ReferenceResolutionType == ReferenceResolutionType.FailOnMissing)
                            {
                                throw new DxfException("Block with name " + blockOrField.Name + " not present in target model.");
                            }
                            this.BlockOrField = (DxfHandledObject)dxfBlock;
                        }
                    }
                    else
                    {
                        DxfField dxfField = (DxfField)from.BlockOrField.Clone(cloneContext);
                        if (!cloneContext.TargetModel.FieldList.Fields.Contains(dxfField))
                        {
                            cloneContext.TargetModel.FieldList.Fields.Add(dxfField);
                        }
                        this.BlockOrField = (DxfHandledObject)dxfField;
                    }
                }
            }
            this.double_1 = from.double_1;
            if (from.dxfTableAttributeCollection_0 != null)
            {
                foreach (DxfTableAttribute dxfTableAttribute in (List <DxfTableAttribute>)from.dxfTableAttributeCollection_0)
                {
                    this.Attributes.Add(dxfTableAttribute.Clone(cloneContext));
                }
            }
            if (from.TextStyle != null)
            {
                if (cloneContext.SourceModel == cloneContext.TargetModel)
                {
                    this.TextStyle = from.TextStyle;
                }
                else
                {
                    DxfTextStyle textStyle;
                    if (cloneContext.TargetModel.TextStyles.TryGetValue(from.TextStyle.Name, out textStyle))
                    {
                        this.TextStyle = textStyle;
                    }
                    else
                    {
                        if (cloneContext.ReferenceResolutionType != ReferenceResolutionType.CloneMissing)
                        {
                            throw new DxfException("Text style with name " + from.TextStyle.Name + " not present in target model.");
                        }
                        this.TextStyle = (DxfTextStyle)from.TextStyle.Clone(cloneContext);
                        if (!cloneContext.CloneExact)
                        {
                            cloneContext.TargetModel.TextStyles.Add(this.TextStyle);
                        }
                    }
                }
            }
            this.nullable_0 = from.nullable_0;
            this.nullable_1 = from.nullable_1;
            this.nullable_2 = from.nullable_2;
            this.nullable_3 = from.nullable_3;
            this.nullable_4 = from.nullable_4;
            this.dxfTableBorderOverrides_0.CopyFrom(from.dxfTableBorderOverrides_0, cloneContext);
            this.dxfTableBorderOverrides_1.CopyFrom(from.dxfTableBorderOverrides_1, cloneContext);
            this.dxfTableBorderOverrides_2.CopyFrom(from.dxfTableBorderOverrides_2, cloneContext);
            this.dxfTableBorderOverrides_3.CopyFrom(from.dxfTableBorderOverrides_3, cloneContext);
            this.int_2 = from.int_2;
        }