示例#1
0
        public IResult <IEmployeeDetailsReturn> GetEmployeeDetailsByEmployeeKey(string employeeKeyValue)
        {
            var employeeKeyResult = KeyParserHelper.ParseResult <IEmployeeKey>(employeeKeyValue);

            if (!employeeKeyResult.Success)
            {
                return(employeeKeyResult.ConvertTo <IEmployeeDetailsReturn>());
            }

            var employeeKey = new EmployeeKey(employeeKeyResult.ResultingObject);
            var employee    = _coreUnitOfWork.EmployeesRepository.FindByKey(employeeKey);

            if (employee == null)
            {
                return(new InvalidResult <IEmployeeDetailsReturn>(null, string.Format(UserMessages.EmployeeByKeyNotFound, employeeKeyValue)));
            }

            return(new SuccessResult <IEmployeeDetailsReturn>(new EmployeeDetailsReturn
            {
                EmployeeKey = new EmployeeKey(employee).KeyValue,
                DisplayName = employee.DisplayName,
                UserName = employee.UserName,
                EmailAddress = employee.EmailAddress,
                IsActive = employee.IsActive,
                Claims = ClaimsSerializationHelper.Deserialize(employee.Claims)
            }));
        }
示例#2
0
        public IResult UpdateEmployee(IUpdateEmployeeParameters values)
        {
            var parseKeyResult = KeyParserHelper.ParseResult <IEmployeeKey>(values.EmployeeKey);

            if (!parseKeyResult.Success)
            {
                return(parseKeyResult);
            }

            var employeeKey = new EmployeeKey(parseKeyResult.ResultingObject);
            var employee    = _coreUnitOfWork.EmployeesRepository.FindByKey(employeeKey);

            if (employee == null)
            {
                return(new InvalidResult(string.Format(UserMessages.EmployeeByKeyNotFound, employeeKey)));
            }

            employee.DisplayName  = values.DisplayName;
            employee.EmailAddress = values.EmailAddress;
            employee.IsActive     = values.IsActive;
            employee.UserName     = values.UserName;
            employee.Claims       = ClaimsSerializationHelper.Serialize(values.Claims);

            _coreUnitOfWork.Commit();
            return(new SuccessResult("Employee updated successfully."));
        }
示例#3
0
        public IResult <IEmployeeDetailsReturn> GetEmployeeDetailsByUserName(string userName)
        {
            var employee = _coreUnitOfWork.EmployeesRepository.FindBy(e => e.UserName.Equals(userName, StringComparison.OrdinalIgnoreCase));

            if (employee == null)
            {
                return(new InvalidResult <IEmployeeDetailsReturn>(null, string.Format(UserMessages.EmployeeByUserNameNotFound, userName)));
            }

            return(new SuccessResult <IEmployeeDetailsReturn>(new EmployeeDetailsReturn
            {
                EmployeeKey = new EmployeeKey(employee).KeyValue,
                DisplayName = employee.DisplayName,
                UserName = employee.UserName,
                EmailAddress = employee.EmailAddress,
                IsActive = employee.IsActive,
                Claims = ClaimsSerializationHelper.Deserialize(employee.Claims)
            }));
        }