public async Task <ActionResult <JobResponseModel> > Schedule(JobCreateRequestModel model)
        {
            var services = await this.garageService.Services(model.DepartmentId);

            JobScheduleData scheduleJobModel = new JobScheduleData()
            {
                CreatedByEmployeeId  = this.currentEmployeeService.CurrentEmployeeId,
                CreateByEmployeeName = this.currentEmployeeService.EmployeeName,
                DeadLine             = DateTime.UtcNow,
                DepartmentId         = model.DepartmentId,
                PurchasedServices    = services.Where(x => model.PurchasedServices.Contains(x.Id)).Select(s => new PurchasedServiceModel()
                {
                    Name  = s.Name,
                    Id    = s.Id,
                    Price = s.Price,
                }),
                VehicleId = model.VehicleId,
            };

            JobResponseModel scheludeJob = await jobSchedulerService.Schedule(
                scheduleJobModel,
                this.currentEmployeeService.GarageRole.ToString(),
                this.currentEmployeeService.CurrentGarageId.ToString(),
                this.currentEmployeeService.CurrentEmployeeId.ToString(),
                this.currentEmployeeService.EmployeeName);

            return(Created(nameof(Schedule), scheludeJob));
        }
        public async Task <JobResponseModel> Schedule(JobScheduleData model)
        {
            Job job = new Job()
            {
                CreatedDate          = DateTime.UtcNow,
                CreatedByEmployeeId  = model.CreatedByEmployeeId,
                CreateByEmployeeName = model.CreateByEmployeeName,
                DeadLine             = DateTime.UtcNow,
                DepartmentId         = model.DepartmentId,
                JobStatus            = JobStatus.Pending,
                VehicleId            = model.VehicleId,
            };

            job.PurchasedServices = model.PurchasedServices.Select(ps => new JobService()
            {
                Name      = ps.Name,
                Price     = ps.Price,
                ServiceId = ps.Id
            }).ToList();

            this.dbContext.Add(job);

            await this.dbContext.SaveChangesAsync();


            var scheduledJob = new JobResponseModel()
            {
                AssignedEmployeeId   = job.AssignedEmployeeId,
                CreatedByEmployeeId  = job.CreatedByEmployeeId,
                CreateByEmployeeName = job.CreateByEmployeeName,
                AssignedEmployeeName = job.AssignedEmployeeName,
                CreatedDate          = job.CreatedDate,
                DeadLine             = job.DeadLine,
                DepartmentId         = job.DepartmentId,
                FinishedDate         = job.FinishedDate,
                Id                = job.Id,
                JobStatus         = job.JobStatus,
                PurchasedServices = job.PurchasedServices.Select(s => new PurchasedServiceModel()
                {
                    Name  = s.Name,
                    Price = s.Price,
                    Id    = s.ServiceId,
                }),
                StratedDate = job.StratedDate,
                VehicleId   = job.VehicleId,
            };

            return(scheduledJob);
        }