public void DuplicateLocationBug()
        {
            InMemoryRecord record = ProductionRecords.NewRecord();

            Assert.That(record.Location, Is.EqualTo(location));
            Assert.That(record.Fields.Count(field => field.Name == "Location"), Is.EqualTo(1));
            InMemoryRecord clone = record.Clone();

            Assert.That(clone.Location, Is.EqualTo(location));
            Assert.That(clone.Fields.Count(field => field.Name == "Location"), Is.EqualTo(1));
        }
        public void Update()
        {
            SimpleDataWebServiceClient webServiceClient = Create();

            InMemoryRecord record = ProductionRecords.NewRecord().MarkAsNew();
            InMemoryRecord update = record.Clone();

            update.Fields.Clear();
            update.Location = record.Location;
            update.Fields.Add(new FieldValue("New Field", "100"));

            SubmitDataRequest request = new SubmitDataRequest
            {
                Credentials       = CreateCredentials(),
                SubmitDataRecords = new[]
                {
                    record.ConvertToSubmitDataRecord()
                }
            };

            SubmitDataResponse response = webServiceClient.SubmitData(request);

            Assert.That(response.DataSubmissionResults, Is.Not.Null);
            Assert.That(response.DataSubmissionResults.Length, Is.EqualTo(1));
            Assert.That(response.DataSubmissionResults[0].RecordAction, Is.EqualTo(RecordAction.Insert));
            Assert.That(response.DataSubmissionResults[0].SetId, Is.GreaterThan(100));

            Assert.That(DatabaseRecords.Count, Is.EqualTo(1));
            Assert.That(DatabaseRecords[0].Find("New Field"), Is.Null);

            update.RecordId = (int)response.DataSubmissionResults[0].SetId;

            request = new SubmitDataRequest
            {
                Credentials       = CreateCredentials(),
                SubmitDataRecords = new[]
                {
                    update.ConvertToSubmitDataRecord()
                }
            };

            response = webServiceClient.SubmitData(request);

            Assert.That(response.DataSubmissionResults, Is.Not.Null);
            Assert.That(response.DataSubmissionResults.Length, Is.EqualTo(1));
            Assert.That(response.DataSubmissionResults[0].RecordAction, Is.EqualTo(RecordAction.Update));
            Assert.That(response.DataSubmissionResults[0].SetId, Is.EqualTo(update.RecordId));

            Assert.That(DatabaseRecords.Count, Is.EqualTo(1));
            Assert.That(DatabaseRecords[0].Find("New Field"), Is.Not.Null);
            Assert.That(DatabaseRecords[0].Find("New Field").Value, Is.EqualTo("100"));
        }
Exemplo n.º 3
0
        public int AddExistingRecord(InMemoryRecord record)
        {
            string module   = record.Module;
            int    newSetId = amplaDatabase.GetNewSetId(module);
            Dictionary <int, InMemoryRecord> database = amplaDatabase.GetModuleRecords(module);

            InMemoryRecord clone = record.Clone();

            clone.RecordId = newSetId;

            database[newSetId] = clone;
            return(newSetId);
        }