public OperationResult <IUserDTO> CreateAUser(IUserDTO userDTO) { OperationResult <IUserDTO> createUserReturnValue = null; IUserDAC userDAC = null; IUserDTO UserDTO = null; try { AdminPortalValidationResult validationResult = Validator <UserValidator, IUserDTO> .Validate(userDTO, "CreateUserEmail"); if (!validationResult.IsValid) { createUserReturnValue = OperationResult <IUserDTO> .CreateFailureResult(validationResult); } else { userDAC = (IUserDAC)DACFactory.Instance.Create(DACType.UserDAC); UserDTO = userDAC.CreateAUser(userDTO); if (UserDTO != null) { createUserReturnValue = OperationResult <IUserDTO> .CreateSuccessResult(UserDTO, "User Creation Successfull"); } else { createUserReturnValue = OperationResult <IUserDTO> .CreateFailureResult("Error! Cannot create a customer"); } } } catch (DACException dacEx) { createUserReturnValue = OperationResult <IUserDTO> .CreateErrorResult(dacEx.Message, dacEx.StackTrace); } catch (Exception ex) { ExceptionManager.HandleException(ex); createUserReturnValue = OperationResult <IUserDTO> .CreateErrorResult(ex.Message, ex.StackTrace); } return(createUserReturnValue); }