/// <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));
        }
Exemple #2
0
 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();
     }
 }
Exemple #3
0
 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>());
     }
 }
Exemple #4
0
 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();
     }
 }
Exemple #5
0
 public void TearDown()
 {
     using (var context = new TravelCompanyContext(_stringaConnessione))
     {
         var database = context.Database;
         database.Delete();
     }
 }
Exemple #6
0
 public void SetUp()
 {
     using (var context = new TravelCompanyContext(_stringaConnessione))
     {
         var database = context.Database;
         database.Create();
     }
 }
Exemple #7
0
 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>());
     }
 }
Exemple #8
0
 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>());
     }
 }
Exemple #9
0
 /// <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();
     }
 }
Exemple #10
0
        /// <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));
            }
        }
Exemple #11
0
        /// <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);
            }
        }