Exemplo n.º 1
0
 static void CarAboutToBlow(object sender, CarEventArgs e)
 {
     if (sender is CarEvent)
     {
         CarEvent c = (CarEvent)sender;
         Console.WriteLine("Critical Message from {0}: {1}", c.PetName, e.msg);
     }
 }
Exemplo n.º 2
0
        static void CarEventLambda()
        {
            CarEvent c1 = new CarEvent("SlugBug", 100, 10);

            c1.AboutToBlow += (sender, e) => { Console.WriteLine(e.msg); };
            c1.Exploded    += (sender, e) => { Console.WriteLine(e.msg); };
            for (int i = 0; i < 6; i++)
            {
                c1.Accelerate(20);
            }
        }
Exemplo n.º 3
0
 public ReportOnTheCostsOfOperatingCarsRow(CarEvent carEvent)
 {
     CarRegistrationNumber = carEvent.Car.RegistrationNumber;
     CarOwnTypeString      = carEvent.Car.CarVersions.Last().CarOwnType.GetEnumTitle();
     CarTypeOfUseString    = carEvent.Car.CarModel.CarTypeOfUse.GetEnumTitle();
     SubjectStart          = carEvent.StartDate;
     SubjectEnd            = carEvent.EndDate;
     SubjectType           = carEvent.CarEventType.Name;
     Foundation            = carEvent.Foundation;
     SubjectComment        = carEvent.Comment;
     Price = carEvent.RepairCost;
 }
Exemplo n.º 4
0
        public static CarEventEntity ToEntity(this CarEvent carEvent)
        {
            var type = carEvent.GetType();

            return(new CarEventEntity(
                       carEvent.GetCarIdFunc ?? (() => carEvent.CarId))
            {
                EventType = type.FullName,
                EventName = type.Name,
                CreatedOn = carEvent.CreatedOn,
                CreatedBy = carEvent.CreatedBy
            });
        }
Exemplo n.º 5
0
        public Task <Car> UpdateAsync(Car car)
        {
            _applicationCarservice.Update(car);
            var carEvent = new CarEvent(
                car.Id,
                car.Name,
                car.Engine,
                car.Model,
                CarStatuses.ACTUALIZADO
                );

            _events.AddEvent(carEvent);
            return(Task.FromResult(car));
        }
Exemplo n.º 6
0
 public async Task ProcessEvent(CarEvent carEventData, Dictionary <string, string> cityRegionMap,
                                IAsyncCollector <EventData> outputEventHubData)
 {
     if (cityRegionMap.ContainsKey(carEventData.city))
     {
         carEventData.region = cityRegionMap[carEventData.city];
     }
     else
     {
         throw new InvalidOperationException($"Could not find a region mapped to the city: {carEventData.city}");
     }
     // Serialize the CarEvent object, add it to a new EventData object, then add to the EventData collection.
     var eventData = new EventData(Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(carEventData)));
     await outputEventHubData.AddAsync(eventData);
 }
Exemplo n.º 7
0
        public Task <Car> DeleteAsync(int carId)
        {
            Car carro = new Car();

            carro = _applicationCarservice.GetCar(carId);
            _applicationCarservice.Delete(carId);
            var carEvent = new CarEvent(
                carro.Id,
                carro.Name,
                carro.Engine,
                carro.Model,
                CarStatuses.BORRADO
                );

            _events.AddEvent(carEvent);
            return(Task.FromResult(carro));
        }
Exemplo n.º 8
0
        static void AnonymusMethodExample()
        {
            CarEvent c1 = new CarEvent("SlugBug", 100, 10);

            c1.AboutToBlow += delegate {
                Console.WriteLine("Eek! Going to fast");
            };
            c1.AboutToBlow += delegate(object sender, CarEventArgs e){
                Console.WriteLine("Mesage from Car {0}", e.msg);
            };
            c1.Exploded += delegate(object sender, CarEventArgs e){
                Console.WriteLine("Fatal Message from car: {0}", e.msg);
            };
            for (int i = 0; i < 6; i++)
            {
                c1.Accelerate(20);
            }
        }
