public EmployeeMetadataDTO UpdateOrCreateEmployee(EmployeeMetadataDTO employeeDTO)
        {
            Employee newEmployee = null;

            if (employeeDTO.EmployeeId != Guid.Empty)
            {
                newEmployee = DbContext.Employees.Find(employeeDTO.EmployeeId);
            }
            if (newEmployee != null) // Edit existing
            {
                newEmployee.Avatar     = employeeDTO.Avatar;
                newEmployee.Email      = employeeDTO.Email;
                newEmployee.FirstName  = employeeDTO.FirstName;
                newEmployee.isApprover = employeeDTO.isApprover;
                newEmployee.LastName   = employeeDTO.LastName;
                newEmployee.Title      = employeeDTO.Title;
            }
            else // Create new Employee
            {
                newEmployee            = EmployeeMetadataDTO.MapToBaseFunc(employeeDTO);
                newEmployee.EmployeeId = Guid.NewGuid();
                DbContext.Employees.Add(newEmployee);
            }

            DbContext.SaveChanges();

            return(EmployeeMetadataDTO.MapToDTOFunc(newEmployee));
        }