private void FillPortalUser(UserIdentity user, AzureAdUser adUser, BLModel.UserPermission newPermission, List <BLModel.PortalModule> modules) { newPermission.UserType = UserType.Portal; newPermission.FirstName = adUser.givenName; newPermission.LastName = adUser.surname; newPermission.Notes = user.Description; newPermission.UserName = user.EmailAddress; if (!string.IsNullOrEmpty(adUser.mobilePhone)) { newPermission.PhoneNumber = adUser.mobilePhone; } else if (adUser.businessPhones.Any()) { newPermission.PhoneNumber = adUser.businessPhones.First(); } newPermission.Portal = new BLModel.Portal(); newPermission.Portal.IsActive = true; newPermission.Portal.IsAdmin = user.Claims.Any(e => e.Value.ToLower() == "admin"); //Non Admin if (newPermission.Portal.IsAdmin == false) { foreach (var module in modules) { if (module.ModuleType == "User") { newPermission.Portal.ModulePermissions[module.ModuleName] = module.ModulePermission; } else { newPermission.Portal.ModulePermissions[module.ModuleName] = new BLModel.Permission(false); } } } else { foreach (var module in modules) { newPermission.Portal.ModulePermissions[module.ModuleName] = new BLModel.Permission(true); } } }
public static SharepointList ParseFromJsonPayload(string payload) { SharepointList ToReturn = new SharepointList(); JObject jo = JObject.Parse(payload); //Created At JProperty prop_createdDateTime = jo.Property("createdDateTime"); if (prop_createdDateTime != null) { if (prop_createdDateTime.Value.Type != JTokenType.Null) { ToReturn.CreatedAt = DateTime.Parse(prop_createdDateTime.Value.ToString()); } } //description JProperty prop_description = jo.Property("description"); if (prop_description != null) { if (prop_description.Value.Type != JTokenType.Null) { ToReturn.Description = prop_description.Value.ToString(); } } //Id JProperty prop_id = jo.Property("id"); if (prop_id != null) { if (prop_id.Value.Type != JTokenType.Null) { ToReturn.Id = Guid.Parse(prop_id.Value.ToString()); } } //Last Modified JProperty prop_lastModifiedDateTime = jo.Property("lastModifiedDateTime"); if (prop_lastModifiedDateTime != null) { if (prop_lastModifiedDateTime.Value.Type != JTokenType.Null) { ToReturn.LastModified = DateTime.Parse(prop_lastModifiedDateTime.Value.ToString()); } } //Name JProperty prop_name = jo.Property("name"); if (prop_name != null) { if (prop_name.Value.Type != JTokenType.Null) { ToReturn.Name = prop_name.Value.ToString(); } } //Web url JProperty prop_url = jo.Property("webUrl"); if (prop_url != null) { if (prop_url.Value.Type != JTokenType.Null) { ToReturn.Url = prop_url.Value.ToString(); } } //Display Name JProperty prop_displayName = jo.Property("displayName"); if (prop_displayName != null) { if (prop_displayName.Value.Type != JTokenType.Null) { ToReturn.DisplayName = prop_displayName.Value.ToString(); } } //Created by user JObject jo_createdBy = JObject.Parse(jo.Property("createdBy").Value.ToString()); if (jo_createdBy != null) { JObject jo_user = JObject.Parse(jo_createdBy.Property("user").Value.ToString()); if (jo_user != null) { AzureAdUser user = AzureAdUser.ParseFromJsonPayload(jo_user.ToString()); ToReturn.CreatedBy = user; } } //Last modified by user JProperty prop_lastModifiedBy = jo.Property("lastModifiedBy"); if (prop_lastModifiedBy != null) { JObject jo_lastModifiedBy = JObject.Parse(jo.Property("lastModifiedBy").Value.ToString()); if (jo_createdBy != null) { JObject jo_user = JObject.Parse(jo_lastModifiedBy.Property("user").Value.ToString()); if (jo_user != null) { AzureAdUser user = AzureAdUser.ParseFromJsonPayload(jo_user.ToString()); ToReturn.LastModifiedBy = user; } } } //List type JObject jo_list = JObject.Parse(jo.Property("list").Value.ToString()); if (jo_list != null) { JProperty prop_template = jo_list.Property("template"); if (prop_template != null) { if (prop_template.Value.Type != JTokenType.Null) { string tt = prop_template.Value.ToString(); if (tt == "documentLibrary") { ToReturn.ListType = SharepointListType.DocumentLibrary; } else if (tt == "genericList") { ToReturn.ListType = SharepointListType.GenericList; } else { ToReturn.ListType = SharepointListType.Other; } } } } return(ToReturn); }
public static SharepointListItem ParseFromJsonPayload(string payload) { SharepointListItem ToReturn = new SharepointListItem(); JObject jo = JObject.Parse(payload); //Created At JProperty prop_createdDateTime = jo.Property("createdDateTime"); if (prop_createdDateTime != null) { if (prop_createdDateTime.Value.Type != JTokenType.Null) { ToReturn.CreatedAt = DateTime.Parse(prop_createdDateTime.Value.ToString()); } } //Id JProperty prop_id = jo.Property("id"); if (prop_id != null) { if (prop_id.Value.Type != JTokenType.Null) { ToReturn.Id = prop_id.Value.ToString(); } } //Last Modified JProperty prop_lastModifiedDateTime = jo.Property("lastModifiedDateTime"); if (prop_lastModifiedDateTime != null) { if (prop_lastModifiedDateTime.Value.Type != JTokenType.Null) { ToReturn.LastModified = DateTime.Parse(prop_lastModifiedDateTime.Value.ToString()); } } //Web url JProperty prop_url = jo.Property("webUrl"); if (prop_url != null) { if (prop_url.Value.Type != JTokenType.Null) { ToReturn.Url = prop_url.Value.ToString(); } } //Created by user JObject jo_createdBy = JObject.Parse(jo.Property("createdBy").Value.ToString()); if (jo_createdBy != null) { JObject jo_user = JObject.Parse(jo_createdBy.Property("user").Value.ToString()); if (jo_user != null) { AzureAdUser user = AzureAdUser.ParseFromJsonPayload(jo_user.ToString()); ToReturn.CreatedBy = user; } } //Last modified by user JObject jo_lastModifiedBy = JObject.Parse(jo.Property("lastModifiedBy").Value.ToString()); if (jo_createdBy != null) { JObject jo_user = JObject.Parse(jo_lastModifiedBy.Property("user").Value.ToString()); if (jo_user != null) { AzureAdUser user = AzureAdUser.ParseFromJsonPayload(jo_user.ToString()); ToReturn.LastModifiedBy = user; } } //Fields JProperty prop_fields = jo.Property("fields"); if (prop_fields != null) { if (prop_fields.Value.Type != JTokenType.Null) { JObject fields = JObject.Parse(prop_fields.Value.ToString()); ToReturn.Fields = fields; } } return(ToReturn); }