public List <apartment_employee> SearchListApartmentEmployee(FilterModel filter)
 {
     return(ApartmentEmployeeRepository
            .FindBy(p => (filter.Id == -1 || p.employee_id == filter.Id) &&
                    filter.FromDate <= p.check_in_time && p.check_in_time <= filter.ToDate &&
                    (Equals(filter.Address, null) || p.contract.address.Contains(filter.Address)) &&
                    (Equals(filter.NoApartment, null) || p.contract.no_apartment.Contains(filter.NoApartment)) &&
                    (Equals(filter.Building, null) || p.contract.building.Contains(filter.Building)) &&
                    (filter.ProjectId == -1 || p.contract.apartment.project_id == filter.ProjectId)).OrderByDescending(p => p.apartment_employee_id).Include(p => p.contract.apartment.project).Include(p => p.employee).Include(p => p.apartment_employee_issue).ToList());
 }
 public apartment_employee GetApartmentEmployeeById(int id)
 {
     return(ApartmentEmployeeRepository.FindBy(p => p.apartment_employee_id == id).FirstOrDefault());
 }
 public List <apartment_employee> GetListApartmentEmployeeByEmployeeIdAndTimeStamp(int employeeId, int startTime, int endTime)
 {
     return(ApartmentEmployeeRepository.FindBy(p =>
                                               p.employee_id == employeeId && startTime <= p.check_in_time && p.check_in_time <= endTime).Include(p => p.contract.apartment).ToList());
 }
 public apartment_employee GetLastApartmentEmployeeNotCheckOutByEmployeeId(int employeeId)
 {
     return(ApartmentEmployeeRepository.FindBy(p =>
                                               p.employee_id == employeeId && Equals(p.check_out_time, null))
            .FirstOrDefault());
 }
 public apartment_employee GetLastApartmentEmployeeByApartmentIdAndEmployeeId(int apartmentId, int employeeId)
 {
     return(ApartmentEmployeeRepository.FindBy(p =>
                                               p.contract.apartment_id == apartmentId && p.employee_id == employeeId)
            .FirstOrDefault());
 }
 public void SaveApartmentEmployee(apartment_employee model)
 {
     ApartmentEmployeeRepository.Save(model);
 }