public JsonModels.Network GetNetworkJson(Network network) { try { if (network != null) { JsonModels.Network networkJson = new JsonModels.Network(); networkJson.id = network.id; networkJson.coverPicture = network.coverPicture; networkJson.description = network.description; networkJson.name = network.name; networkJson.privacy = network.privacy; networkJson.profileURL = network.profileURL; if (network.GetType().Name.Contains("Network_TopNetwork")) { Network_TopNetwork topNetwork = networkAccessor.GetTopNetwork(network.id); if (topNetwork.subNetworks.Count > 0) { List<JsonModels.NetworkShell> subNetShells = new List<JsonModels.NetworkShell>(); foreach (Network_SubNetwork subNetwork in topNetwork.subNetworks) { if (subNetwork != null) { JsonModels.NetworkShell netShell = new JsonModels.NetworkShell(); netShell.id = subNetwork.id; netShell.name = subNetwork.name; netShell.profileURL = subNetwork.profileURL; netShell.coverPicture = subNetwork.coverPicture; netShell.privacy = subNetwork.privacy; subNetShells.Add(netShell); } } networkJson.subNetworks = subNetShells; networkJson.parentNetwork = null; } else { networkJson.subNetworks = null; } } else if (network.GetType().Name.Contains("Network_SubNetwork")) { Network_SubNetwork subNetwork = (Network_SubNetwork)network; if (subNetwork.groups.Count > 0) { List<JsonModels.NetworkShell> groupShells = new List<JsonModels.NetworkShell>(); foreach (Network_Group group in subNetwork.groups) { if (group != null) { JsonModels.NetworkShell gShell = new JsonModels.NetworkShell(); gShell.id = group.id; gShell.name = group.name; gShell.profileURL = group.profileURL; gShell.coverPicture = group.coverPicture; gShell.privacy = group.privacy; groupShells.Add(gShell); } } networkJson.subNetworks = groupShells; JsonModels.NetworkShell parentNetworkShell = new JsonModels.NetworkShell(); Network_TopNetwork topNet = subNetwork.Network_TopNetwork; parentNetworkShell.id = topNet.id; parentNetworkShell.name = topNet.name; parentNetworkShell.profileURL = topNet.profileURL; parentNetworkShell.coverPicture = topNet.coverPicture; parentNetworkShell.privacy = topNet.privacy; networkJson.parentNetwork = parentNetworkShell; } else { networkJson.subNetworks = null; JsonModels.NetworkShell parentNetworkShell = new JsonModels.NetworkShell(); Network_TopNetwork topNet = subNetwork.Network_TopNetwork; parentNetworkShell.id = topNet.id; parentNetworkShell.name = topNet.name; parentNetworkShell.profileURL = topNet.profileURL; parentNetworkShell.coverPicture = topNet.coverPicture; parentNetworkShell.privacy = topNet.privacy; networkJson.parentNetwork = parentNetworkShell; } } else if (network.GetType().Name.Contains("Network_Group")) { Network_Group networkGroup = (Network_Group)network; JsonModels.NetworkShell parentNetworkShell = new JsonModels.NetworkShell(); Network_SubNetwork subNet = networkGroup.Network_SubNetwork; parentNetworkShell.id = subNet.id; parentNetworkShell.name = subNet.name; parentNetworkShell.profileURL = subNet.profileURL; parentNetworkShell.coverPicture = subNet.coverPicture; parentNetworkShell.privacy = subNet.privacy; networkJson.parentNetwork = parentNetworkShell; } if (network.admins.Count > 0) { List<JsonModels.NetworkUserShell> adminShells = new List<JsonModels.NetworkUserShell>(); foreach (User admin in network.admins) { if (admin != null) { JsonModels.NetworkUserShell adminJson = new JsonModels.NetworkUserShell(); adminJson.userId = admin.id; adminJson.firstName = admin.firstName; adminJson.lastName = admin.lastName; adminJson.profileURL = admin.profileURL; adminJson.pictureLocation = admin.networkPictureThumbnail; if (admin.isPublic == 1) { adminJson.visibility = "visible"; } else { adminJson.visibility = "hidden"; } adminShells.Add(adminJson); } } networkJson.admins = adminShells; } return networkJson; } else { return null; } } catch (Exception ex) { logAccessor.CreateLog(DateTime.Now, "Network Manager - GetNetworkJson", ex.StackTrace); return null; } }
public JsonModels.NetworkUsers GetNetworkUsers(int networkId) { try { Network network = networkAccessor.GetNetwork(networkId); if (network != null) { JsonModels.NetworkUsers networkUsersJson = new JsonModels.NetworkUsers(); networkUsersJson.users = new List<JsonModels.NetworkUserShell>(); foreach (User u in network.networkUsers) { if (u != null) { JsonModels.NetworkUserShell userShell = new JsonModels.NetworkUserShell(); userShell.userId = u.id; userShell.firstName = u.firstName; userShell.lastName = u.lastName; userShell.profileURL = u.profileURL; userShell.pictureLocation = u.networkPictureThumbnail; if (u.isPublic == 1) { userShell.visibility = "visible"; } else { userShell.visibility = "hidden"; } networkUsersJson.users.Add(userShell); } } return networkUsersJson; } else { //couldnt find network return null; } } catch (Exception ex) { logAccessor.CreateLog(DateTime.Now, "Network Manager - GetNetworkUsers", ex.StackTrace); return null; } }
public string AddNetworkAdmin(int networkId, string adminEmail, string token) { if (Request.RequestType.Equals("OPTIONS", StringComparison.InvariantCultureIgnoreCase)) //This is a preflight request { return null; } try { int userId = authenticationEngine.authenticate(token); if (userId < 0) { return AddErrorHeader("You are not authenticated, please log in!", 2); } if (networkManager.IsNetworkAdmin(networkId, userId)) { string added = networkManager.AddNetworkAdmin(networkId, adminEmail); if (added == "success") { User admin = userManager.GetUserByEmail(adminEmail); if (admin != null) { JsonModels.NetworkUserShell uShell = new JsonModels.NetworkUserShell(); uShell.firstName = admin.firstName; uShell.profileURL = admin.profileURL; uShell.lastName = admin.lastName; uShell.userId = admin.id; if (admin.isPublic == 1) { uShell.visibility = "visible"; } else { uShell.visibility = "hidden"; } return AddSuccessHeader(Serialize(uShell)); } else { return AddSuccessHeader("An email has been sent to "+adminEmail+" with instructions on creating a Vestn Account",true); } } else if(added == "admin not found") { return AddErrorHeader("The administrator you attempted to add does not have a Vestn account. Please have your administrator create an account, then try adding them again", 1); } else if (added == "admin exists") { return AddErrorHeader("This user is already an administrator", 1); } else { return AddErrorHeader("An error occurred while adding this administrator" , 1); } return AddErrorHeader("An error occurred while adding this administrator", 1); } else { return AddErrorHeader("User must be an admin to add network administrators", 3); } } catch (Exception ex) { logAccessor.CreateLog(DateTime.Now, "NetworkController - AddNetworkAdmin", ex.StackTrace); return AddErrorHeader("something went wrong while adding this network administrator", 1); } }