public Entities.Schedule GetScheduleByID(int id)
 {
     if (id == 0)
         throw new NullReferenceException("No Schedule Found With id" + id);
     Schedule sch = new Schedule();
     try
     {
         sch = ScheduleRepo.GetAll().FirstOrDefault(x => x.ScheduleId == id);
         ScheduleRepo.Detach(sch);
     }
     catch (Exception ex)
     {
         throw new NoScheduleFoundException("No Schedule Found");
     }
     return sch;
 }
        public bool Update(Schedule schedule)
        {
            bool IsUpdated = false;

            //Schedule sch = GetScheduleByID(schedule.ScheduleId);
            if (schedule == null)
                throw new NoScheduleFoundException("Cannot find the Schedule");
            try
            {
                
                ScheduleRepo.Update(schedule);
                IsUpdated = true;
            }
            catch (Exception)
            {
                throw new ScheduleNotUpdatedException("schedule not updated");
            }
            return IsUpdated;
        }
 public Entities.Schedule GetScheduleByEmployeeID(int id)
 {
     if (id == 0)
         throw new NullReferenceException("No Schedule Found With id" + id);
     List<Schedule> schs = new List<Schedule>();
     Schedule sch = new Schedule();
     try
     {
         schs = ScheduleRepo.GetAll().ToList();
         foreach (var item in schs)
         {
             if (item.EmployeeID == id)
             {
                 sch = item;
             }
         }
     }
     catch (Exception)
     {
         throw new NoScheduleFoundException("No Schedule Found");
     }
     return sch;
 }
         public void InsertSchedule(ScheduleViewModule Sch)
         {
             Schedule schedule = new Schedule();
             Employee emp = new Employee();
             emp =empMan.GetEmployeeByID(Sch.EmployeeId);
             
             schedule.ScheduledDate = Sch.date;
             schedule.ScheduledTime = Sch.starttime;
             schedule.ScheduledStatus = Sch.ScheduleStatus;
             schedule.EmployeeID = Sch.EmployeeId;
             Vehicle veh= vehman.GetVehicleByID(emp.Vehicle.VehicleId);
             schedule.SeatsAvailable = veh.VehicleType.NoOfSeats - 1 ;
             if(Sch.Direction.CompareTo("From_Home")==0)
             {
                 schedule.ToAddressID = emp.OfficeAddress.AddressId;
                 schedule.FromAddressID = emp.HomeAddress.AddressId;
             }
             else
             {
                 schedule.ToAddressID = emp.HomeAddress.AddressId;
                 schedule.FromAddressID = emp.OfficeAddress.AddressId;
             }

             scheduleManager.AddSchedule(schedule);
         }