ultimate/Repository/EmployeeRepository.cs
Frede Hundewadt 6c13b606ef update
2023-12-11 14:05:07 +01:00

58 lines
No EOL
2.1 KiB
C#

// ***********************************************************************
// Assembly : Repository
// Author : frede
// Created : 2023 06 11 10:31
//
// Last Modified By : frede
// Last Modified On : 2023 06 11 10:31
// ***********************************************************************
// <copyright file="EmployeeRepository.cs" company="FCS">
// Copyright (C) 2023-2023 FCS Frede's Computer Services.
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the
// License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see [https://www.gnu.org/licenses]
// </copyright>
// <summary></summary>
// ***********************************************************************
using Contracts;
using Entities;
namespace Repository;
public class EmployeeRepository : RepositoryBase<Employee>, IEmployeeRepository
{
public EmployeeRepository(RepositoryContext repositoryContext) : base(repositoryContext)
{
}
public IEnumerable<Employee> GetEmployees(Guid companyId, bool trackChanges) =>
FindByCondition(e => e.CompanyId.Equals(companyId), trackChanges)
.OrderBy(e => e.Name)
.ToList();
public Employee? GetEmployee(Guid companyId, Guid employeeId, bool trackChanges) =>
FindByCondition(e => e.CompanyId.Equals(companyId) && e.Id.Equals(employeeId), trackChanges)
.SingleOrDefault();
public void CreateEmployeeForCompany(Guid companyId, Employee employee)
{
employee.CompanyId = companyId;
Create(employee);
}
public void DeleteEmployee(Employee employee) => Delete(employee);
}