Ejemplo n.º 1
0
        public virtual List <TPrivilegeDto> CreateOrUpdateEntities(List <TPrivilegeDto> privilegeDtos, string languageId)
        {
            if (privilegeDtos == null)
            {
                // TODO specify
                throw new Exception();
            }

            var privileges = new List <TPrivilege>();

            foreach (var privilegeDto in privilegeDtos)
            {
                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);
                privileges.Add(privilege);
            }

            return(_mapper.Map <List <TPrivilegeDto> >(_repository.CreateOrUpdateEntities(privileges)));
        }