Пример #1
0
        public void InsertNonIntervalDetailQty(Type867NonIntervalDetailQty model)
        {
            using (var connection = new SqlConnection(_connectionString))
                using (var command = connection.CreateCommand("csp867NonIntervalDetailQtyInsert"))
                {
                    command.AddWithValue("@NonIntervalDetail_Key", model.NonIntervalDetailKey)
                    .AddIfNotEmptyOrDbNull("@Qualifier", model.Qualifier)
                    .AddIfNotEmptyOrDbNull("@Quantity", model.Quantity)
                    .AddIfNotEmptyOrDbNull("@MeasurementCode", model.MeasurementCode)
                    .AddIfNotEmptyOrDbNull("@CompositeUOM", model.CompositeUom)
                    .AddIfNotEmptyOrDbNull("@UOM", model.Uom)
                    .AddIfNotEmptyOrDbNull("@BeginRead", model.BeginRead)
                    .AddIfNotEmptyOrDbNull("@EndRead", model.EndRead)
                    .AddIfNotEmptyOrDbNull("@MeasurementSignificanceCode", model.MeasurementSignificanceCode)
                    .AddIfNotEmptyOrDbNull("@TransformerLossFactor", model.TransformerLossFactor)
                    .AddIfNotEmptyOrDbNull("@MeterMultiplier", model.MeterMultiplier)
                    .AddIfNotEmptyOrDbNull("@PowerFactor", model.PowerFactor)
                    .AddWithValue("@RangeMin", model.RangeMin)
                    .AddWithValue("@RangeMax", model.RangeMax)
                    .AddWithValue("@ThermFactor", model.ThermFactor)
                    .AddWithValue("@DegreeDayFactor", model.DegreeDayFactor);

                    if (connection.State != ConnectionState.Open)
                    {
                        connection.Open();
                    }

                    command.ExecuteNonQuery();
                }
        }
Пример #2
0
        public Type867NonIntervalDetailQty ParseNonIntervalDetailQty(XElement element, IDictionary <string, XNamespace> namespaces)
        {
            XNamespace empty;

            if (!namespaces.TryGetValue(string.Empty, out empty))
            {
                empty = XNamespace.None;
            }

            var model = new Type867NonIntervalDetailQty
            {
                Qualifier                   = element.GetChildText(empty + "Qualifier"),
                Quantity                    = element.GetChildText(empty + "Quantity"),
                MeasurementCode             = element.GetChildText(empty + "MeasurementCode"),
                CompositeUom                = element.GetChildText(empty + "CompositeUOM"),
                Uom                         = element.GetChildText(empty + "UOM"),
                BeginRead                   = element.GetChildText(empty + "BeginRead"),
                EndRead                     = element.GetChildText(empty + "EndRead"),
                MeasurementSignificanceCode = element.GetChildText(empty + "MeasurementSignificanceCode"),
                TransformerLossFactor       = element.GetChildText(empty + "TransformerLossFactor"),
                MeterMultiplier             = element.GetChildText(empty + "MeterMultiplier"),
                PowerFactor                 = element.GetChildText(empty + "PowerFactor"),
                RangeMin                    = element.GetChildText(empty + "RangeMin"),
                RangeMax                    = element.GetChildText(empty + "RangeMax"),
                ThermFactor                 = element.GetChildText(empty + "ThermFactor"),
                DegreeDayFactor             = element.GetChildText(empty + "DegreeDayFactor"),
                BackoutCredit               = element.GetChildText(empty + "BackoutCredit")
            };

            return(model);
        }
Пример #3
0
        private void ParseNonIntervalDetailQty(Prism867Context context, string[] marketFields)
        {
            var current = context.Current;

            if (current == null || current.ModelType != Type867Types.NonIntervalDetail)
            {
                throw new InvalidOperationException();
            }

            var detail = current as Type867NonIntervalDetail;

            if (detail == null)
            {
                throw new InvalidOperationException();
            }

            // MeasurementSigificanceCode needs to be mapped to either 41, 42, 43 or 51
            var measurementCode = MapMeasurementSignificanceCode(marketFields.AtIndex(7));

            var model = new Type867NonIntervalDetailQty
            {
                Qualifier             = marketFields.AtIndex(2),
                Quantity              = marketFields.AtIndex(3),
                MeasurementCode       = marketFields.AtIndex(6),
                Uom                   = marketFields.AtIndex(4),
                BeginRead             = marketFields.AtIndex(8),
                EndRead               = marketFields.AtIndex(9),
                TransformerLossFactor = marketFields.AtIndex(12),
                MeterMultiplier       = marketFields.AtIndex(10),
                PowerFactor           = marketFields.AtIndex(11)
            };

            if (!string.IsNullOrEmpty(measurementCode))
            {
                model.MeasurementSignificanceCode = measurementCode;
            }

            detail.AddQuantity(model);
        }