public OperationResult <IUserDTO> CreateEmployeeBySProc(IUserDTO userDTO)
        {
            OperationResult <IUserDTO> getUserReturnValue = null;

            try
            {
                EmployeePortalValidationResult validationResult = Validator <UserValidator, IUserDTO> .Validate(userDTO, ValidationConstants.CreateEmployee + "," + ValidationConstants.CommomUservalidations + "," + ValidationConstants.UpdateCreateUser);

                if (!validationResult.IsValid)
                {
                    getUserReturnValue = OperationResult <IUserDTO> .CreateFailureResult(validationResult);
                }
                else
                {
                    IUserDAC userDAC = (IUserDAC)DACFactory.Instance.Create(DACType.UserManagerDAC);
                    userDTO = userDAC.CreateEmployeeBySProc(userDTO);
                    if (userDTO != null)
                    {
                        getUserReturnValue = OperationResult <IUserDTO> .CreateSuccessResult(userDTO);
                    }
                    else
                    {
                        getUserReturnValue = OperationResult <IUserDTO> .CreateFailureResult("creation Failed");
                    }
                }
            }
            catch (DACException dacEx)
            {
                getUserReturnValue = OperationResult <IUserDTO> .CreateErrorResult(dacEx.Message, dacEx.StackTrace);
            }
            catch (Exception ex)
            {
                ExceptionManager.HandleException(ex);
                getUserReturnValue = OperationResult <IUserDTO> .CreateErrorResult(ex.Message, ex.StackTrace);
            }
            return(getUserReturnValue);
        }