public IHttpActionResult Put(Guid Id, [FromBody] PersonModel p) { if (p != null) { try { PersonModel original = PersonSqlDbAccess.GetPersonById(Id); if (p.Firstname != null) { original.Firstname = p.Firstname; } if (p.Lastname != null) { original.Lastname = p.Lastname; } if (p.Age != null) { original.Age = p.Age; } if (p.Gender != null) { original.Gender = p.Gender; } if (p.Address.AddrLine1 != null) { original.Address.AddrLine1 = p.Address.AddrLine1; } if (p.Address.AddrLine2 != null) { original.Address.AddrLine2 = p.Address.AddrLine2; } if (p.Address.City != null) { original.Address.City = p.Address.City; } if (p.Address.State != null) { original.Address.State = p.Address.State; } if (p.Address.CountryISO2 != null) { original.Address.FK_Country = CountrySqlDbAccess.GetByISO2(p.Address.CountryISO2).Id; } if (p.Address.Zipcode != null) { original.Address.Zipcode = p.Address.Zipcode; } if (p.ContactInfo.CountryISO2 != null) { original.ContactInfo.FK_Country = CountrySqlDbAccess.GetByISO2(p.ContactInfo.CountryISO2).Id; } if (p.ContactInfo.Number != null) { original.ContactInfo.Number = p.ContactInfo.Number; } if (p.ContactInfo.Ext != null) { original.ContactInfo.Ext = p.ContactInfo.Ext; } if (p.ContactInfo.Email != null) { original.ContactInfo.Email = p.ContactInfo.Email; } PersonSqlDbAccess.Update(original); logger.Info($"PersonController.Put successfully edited {p.Print()}"); return(Ok()); } catch (Exception ex) { logger.Info($"PersonController.Put threw error {ex.Message} trying to edit {p.Print()}"); return(BadRequest()); } } else { logger.Info($"PersonController.Put failed to edit {p.Print()}"); return(BadRequest()); } }
public void Test_PersonSqlDbCRUD() { Guid[] guids = new Guid[] { new Guid("F7AB131E-354C-4698-A673-BB27D0D0D64F"), new Guid("92115905-9A48-4A17-9521-E35560F74674") }; /* Create */ // DB before changes List <PersonModel> before = PersonSqlDbAccess.GetAll(); // Changes PersonSqlDbAccess.Add( new Models.Person.PersonModel { Id = guids[0], Firstname = "Mike", Lastname = "Corso", Age = 32, Gender = "Male", Address = new Models.Person.AddressModel { Id = Guid.NewGuid(), AddrLine1 = "32 West 32nd St", AddrLine2 = "Room 218", City = "New York", State = "New York", FK_Country = new Guid("DC9E0EF0-EC74-4E4D-A7DA-00754C3D2616"), Zipcode = "10003" }, ContactInfo = new Models.Person.ContactInfoModel { Id = Guid.NewGuid(), FK_Country = new Guid("DC9E0EF0-EC74-4E4D-A7DA-00754C3D2616"), Number = "1234567890", Ext = "", Email = "*****@*****.**" } } ); PersonSqlDbAccess.Add( new Models.Person.PersonModel { Id = guids[1], Firstname = "Samantha", Lastname = "Corso", Age = 25, Gender = "Female", Address = new Models.Person.AddressModel { Id = Guid.NewGuid(), AddrLine1 = "31 West 32nd St", AddrLine2 = "Room 217", City = "New York", State = "New York", FK_Country = new Guid("DC9E0EF0-EC74-4E4D-A7DA-00754C3D2616"), Zipcode = "10004" }, ContactInfo = new Models.Person.ContactInfoModel { Id = Guid.NewGuid(), FK_Country = new Guid("DC9E0EF0-EC74-4E4D-A7DA-00754C3D2616"), Number = "349667890", Ext = "", Email = "*****@*****.**" } } ); // DB after changes List <PersonModel> after = PersonSqlDbAccess.GetAll(); // Assert Assert.True(after.Count - before.Count == 2); /* Update */ // DB before changes before = PersonSqlDbAccess.Search("John"); // Changes PersonSqlDbAccess.Update( new Models.Person.PersonModel { Id = guids[0], Firstname = "John", Lastname = "Corso", Age = 32, Gender = "Male", Address = new Models.Person.AddressModel { Id = Guid.NewGuid(), AddrLine1 = "32 West 32nd St", AddrLine2 = "Room 218", City = "New York", State = "New York", FK_Country = new Guid("DC9E0EF0-EC74-4E4D-A7DA-00754C3D2616"), Zipcode = "10003" }, ContactInfo = new Models.Person.ContactInfoModel { Id = Guid.NewGuid(), FK_Country = new Guid("DC9E0EF0-EC74-4E4D-A7DA-00754C3D2616"), Number = "1234567890", Ext = "", Email = "*****@*****.**" } } ); // After changes after = PersonSqlDbAccess.Search("John"); // Assert Assert.True(after.Count - before.Count == 1); /* Delete */ // Changes PersonSqlDbAccess.Delete(guids[0]); PersonSqlDbAccess.Delete(guids[1]); // Assert Assert.True(PersonSqlDbAccess.GetPersonById(guids[0]) == null); Assert.True(PersonSqlDbAccess.GetPersonById(guids[1]) == null); }