internal static Security RestoreSerializableDTO(Security current, SecurityModelDTO model) { var s = new Security(current.Core, current.Metadata, current.SecurityRoles.Values.ToList(), current.db) { SecurityRoleMapping = model.SecurityRoleMapping.ToDictionary(x => x.Key, x => x.Value), Shares = model.Shares.ToDictionary(x => new EntityReference { Id = x.Key.Id, LogicalName = x.Key.LogicalName }, x => x.Value.ToDictionary(y => new EntityReference { Id = y.Key.Id, LogicalName = y.Key.LogicalName }, y => y.Value)), addedRoles = new List <Guid>(model.AddedRoles) }; s.PrinciplePrivilages = model.PrinciplePrivilages.ToDictionary(x => x.Key, x => x.Value.ToDictionary(y => y.Key, y => y.Value)); return(s); }
public SecurityModelDTO ToSerializableDTO() { var jsonObj = new SecurityModelDTO { AddedRoles = this.addedRoles, PrinciplePrivilages = this.PrinciplePrivilages, SecurityRoleMapping = this.SecurityRoleMapping, Shares = this.Shares.ToDictionary(x => new EntityReferenceDTO { Id = x.Key.Id, LogicalName = x.Key.LogicalName }, x => x.Value.ToDictionary(y => new EntityReferenceDTO { Id = y.Key.Id, LogicalName = y.Key.LogicalName }, y => y.Value)) }; return(jsonObj); }