Ejemplo n.º 1
0
        public virtual TPrivilegeDto CreateOrUpdateEntity(TPrivilegeDto privilegeDto, string languageId)
        {
            if (privilegeDto == null)
            {
                // TODO specify
                throw new Exception();
            }

            var relatedSystem = RelatedSystem.NONE;

            if (privilegeDto != null && privilegeDto.GetType() == typeof(PermissionDto))
            {
                var permissionType = (privilegeDto as PermissionDto).PermissionType;
                if (permissionType.HasFlag(PermissionTypeDto.CLIENT))
                {
                    relatedSystem |= RelatedSystem.CLIENT;
                }
                if (permissionType.HasFlag(PermissionTypeDto.SERVER))
                {
                    relatedSystem |= RelatedSystem.SERVER;
                }
            }

            var privilege = new TPrivilege()
            {
                Name        = privilegeDto.Name,
                Description = privilegeDto.Description,
                Id          = privilegeDto.Id
            };

            SetDynamicProperties(privilegeDto, privilege);
            return(_mapper.Map <TPrivilegeDto>(_repository.CreateOrUpdateEntity(privilege)));
        }