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));
 }