/// <summary> /// Creates new travelcompany. The data of the newly created travel company are permanently stored by the component. /// </summary> /// <param name="travelCompanyConnectionString"></param> /// <param name="name"></param> /// <returns></returns> public ITravelCompany CreateNew(string travelCompanyConnectionString, string name) { CheckConnectionString(travelCompanyConnectionString); CheckConnectionString(_brokerconnectionstring); CheckName(name); CheckTwoConnString(travelCompanyConnectionString, _brokerconnectionstring); using (var c = new BrokerContext(_brokerconnectionstring)) { var tc = new TravelCompanyEntity() { ConnectionString = travelCompanyConnectionString, Name = name }; c.TravelCompanies.Add(tc); c.SaveChanges(); } using (var c = new TravelCompanyContext(travelCompanyConnectionString)) { c.Database.Delete(); c.Database.Create(); } return(new TravelCompany(travelCompanyConnectionString, name)); }
public void TestLunghezzaMinimaNomeCittaPartenza_OK() { using (var context = new TravelCompanyContext(_stringaConnessione)) { context.legs.Add(CreazioneLeg(new string('a', DomainConstraints.NameMinLength), "Milano", 5, 10, TransportType.Bus)); context.SaveChanges(); } }
public void TestLunghezzaNomeCittaDestinazioneTroppoCorto_Error() { using (var context = new TravelCompanyContext(_stringaConnessione)) { context.legs.Add(CreazioneLeg("Milano", new string('a', DomainConstraints.NameMinLength - 1), 5, 10, TransportType.Bus)); Assert.That(() => context.SaveChanges(), Throws.InstanceOf <DbEntityValidationException>()); } }
public void TestConstrainUnique_OK(string partenza, string destinazione, int costo, int distanza, TransportType mezzo) { using (var context = new TravelCompanyContext(_stringaConnessione)) { context.legs.Add(CreazioneLeg(partenza, destinazione, costo, distanza, mezzo)); context.SaveChanges(); } }
public void TearDown() { using (var context = new TravelCompanyContext(_stringaConnessione)) { var database = context.Database; database.Delete(); } }
public void SetUp() { using (var context = new TravelCompanyContext(_stringaConnessione)) { var database = context.Database; database.Create(); } }
public void TestContrainUnique_Error() { using (var context = new TravelCompanyContext(_stringaConnessione)) { context.legs.Add(context.legs.Add(CreazioneLeg("Genova", "Savona", 5, 100, TransportType.Bus))); context.legs.Add(context.legs.Add(CreazioneLeg("Genova", "Savona", 5, 100, TransportType.Bus))); Assert.That(() => context.SaveChanges(), Throws.InstanceOf <DbUpdateException>()); } }
public void TestDistanzaStrettamentePositivo_Error(string partenza, string destinazione, int costo, int distanza, TransportType mezzo) { using (var context = new TravelCompanyContext(_stringaConnessione)) { context.legs.Add(CreazioneLeg(partenza, destinazione, costo, distanza, mezzo)); Assert.That(() => context.SaveChanges(), Throws.InstanceOf <DbEntityValidationException>()); } }
/// <summary> /// Deletes the leg from an Id /// </summary> /// <param name="legToBeRemovedId"></param> public void DeleteLeg(int legToBeRemovedId) { CheckNegative(legToBeRemovedId); using (var c = new TravelCompanyContext(_tcConnectionstring)) { var legToDelete = c.Legs.SingleOrDefault(EqualsIdExp(legToBeRemovedId)); c.Legs.Remove(legToDelete ?? throw new NonexistentObjectException("leg to delete not exist!")); c.SaveChanges(); } }
/// <summary> /// Gets a leg DTO from an Leg Id /// </summary> /// <param name="legId"></param> /// <returns></returns> public ILegDTO GetLegDTOFromId(int legId) { CheckNegative(legId); using (var c = new TravelCompanyContext(_tcConnectionstring)) { CheckLegEntity(c.Legs.SingleOrDefault(EqualsIdExp(legId))); var leg = c.Legs.Find(legId); CheckNull(leg); return(CastToLegDtoExp.Compile()(leg)); } }
/// <summary> /// Creates an ILeg which connects two cities. /// </summary> /// <param name="from"></param> /// <param name="to"></param> /// <param name="cost"></param> /// <param name="distance"></param> /// <param name="transportType"></param> /// <returns></returns> public int CreateLeg(string from, string to, int cost, int distance, TransportType transportType) { CheckLeg(from, to, cost, distance, transportType); using (var c = new TravelCompanyContext(_tcConnectionstring)) { var legtoAdd = new LegEntity() { From = from, To = to, Cost = cost, Distance = distance, Type = transportType }; c.Legs.Add(legtoAdd); c.SaveChanges(); return(legtoAdd.Id); } }