public async Task<StatusData<UpsertCompanyEmployeeResponse>> UpsertCompanyEmployee(UpsertCompanyEmployeeRequest request, byte mode, SystemSession session)
        {
            var serviceRequest = new CompanyEmployeeInfo
            {
                UserId = session.UserId,
                Username = session.UserName,
                Mode = mode,
                EmployeeId = request.EmployeeId,
                EmployeeTypeId = request.EmployeeTypeId,
                PositionId = request.PositionId,
                StartDate = request.StartDate.ToString(),
                EndDate = request.EndDate.ToString(),
                IsExecutiveBody = request.IsExecutiveBody,
                IsPromoted = request.IsPromoted
            };
            var response = await Task.Factory.StartNew(() => Client.UserService.upsertCompanyEmployee(serviceRequest, session.GetSession())).ConfigureAwait(false);

            var result = new StatusData<UpsertCompanyEmployeeResponse> { Status = (SystemDbStatus)response.DbStatus.DbStatusCode, Message = response.DbStatus.DbStatusMsg, SubStatus = response.DbStatus.DbSubStatusCode };
            if (result.Status.IsOperationSuccessful())
            {
                result.Data = new UpsertCompanyEmployeeResponse
                {
                    CompanyUserId = response.CompanyUserId
                };
            }
            return result;
        }
 public Task<StatusData<UpsertCompanyEmployeeResponse>> UpsertCompanyEmployee(UpsertCompanyEmployeeRequest request, byte mode, SystemSession session)
 {
     return _jUnitOfWork.ProfileBusiness.UpsertCompanyEmployee(request, mode, session);
 }