Exemplo n.º 1
0
        public Type814ServiceMeterChange[] ListServiceMeterChanges(int meterKey)
        {
            using (var connection = new SqlConnection(connectionString))
                using (var command = connection.CreateCommand("esp_814ServiceMeterChangeList"))
                {
                    command.AddWithValue("@Meter_Key", meterKey);

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

                    var collection = new List <Type814ServiceMeterChange>();
                    using (var reader = command.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                            var item = new Type814ServiceMeterChange
                            {
                                ChangeKey = reader.GetInt32("Change_Key"),
                                MeterKey  = meterKey,
                            };

                            reader.TryGetString("ChangeReason", x => item.ChangeReason           = x);
                            reader.TryGetString("ChangeDescription", x => item.ChangeDescription = x);

                            collection.Add(item);
                        }

                        return(collection.ToArray());
                    }
                }
        }
Exemplo n.º 2
0
        public int InsertServiceMeterChange(Type814ServiceMeterChange model)
        {
            using (var connection = new SqlConnection(connectionString))
                using (var command = connection.CreateCommand("csp814ServiceMeterChangeInsert"))
                {
                    SqlParameter keyParameter;

                    command.AddWithValue("@Meter_Key", model.MeterKey)
                    .AddWithValue("@ChangeReason", model.ChangeReason)
                    .AddWithValue("@ChangeDescription", model.ChangeDescription)
                    .AddOutParameter("@Change_Key", SqlDbType.Int, out keyParameter);

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

                    command.ExecuteNonQuery();

                    if (keyParameter.Value == null)
                    {
                        throw new Exception();
                    }

                    var changeKey = (int)keyParameter.Value;
                    model.ChangeKey = changeKey;

                    return(changeKey);
                }
        }
Exemplo n.º 3
0
        public Type814ServiceMeterChange ParseServiceMeterChange(XElement element, IDictionary <string, XNamespace> namespaces)
        {
            XNamespace empty;

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

            var model = new Type814ServiceMeterChange
            {
                ChangeReason      = element.GetChildText(empty + "ChangeReason"),
                ChangeDescription = element.GetChildText(empty + "ChangeDescription"),
            };

            return(model);
        }
Exemplo n.º 4
0
        public void When_Saving_Header_With_Any_Service_Meter_Changes_Then_Insert_Service_Meter_Change_Is_Called()
        {
            // arrange
            const int serviceMeterKey = 2;

            var change = new Type814ServiceMeterChange {
                ChangeReason = "mock"
            };

            var meter = new Type814ServiceMeter();

            meter.AddChange(change);

            var service = new Type814Service();

            service.AddMeter(meter);

            var header = new Type814Header();

            header.AddService(service);

            dataAccess.Stub(x => x.InsertHeader(Arg.Is(header)))
            .Return(1);

            dataAccess.Stub(x => x.InsertService(Arg.Is(service)))
            .Return(1);

            dataAccess.Stub(x => x.InsertServiceMeter(Arg.Is(meter)))
            .Return(serviceMeterKey);

            dataAccess.Expect(x => x.InsertServiceMeterChange(Arg.Is(change)))
            .Return(1);

            // act
            concern.SaveHeader(header);

            // assert
            Assert.AreEqual(serviceMeterKey, change.MeterKey);

            dataAccess.VerifyAllExpectations();
        }
Exemplo n.º 5
0
        public void ParseServiceMeterChange(Prism814Context context, string[] marketFields)
        {
            var current = context.Current;

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

            var meter = current as Type814ServiceMeter;

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

            var model = new Type814ServiceMeterChange
            {
                ChangeReason      = marketFields.AtIndex(2),
                ChangeDescription = marketFields.AtIndex(3),
            };

            meter.AddChange(model);
        }