public static void RetreivedByCustoms() { using (var ctx = new EFExamples2Context()) { var parcel = ctx.Parcels.First(); var customs = ctx.Werehouses.Single(x => x.Name == "Customs"); var lastActivity = parcel.Activities.OrderByDescending(x => x.Timestamp).First(); var sentActivity = lastActivity as SendActivity; if (sentActivity == null) { throw new NotImplementedException("Unable to retreive the parcell which was never sent"); } if (sentActivity.SentToWerehouse != customs) { throw new NotImplementedException("parcel has been delivered to wrong werehouse!"); } var retrieveActivity = new RetrieveActivity() { Werehouse = customs, Timestamp = lastActivity.Timestamp.AddDays(1), }; parcel.Werehouse = customs; parcel.Activities.Add(retrieveActivity); ctx.SaveChanges(); } }
public static void RetreivedByCustoms() { using (var ctx = new EFExamples2Context()) { var parcel = ctx.Parcels.Find(1); var customs = ctx.Werehouses.Single(x => x.Name == "Customs"); var lastActivity = parcel.Activities.OrderByDescending(x => x.Timestamp).First(); var retrieveActivity = new RetrieveActivity() { Werehouse = customs, Timestamp = lastActivity.Timestamp.AddDays(1), }; var handlerFactory = new ActivityHandlersFactory(); handlerFactory.GetActivityHandler(retrieveActivity).Apply(parcel, retrieveActivity); ctx.SaveChanges(); } }
protected override void Seed(EFExamples2.EFExamples2Context context) { var stockholm = new Werehouse() { Id = 1, City = "Stockholm", Name = "Stockholm 1", }; var wroclav = new Werehouse() { Id = 2, City = "Wroclav", Name = "Meest Express Werehouse", }; var customs = new Werehouse() { Id = 3, City = "Dolgobichuv", Name = "Customs", }; var kyiv = new Werehouse() { Id = 4, City = "Kyiv", Name = "Kyiv 1", }; context.Werehouses.Add(stockholm); context.Werehouses.Add(wroclav); context.Werehouses.Add(customs); context.Werehouses.Add(kyiv); var tufli = new Parcel() { Weight = 1.4m, DeliveryFee = 6m, Id = 1, Value = 120, }; var createTufli = new CreateActivity() { Id = 1, ExpectedDeliveryFee = 6, Parcel = tufli, Price = 120, Timestamp = new DateTime(2019, 9, 10), Werehouse = stockholm, Weight = 1.4m, TargetWerehouse = kyiv }; var readyForDeliveryToMeest = new ReadyForSendActivity() { Parcel = tufli, Werehouse = stockholm, Timestamp = new DateTime(2019, 9, 10, 0, 0, 1), }; var sentToMeest = new SendActivity() { Parcel = tufli, Werehouse = stockholm, Timestamp = new DateTime(2019, 9, 10, 0, 0, 2), SentToWerehouse = wroclav, }; var retreivedByMeest = new RetrieveActivity() { Parcel = tufli, Werehouse = wroclav, Timestamp = new DateTime(2019, 9, 12), }; var readyForDeliveryToCustoms = new ReadyForSendActivity() { Parcel = tufli, Werehouse = wroclav, Timestamp = new DateTime(2019, 9, 13), }; var sentToCustoms = new SendActivity() { Parcel = tufli, Werehouse = wroclav, Timestamp = new DateTime(2019, 9, 13), SentToWerehouse = customs, }; context.Parcels.Add(tufli); context.Activities.Add(createTufli); context.Activities.Add(readyForDeliveryToMeest); context.Activities.Add(sentToMeest); context.Activities.Add(retreivedByMeest); context.Activities.Add(readyForDeliveryToCustoms); context.Activities.Add(sentToCustoms); }