Exemplo n.º 9
0
        public static void CarEventExample()
        {
            var car = new CarEvent(10, 5, 1000)
            {
                Tank = 50,
                LastCheckEngineMileAge = 20
            };

            car.LowFuelEvent += (double fuel) => {
                Console.WriteLine($"Low fuel!!! {fuel}");
            };

            car.CheckEngineEvent += (double mileAge) => {
                Console.WriteLine($"Check Engine!!! {mileAge}");
            };

            car.Move(100);

            //car.LowFuelEvent(25);
        }
Exemplo n.º 10
0
        static void AnonymousLocal()
        {
            int      aboutToBlowCounter = 0;
            CarEvent c1 = new CarEvent("SlugBug", 100, 10);

            c1.AboutToBlow += delegate {
                aboutToBlowCounter++;
                Console.WriteLine("Eek! Going too fast!");
            };
            c1.AboutToBlow += delegate(object sender, CarEventArgs e)
            {
                aboutToBlowCounter++;
                Console.WriteLine("critical message from car: {0}", e.msg);
            };
            for (int i = 0; i < 6; i++)
            {
                c1.Accelerate(20);
            }
            Console.WriteLine("aboutToBlow event was fired {0} times", aboutToBlowCounter);
        }
Exemplo n.º 11
0
        private IList <CarEvent> GetEvents()
        {
            Car        carAlias        = null;
            CarEvent   carEventAlias   = null;
            CarModel   carModelAlias   = null;
            CarVersion carVersionAlias = null;

            return(UoW.Session.QueryOver(() => carEventAlias)
                   .JoinAlias(() => carEventAlias.Car, () => carAlias)
                   .JoinAlias(() => carAlias.CarModel, () => carModelAlias)
                   .JoinAlias(() => carAlias.CarVersions, () => carVersionAlias)
                   .WhereRestrictionOn(() => carEventAlias.CarEventType).IsInG(GetSelectedCarEventTypes())
                   .WhereRestrictionOn(() => carModelAlias.CarTypeOfUse).IsInG(SelectedCarTypeOfUse)
                   .WhereRestrictionOn(() => carVersionAlias.CarOwnType).IsInG(SelectedCarOwnTypes)
                   .Where(() => carVersionAlias.EndDate == null)
                   .And(() => Car == null || Car == carEventAlias.Car)
                   .And(() => carEventAlias.StartDate >= StartDate)
                   .And(() => carEventAlias.EndDate <= EndDate)
                   .And(() => !carEventAlias.DoNotShowInOperation)
                   .List <CarEvent>());
        }
Exemplo n.º 12
0
        static void ExampleEvent()
        {
            CarEvent c1 = new CarEvent("SlugBug", 100, 10);

            //c1.AboutToBlow += new CarEvent.CarEngineHandler(CarIsAlmostDoomed);
            //c1.AboutToBlow += new CarEvent.CarEngineHandler(CarAboutToBlow);
            //упрощенная запись
            c1.AboutToBlow += CarAboutToBlow;
            //CarEvent.CarEngineHandler d = new CarEvent.CarEngineHandler(CarExploded);
            //c1.Exploded += d;

            for (int i = 0; i < 6; i++)
            {
                c1.Accelerate(20);
            }
            //c1.Exploded -= d;

            for (int i = 0; i < 6; i++)
            {
                c1.Accelerate(20);
            }
        }
Exemplo n.º 13
0
    private static string GetCarTelemetryString()
    {
        try
        {
            var city = GetLocation();

            var info = new CarEvent()
            {
                vin  = GetRandomVIN(),
                city = city,
                outsideTemperature = GetOutsideTemp(),
                engineTemperature  = GetEngineTemp(),
                speed        = GetSpeed(),
                fuel         = random.Next(10, 100),
                engineoil    = GetOil(),
                tirepressure = GetTirePressure(),
                odometer     = random.Next(1000, 200000),
                accelerator_pedal_position = random.Next(1, 100),
                parking_brake_status       = GetRandomBoolean(),
                headlamp_status            = GetRandomBoolean(),
                brake_pedal_status         = GetRandomBoolean(),
                transmission_gear_position = GetGearPos(),
                ignition_status            = GetRandomBoolean(),
                windshield_wiper_status    = GetRandomBoolean(),
                abs       = GetRandomBoolean(),
                timestamp = DateTime.UtcNow
            };
            return(JsonConvert.SerializeObject(info));
        }
        catch (Exception exception)
        {
            Console.ForegroundColor = ConsoleColor.Red;
            Console.WriteLine("{0} > Exception: {1}", DateTime.Now.ToString(), exception.Message);
            Console.ResetColor();
            return("ERROR => " + exception.Message);
        }
    }
Exemplo n.º 14
0
 public CarEvent AddEvent(CarEvent carEvent)
 {
     AllEvents.Push(carEvent);
     _eventStream.OnNext(carEvent);
     return(carEvent);
 }
Exemplo n.º 15
0
 public void RegisterEventHndler(CarEvent handler)
 {
     this.carEventHandler += handler;
 }
Exemplo n.º 16
0
 public void SetDelegate(CarEvent target)
 {
     _showMsg = target;
 }
Exemplo n.º 17
0
 public void DeregisterCarEventHandler(CarEvent handler)
 {
     this.carEventHandler -= handler;
 }
Exemplo n.º 18
0
        public static void Initialize(ApplicationDbContext context)
        {
            context.Database.EnsureCreated();
            string[]   departmentsArray = new string[] { "Design", "Development", "Offshore", "Sales" };
            Guid[]     departmentsIds   = new Guid[departmentsArray.Length];
            string[]   jobTitlesArray   = new string[] { "Developer", "Architect", "Manager", "Designer" };
            Guid[]     jobTitlesIds     = new Guid[jobTitlesArray.Length];
            string[]   statusArray      = new string[] { "Work", "Sick", "Holliday", "Free" };
            Guid[]     statusesIds      = new Guid[statusArray.Length];
            Status[]   statuses         = new Status[statusArray.Length];
            Employee[] employees        = new Employee[65];
            DateTime   startDate        = DateTime.UtcNow.AddDays(-60);

            #region Status
            if (!context.Status.Any())
            {
                for (int i = 0; i < statuses.Length; i++)
                {
                    statuses[i] = new Status
                    {
                        Id    = Guid.NewGuid(),
                        Title = statusArray[i]
                    };
                    statusesIds[i] = statuses[i].Id;
                }
                context.AddRange(statuses);
                context.SaveChanges();
            }

            #endregion

            #region Departments
            if (!context.Departments.Any())
            {
                Department[] departments = new Department[departmentsArray.Length];
                for (int i = 0; i < departments.Length; i++)
                {
                    departments[i] = new Department
                    {
                        Id    = Guid.NewGuid(),
                        Title = departmentsArray[i]
                    };
                    departmentsIds[i] = departments[i].Id;
                }
                context.AddRange(departments);
                context.SaveChanges();
            }



            #endregion

            #region JobTitle
            if (!context.JobTitles.Any())
            {
                JobTitle[] jobTitles = new JobTitle[jobTitlesArray.Length];
                for (int i = 0; i < jobTitles.Length; i++)
                {
                    jobTitles[i] = new JobTitle
                    {
                        Id    = Guid.NewGuid(),
                        Title = jobTitlesArray[i]
                    };
                    jobTitlesIds[i] = jobTitles[i].Id;
                }
                context.AddRange(jobTitles);
                context.SaveChanges();
            }

            #endregion

            #region Relations
            if (!context.Relations.Any())
            {
                Relation[] relations = new Relation[15];
                for (int i = 0; i < relations.Length; i++)
                {
                    relations[i] = new Relation
                    {
                        Id         = Guid.NewGuid(),
                        RelationId = rnd.Next(1, 99999).ToString(),
                        Title      = Faker.Company.Name(),
                        Address    = new Address
                        {
                            Id       = Guid.NewGuid(),
                            Street   = Faker.Address.StreetName(),
                            House    = rnd.Next(199).ToString(),
                            City     = Faker.Address.City(),
                            Country  = Faker.Address.Country(),
                            PostCode = Faker.Address.ZipCode()
                        },
                        Contact = new Contact
                        {
                            Id            = Guid.NewGuid(),
                            ContactPerson = Faker.Name.FullName(),
                            PhoneNumber   = Faker.Phone.Number(),
                            Email         = Faker.Internet.Email()
                        },
                        Note = new Note
                        {
                            Id    = Guid.NewGuid(),
                            Title = Faker.Lorem.Sentence(2)
                        }
                    };
                }
                context.AddRange(relations);
                context.SaveChanges();
            }
            #endregion

            #region Employees
            if (!context.Employees.Any())
            {
                var personGenerator = new PersonNameGenerator();

                var relation = context.Relations.Where(x => x.RelationType == RelationType.Subcontractor).FirstOrDefault();
                for (int i = 0; i < employees.Length; i++)
                {
                    employees[i] = new Employee
                    {
                        Id              = Guid.NewGuid(),
                        EmployeeID      = rnd.Next(1, 9999).ToString(),
                        FirstName       = personGenerator.GenerateRandomFirstName(),
                        LastName        = personGenerator.GenerateRandomLastName(),
                        DepartmentId    = departmentsIds[rnd.Next(4)],
                        JobTitleId      = jobTitlesIds[rnd.Next(4)],
                        IsSubcontractor = false,
                        //Subcontractor = relation,
                        Address = new Address
                        {
                            Id       = Guid.NewGuid(),
                            Street   = Faker.Address.StreetName(),
                            House    = rnd.Next(199).ToString(),
                            Flat     = rnd.Next(30).ToString(),
                            City     = Faker.Address.City(),
                            Country  = Faker.Address.Country(),
                            PostCode = Faker.Address.ZipCode()
                        },
                        Contact = new Contact
                        {
                            Id = Guid.NewGuid(),
                            //ContactPerson = Faker.Name.FullName(),
                            PhoneNumber = Faker.Phone.Number(),
                            Email       = Faker.Internet.Email()
                        },
                    };
                }
                context.AddRange(employees);
                context.SaveChanges();
            }
            #endregion

            #region Cars
            if (!context.Cars.Any())
            {
                Car[] cars = new Car[] {
                    new Car {
                        Id = Guid.NewGuid(), NumberPlate = "HHA015", Model = "Opel Astra"
                    },
                    new Car {
                        Id = Guid.NewGuid(), NumberPlate = "HHA012", Model = "Kia Ceed"
                    },
                    new Car {
                        Id = Guid.NewGuid(), NumberPlate = "OHB114", Model = "VW Gold"
                    },
                    new Car {
                        Id = Guid.NewGuid(), NumberPlate = "AHN336", Model = "Opel Vectra"
                    }
                };
                context.AddRange(cars);
                context.SaveChanges();
            }

            #endregion

            #region Tags
            if (!context.Tags.Any())
            {
                Tag[] tags = new Tag[] {
                    new Tag {
                        Id = Guid.NewGuid(), Title = "Java", Level = TagLevel.Level1, TagType = TagType.Employee
                    },
                    new Tag {
                        Id = Guid.NewGuid(), Title = "C#", Level = TagLevel.Level1, TagType = TagType.Employee
                    },
                    new Tag {
                        Id = Guid.NewGuid(), Title = "English", Level = TagLevel.Level2, TagType = TagType.Employee
                    },
                    new Tag {
                        Id = Guid.NewGuid(), Title = "Design", Level = TagLevel.Level3, TagType = TagType.Employee
                    },
                    new Tag {
                        Id = Guid.NewGuid(), Title = "Web", Level = TagLevel.Level1, TagType = TagType.Project
                    },
                    new Tag {
                        Id = Guid.NewGuid(), Title = "Mobile", Level = TagLevel.Level1, TagType = TagType.Project
                    },
                    new Tag {
                        Id = Guid.NewGuid(), Title = "India", Level = TagLevel.Level2, TagType = TagType.Project
                    }
                };
                context.AddRange(tags);
                context.SaveChanges();
            }

            #endregion

            /*
             * // event generator
             * if (!context.Events.Any())
             * {
             *  List<Event> events = new List<Event>();
             *
             *  for (int i = 0; i < employees.Length; i++)
             *  {
             *      var amount = rnd.Next(10);
             *      var date = startDate;
             *      for (int j = 0; j < amount; j++)
             *      {
             *          var e = EventGenerator(employees[i].Id, date);
             *          events.Add(e);
             *          date = e.Till;
             *          e = null;
             *      }
             *  }
             *  context.AddRange(events);
             *  context.SaveChanges();
             * }
             */

            #region Projects
            if (!context.Projects.Any())
            {
                var       client  = context.Relations.FirstOrDefault();
                Project[] project = new Project[] {
                    new Project {
                        Id = Guid.NewGuid(), Title = "GoBiGas", Manager = "Petras Kaufmanas", Client = client
                    },
                    new Project {
                        Id = Guid.NewGuid(), Title = "Piping installation", Manager = "Andris Parnu", Client = client
                    },
                    new Project {
                        Id = Guid.NewGuid(), Title = "Insulation Tanks", Manager = "Jeronimas Milius", Client = client
                    },
                };
                context.AddRange(project);
                context.SaveChanges();
            }
            #endregion

            #region Events
            if (!context.EmployeeEvents.Any())
            {
                var employee = context.Employees.FirstOrDefault();
                var project  = context.Projects.FirstOrDefault();

                EmployeeEvent[] employeeEvents = new EmployeeEvent[]
                {
                    new EmployeeEvent
                    {
                        Id       = Guid.NewGuid(),
                        Start    = DateTime.UtcNow.AddDays(-10),
                        End      = DateTime.UtcNow.AddDays(15),
                        Resource = employee.Id,
                        Project  = project,
                        Status   = statuses[0]
                    },
                    new EmployeeEvent
                    {
                        Id       = Guid.NewGuid(),
                        Start    = DateTime.UtcNow.AddDays(25),
                        End      = DateTime.UtcNow.AddDays(120),
                        Resource = employee.Id,
                        Project  = project,
                        Status   = statuses[1]
                    }
                };

                context.AddRange(employeeEvents);
                context.SaveChanges();
            }

            if (!context.CarEvents.Any())
            {
                var employee = context.Employees.FirstOrDefault();
                var car      = context.Cars.FirstOrDefault();

                CarEvent[] carEvents = new CarEvent[]
                {
                    new CarEvent
                    {
                        Id       = Guid.NewGuid(),
                        Start    = DateTime.UtcNow.AddDays(-10),
                        End      = DateTime.UtcNow.AddDays(15),
                        Resource = car.Id,
                        Employee = employee,
                        Status   = statuses[2]
                    },
                    new CarEvent
                    {
                        Id       = Guid.NewGuid(),
                        Start    = DateTime.UtcNow.AddDays(25),
                        End      = DateTime.UtcNow.AddDays(120),
                        Resource = car.Id,
                        Employee = employee,
                        Status   = statuses[0]
                    }
                };

                context.AddRange(carEvents);
                context.SaveChanges();
            }
            #endregion
        }