Esempio n. 1
0
        public async Task <IList <Tasks> > GetAllAsync(string requestId = "")
        {
            _logger.LogInformation($"RequestId: {requestId} - TasksRepo_GetAllAsync called.");

            try
            {
                var siteList = new SiteList
                {
                    SiteId = _appOptions.ProposalManagementRootSiteId,
                    ListId = _appOptions.TasksListId
                };

                var json = await _graphSharePointAppService.GetListItemsAsync(siteList, "all", requestId);

                JArray jsonArray = JArray.Parse(json["value"].ToString());

                var itemsList = new List <Tasks>();
                foreach (var item in jsonArray)
                {
                    itemsList.Add(JsonConvert.DeserializeObject <Tasks>(item["fields"].ToString(), new JsonSerializerSettings
                    {
                        MissingMemberHandling = MissingMemberHandling.Ignore
                    }));
                }

                return(itemsList);
            }
            catch (Exception ex)
            {
                _logger.LogError($"RequestId: {requestId} - TasksRepo_GetAllAsync error: {ex}");
                throw;
            }
        }
        public async Task <JObject> GetListItemsAsync(SiteList siteList, IList <QueryParam> queryOptions, string expand = "", string requestId = "")
        {
            // GET: https://graph.microsoft.com/v1.0/sites/{site-id}/lists/{list-id}/items
            // EXAMPLE: https://graph.microsoft.com/v1.0/sites/onterawe.sharepoint.com,e4330185-7583-4b11-bb2c-2a0a9196d7f6,3830a01b-ed62-4c22-bd9c-283ba275622c/lists/UserRoles

            _logger.LogInformation($"RequestId: {requestId} - GetListItemsAsync called.");
            try
            {
                Guard.Against.Null(siteList, nameof(siteList), requestId);
                Guard.Against.NullOrEmpty(siteList.ListId, nameof(siteList.ListId), requestId);
                Guard.Against.NullOrEmpty(siteList.SiteId, nameof(siteList.SiteId), requestId);

                if (!String.IsNullOrEmpty(expand))
                {
                    queryOptions.Add(new QueryParam("expand", expand));
                }

                var requestOptions = string.Empty;
                foreach (var item in queryOptions)
                {
                    if (String.IsNullOrEmpty(requestOptions))
                    {
                        requestOptions = $"/?{item.Name}={item.Value}";
                    }
                    else
                    {
                        requestOptions = requestOptions + $"&{item.Name}={item.Value}";
                    }
                }

                var requestUrl = $"{_appOptions.GraphRequestUrl}sites/{siteList.SiteId}/lists/{siteList.ListId}/items{requestOptions}";

                // Create the request message and add the content.
                HttpRequestMessage hrm = new HttpRequestMessage(HttpMethod.Get, requestUrl);

                var response = new HttpResponseMessage();

                // Authenticate (add access token) our HttpRequestMessage
                await GraphClient.AuthenticationProvider.AuthenticateRequestAsync(hrm);

                _logger.LogInformation($"RequestId: {requestId} - GetListItemsAsync call to graph: " + requestUrl);

                // Send the request and get the response.
                response = await GraphClient.HttpProvider.SendAsync(hrm);

                // Get the status response and throw if is not 200.
                Guard.Against.NotStatus200OK(response.StatusCode, "GetListItemsAsync", requestId);

                //TODO: Handle SkipToken
                JObject responseJObject = await response.Content.ReadAsAsync <JObject>();

                _logger.LogInformation($"RequestId: {requestId} - GetListItemsAsync end.");
                return(responseJObject);
            }
            catch (Exception ex)
            {
                _logger.LogError($"RequestId: {requestId} - GetListItemsAsync Service Exception: {ex}");
                throw new ResponseException($"RequestId: {requestId} - GetListItemsAsync Service Exception: {ex}");
            }
        }
Esempio n. 3
0
        /// <summary>
        /// Handles the <see cref="UIElement.MouseDown"/> event for the hosted <see
        /// cref="MapView"/>.</summary>
        /// <param name="sender">
        /// The <see cref="Object"/> where the event handler is attached.</param>
        /// <param name="args">
        /// A <see cref="MouseButtonEventArgs"/> object containing event data.</param>
        /// <remarks><para>
        /// <b>OnMapMouseDown</b> changes the selected <see cref="Site"/> on left button clicks and
        /// selects the corresponding item in the "Site" list view if it exists.
        /// </para><para>
        /// Left clicks outside the map area deselect the currently selected <see cref="Site"/> and
        /// the selected item in the "Site" list view instead.</para></remarks>

        private void OnMapMouseDown(object sender, MouseButtonEventArgs args)
        {
            args.Handled = true;

            // left mouse button moves selection
            if (args.ChangedButton == MouseButton.Left)
            {
                // select site clicked on, if any
                PointI site = this._mapView.MouseToSite(args);
                this._mapView.SelectedSite = site;

                // clear list view selection
                SiteList.SelectedIndex = -1;
                if (site == Site.InvalidLocation)
                {
                    return;
                }

                // select corresponding item in Site list view
                for (int i = 0; i < SiteList.Items.Count; i++)
                {
                    SiteListItem item = (SiteListItem)SiteList.Items[i];

                    if (item.Item3 == site)
                    {
                        SiteList.SelectedIndex = i;
                        SiteList.ScrollIntoView(item);
                        break;
                    }
                }
            }
        }
Esempio n. 4
0
        public async Task <Dashboard> GetAsync(string Id, string requestId = "")
        {
            _logger.LogInformation($"RequestId: {requestId} - DashboardRepository_GetAsync called.");

            try
            {
                var siteList = new SiteList
                {
                    SiteId = _appOptions.ProposalManagementRootSiteId,
                    ListId = _appOptions.DashboardListId
                };
                var id      = WebUtility.UrlEncode(Id);
                var options = new List <QueryParam>();
                options.Add(new QueryParam("filter", $"startswith(fields/OpportunityID,'{id}')"));

                var json = await _graphSharePointAppService.GetListItemsAsync(siteList, options, "all", requestId);

                var dashboardObject = json["value"][0]["fields"].ToString();

                var dashboard = JsonConvert.DeserializeObject <Dashboard>(dashboardObject, new JsonSerializerSettings
                {
                    MissingMemberHandling = MissingMemberHandling.Ignore,
                    NullValueHandling     = NullValueHandling.Ignore
                });

                return(dashboard);
            }
            catch (Exception ex)
            {
                _logger.LogError($"RequestId: {requestId} - DashboardRepository_GetAllAsync error: {ex}");
                throw;
            }
        }
Esempio n. 5
0
        public async Task <SiteList> UpdateList(SiteList list)
        {
            var existingList = await GetListById(list.SiteListId, true);

            if (existingList == null)
            {
                throw new CallerException("Cannot find SiteList to update");
            }

            existingList.Name      = list.Name;
            existingList.Visible   = list.Visible;
            existingList.UpdatedBy = list.UpdatedBy;

            using (var uow = new UnitOfWork(Context))
            {
                var repo = new SiteListRepository(uow);

                existingList = await repo.Update(existingList);
            }

            var siteListCache = new SiteListCache(Cache);

            await siteListCache.InvalidateSiteListCache();

            return(existingList);
        }
        private async Task <IList <Permission> > GetPermissionListAsync(string requestId)
        {
            _logger.LogInformation($"RequestId: {requestId} - PermissionRepo_GetPermissionListAsync called.");

            try
            {
                var siteList = new SiteList
                {
                    SiteId = _appOptions.ProposalManagementRootSiteId,
                    ListId = _appOptions.Permissions
                };

                dynamic json = await _graphSharePointAppService.GetListItemsAsync(siteList, "all", requestId);

                var itemsList = new List <Permission>();
                foreach (var item in json.value)
                {
                    itemsList.Add(JsonConvert.DeserializeObject <Permission>(item["fields"].ToString(), new JsonSerializerSettings
                    {
                        MissingMemberHandling = MissingMemberHandling.Ignore
                    }));
                }

                return(itemsList);
            }
            catch (Exception ex)
            {
                _logger.LogError($"RequestId: {requestId} - PermissionRepo_GetPermissionListAsync error: {ex}");
                throw;
            }
        }
Esempio n. 7
0
 public void dispose()
 {
     int i,n;
     if (_sites)
     {
         _sites.dispose();
         _sites = null;
     }
     if (_triangles)
     {
         n = _triangles.Count;
         for (i = 0; i < n; ++i)
         {
             _triangles[i].dispose();
         }
         _triangles.Count = 0;
         _triangles = null;
     }
     if (_edges)
     {
         n = _edges.Count;
         for (i = 0; i < n; ++i)
         {
             _edges[i].dispose();
         }
         _edges.Count = 0;
         _edges = null;
     }
     _plotBounds = null;
     _sitesIndexedByLocation = null;
 }
Esempio n. 8
0
        private async Task <IList <Role> > GetRoleListAsync(string requestId)
        {
            _logger.LogInformation($"RequestId: {requestId} - RolesRepo_GetRoleListAsync called.");

            try
            {
                var siteList = new SiteList
                {
                    SiteId = _appOptions.ProposalManagementRootSiteId,
                    ListId = _appOptions.RoleListId
                };

                var json = await _graphSharePointAppService.GetListItemsAsync(siteList, "all", requestId);

                JArray jsonArray = JArray.Parse(json["value"].ToString());

                var itemsList = new List <Role>();
                foreach (var item in jsonArray)
                {
                    var role = Role.Empty;
                    role.Id          = item["fields"]["id"].ToString() ?? String.Empty;
                    role.DisplayName = item["fields"]["Name"].ToString() ?? String.Empty;

                    itemsList.Add(role);
                }

                return(itemsList);
            }
            catch (Exception ex)
            {
                _logger.LogError($"RequestId: {requestId} - RolesRepo_GetRoleListAsync error: {ex}");
                throw;
            }
        }
Esempio n. 9
0
        async private void MainPage_Loaded(object sender, RoutedEventArgs e)
        {
            if (Sites == null || Sites != null && !Sites.Any())
            {
                pb.Visibility = Visibility.Visible;
                var list = await WebGard.GetSites();

                if (list == null || list != null && !list.Any())
                {
                    string str = "There is a problem that couldn't retrive sites." + Environment.NewLine
                                 + "Please check your network and try again.";
                    await new Windows.UI.Popups.MessageDialog(str).ShowAsync();
                }
                else
                {
                    Sites = list;
                    gridView.ItemsSource = Sites;
                    await new Windows.UI.Popups.MessageDialog(string.Format("{0} site(s) added...", list.Count)).ShowAsync();
                }
            }
            else
            {
                gridView.ItemsSource = Sites;
            }
            pb.Visibility = Visibility.Collapsed;
        }
Esempio n. 10
0
        public async Task CreateAllListsAsync(string siteRootId, string requestId = "")
        {
            _logger.LogInformation($"RequestId: {requestId} - SetupService_CreateAllListsAsync called.");

            var sharepointLists = GetSharePointLists();
            var siteList        = new SiteList();

            siteList.SiteId = siteRootId;

            foreach (var list in sharepointLists)
            {
                try
                {
                    string htmlBody = string.Empty;
                    switch (list)
                    {
                    case ListSchema.OpportunitiesListId:
                        htmlBody = SharePointListsSchemaHelper.OpportunitiesJsonSchema(_appOptions.OpportunitiesListId);
                        break;

                    case ListSchema.Permissions:
                        htmlBody = SharePointListsSchemaHelper.PermissionJsonSchema(_appOptions.Permissions);
                        break;

                    case ListSchema.ProcessListId:
                        htmlBody = SharePointListsSchemaHelper.WorkFlowItemsJsonSchema(_appOptions.ProcessListId);
                        break;

                    case ListSchema.OpportunityMetaDataId:
                        htmlBody = SharePointListsSchemaHelper.OpportunityMetaDataJsonSchema(_appOptions.OpportunityMetaDataId);
                        break;

                    case ListSchema.RoleListId:
                        htmlBody = SharePointListsSchemaHelper.RoleJsonSchema(_appOptions.RoleListId);
                        break;

                    case ListSchema.GroupsListId:
                        htmlBody = SharePointListsSchemaHelper.GroupJsonSchema(_appOptions.GroupsListId);
                        break;

                    case ListSchema.TemplateListId:
                        htmlBody = SharePointListsSchemaHelper.TemplatesJsonSchema(_appOptions.TemplateListId);
                        break;

                    case ListSchema.DashboardListId:
                        htmlBody = SharePointListsSchemaHelper.DashboardJsonSchema(_appOptions.DashboardListId);
                        break;

                    case ListSchema.TasksListId:
                        htmlBody = SharePointListsSchemaHelper.TasksJsonSchema(_appOptions.TasksListId);
                        break;
                    }
                    await _graphSharePointAppService.CreateSiteListAsync(htmlBody, siteRootId);
                }
                catch (Exception ex)
                {
                    _logger.LogError($"RequestId: {requestId} - SetupService_CreateAllListsAsync error: {ex}");
                }
            }
        }
Esempio n. 11
0
        public async Task <StatusCodes> DeleteItemAsync(string id, string requestId = "")
        {
            _logger.LogInformation($"RequestId: {requestId} - ProcessRepository_DeleteItemAsync called.");

            try
            {
                Guard.Against.Null(id, nameof(id), requestId);

                var processSiteList = new SiteList
                {
                    SiteId = _appOptions.ProposalManagementRootSiteId,
                    ListId = _appOptions.ProcessListId
                };

                var json = await _graphSharePointAppService.DeleteListItemAsync(processSiteList, id, requestId);

                Guard.Against.Null(json, nameof(json), requestId);

                return(StatusCodes.Status204NoContent);
            }
            catch (Exception ex)
            {
                _logger.LogError($"RequestId: {requestId} - ProcessRepository_DeleteItemAsync Service Exception: {ex}");
                throw new ResponseException($"RequestId: {requestId} - ProcessRepository_DeleteItemAsync Service Exception: {ex}");
            }
        }
        public async Task <StatusCodes> CreateItemAsync(Groups entity, string requestId = "")
        {
            _logger.LogInformation($"RequestId: {requestId} - GroupsRepo_CreateItemAsync called.");

            try
            {
                var siteList = new SiteList
                {
                    SiteId = _appOptions.ProposalManagementRootSiteId,
                    ListId = _appOptions.GroupsListId
                };

                // Create Json object for SharePoint create list item
                dynamic itemFieldsJson = new JObject();
                itemFieldsJson.GroupName = entity.GroupName;
                itemFieldsJson.Title     = entity.Id;
                itemFieldsJson.Process   = JsonConvert.SerializeObject(entity.Processes, Formatting.Indented);

                dynamic itemJson = new JObject();
                itemJson.fields = itemFieldsJson;

                await _graphSharePointAppService.CreateListItemAsync(siteList, itemJson.ToString(), requestId);

                _logger.LogInformation($"RequestId: {requestId} - GroupsRepo_CreateItemAsync finished creating SharePoint list item.");

                return(StatusCodes.Status201Created);
            }
            catch (Exception ex)
            {
                _logger.LogError($"RequestId: {requestId} - GroupsRepo_CreateItemAsync error: {ex}");
                throw;
            }
        }
        public async Task <StatusCodes> DeleteItemAsync(string id, string requestId = "")
        {
            _logger.LogInformation($"RequestId: {requestId} - PermissionRepo_DeleteItemAsync called.");

            try
            {
                Guard.Against.NullOrEmpty(id, "PermissionRepo_DeleteItemAsync id null or empty", requestId);

                var siteList = new SiteList
                {
                    SiteId = _appOptions.ProposalManagementRootSiteId,
                    ListId = _appOptions.Permissions
                };

                await _graphSharePointAppService.DeleteListItemAsync(siteList, id, requestId);

                _logger.LogInformation($"RequestId: {requestId} - PermissionRepoo_DeleteItemAsync finished creating SharePoint list item.");

                await SetCacheAsync(requestId);

                return(StatusCodes.Status204NoContent);
            }
            catch (Exception ex)
            {
                _logger.LogError($"RequestId: {requestId} - PermissionRepo_DeleteItemAsync error: {ex}");
                throw;
            }
        }
Esempio n. 14
0
        public static async Task <string> Run([HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)] HttpRequestMessage req, TraceWriter log, ExecutionContext context)
        {
            try
            {
                // Get request body
                dynamic requestData = await req.Content.ReadAsAsync <object>();

                Helpers.HelperMethods helperMethods = new Helpers.HelperMethods(context);

                var      data           = requestData.siteList;
                SiteList siteList       = data.ToObject <SiteList>();
                DateTime date           = requestData.date;
                string   userIdentifier = req.Headers.Authorization.Parameter.ToString();
                var      workHoursList  = await helperMethods.computeHours(userIdentifier, date, siteList);


                return("sucses");
            }
            catch (Exception ex)
            {
                string message = ex.InnerException != null?ex.InnerException.ToString() : ex.Message;

                log.Info(message + " occurred in FirstTimeLogin : " + DateTime.Now);
                return(ex.Message);
            }
        }
Esempio n. 15
0
        public async void SaveSite(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(SelectedRow.Site))
            {
                PushingMessages?.Invoke(this, "Cannot save a blank!");
                return;
            }
            if (IsDublicatedSubmitted(SelectedRow.Site))
            {
                PushingMessages?.Invoke(this, $"{SelectedRow.Site} is already in the system");
                return;
            }

            try
            {
                var sitesModel = await _staticDataDataAccess.AddSite(SelectedRow.Site);

                var mappedSitesModel = _mapper.Map <SitesModel>(sitesModel);
                SiteList.Add(mappedSitesModel);
                PushingMessages?.Invoke(this, $"{SelectedRow.Site} is saved.");
            }
            catch (Exception)
            {
                throw;
            }
        }
Esempio n. 16
0
        public async Task <StatusCodes> UpdateItemAsync(Tasks entity, string requestId = "")
        {
            _logger.LogInformation($"RequestId: {requestId} - TasksRepo_UpdateItemAsync called.");

            try
            {
                var siteList = new SiteList
                {
                    SiteId = _appOptions.ProposalManagementRootSiteId,
                    ListId = _appOptions.TasksListId
                };

                // Create Json object for SharePoint create list item
                dynamic itemJson = new JObject();
                itemJson.Title = entity.Id;
                itemJson.Name  = entity.Name;

                var result = await _graphSharePointAppService.UpdateListItemAsync(siteList, entity.Id, itemJson.ToString(), requestId);

                _logger.LogInformation($"RequestId: {requestId} - TasksRepo_UpdateItemAsync finished creating SharePoint list item.");

                return(StatusCodes.Status200OK);
            }
            catch (Exception ex)
            {
                _logger.LogError($"RequestId: {requestId} - TasksRepo_UpdateItemAsync error: {ex}");
                throw;
            }
        }
        // Private methods
        private async Task <bool> TryGetSiteListAsync(SiteList spSiteList)
        {
            try
            {
                // Call to Graph API to check if SharePoint List exists.
                var graphRequest = new List();
                graphRequest = await GraphAppClient.Sites[spSiteList.SiteId].Lists[spSiteList.ListId].Request().GetAsync();

                return(true);
            }
            catch (ServiceException ex)
            {
                switch (ex.Error.Code)
                {
                case "Request_ResourceNotFound":
                case "ResourceNotFound":
                case "ErrorItemNotFound":
                    throw;

                case "itemNotFound":
                    return(false);

                case "TokenNotFound":
                    //await HttpContext.ChallengeAsync();
                    throw;

                default:
                    throw;
                }
            }
        }
Esempio n. 18
0
        protected override void ProcessRecord()
        {
            Url = Url.TrimEnd('/');
            WriteVerbose(string.Format("Adding site {0} to your site list", Url));
            if (string.IsNullOrEmpty(Username) || string.IsNullOrEmpty(Password))
            {
                var creds = GetLogin();
                Username = creds.Username;
                Password = creds.Password.ToUnsecureString();
            }
            var result  = DnnPromptController.GetToken(Url, Username, Password);
            var retries = 3;

            while (retries > 0 && result.Status == ServerResponseStatus.Failed)
            {
                WriteWarning("Login failed. Please provide username and password again.");
                var creds = GetLogin();
                result = DnnPromptController.GetToken(Url, creds.Username, creds.Password.ToUnsecureString());
                retries--;
            }
            if (result.Status == ServerResponseStatus.Success)
            {
                var sites = SiteList.Instance();
                sites.SetSite(Key, Url, result.Contents, true);
            }
            WriteObject(result.Status);
        }
        public async Task <StatusCodes> UpdateItemAsync(Role entity, string requestId = "")
        {
            _logger.LogInformation($"RequestId: {requestId} - RolesRepo_UpdateItemAsync called.");

            try
            {
                var siteList = new SiteList
                {
                    SiteId = _appOptions.ProposalManagementRootSiteId,
                    ListId = _appOptions.RoleListId
                };

                // Create Json object for SharePoint create list item
                dynamic itemFieldsJson = new JObject();
                itemFieldsJson.AdGroupName     = entity.AdGroupName.Trim();
                itemFieldsJson.Role            = entity.DisplayName.Trim();
                itemFieldsJson.TeamsMembership = entity.TeamsMembership.Name.ToString();
                itemFieldsJson.Permissions     = JsonConvert.SerializeObject(entity.Permissions, Formatting.Indented);

                await _graphSharePointAppService.UpdateListItemAsync(siteList, entity.Id, itemFieldsJson.ToString(), requestId);

                _logger.LogInformation($"RequestId: {requestId} - RolesRepo_UpdateItemAsync finished creating SharePoint list item.");

                return(StatusCodes.Status200OK);
            }
            catch (Exception ex)
            {
                _logger.LogError($"RequestId: {requestId} - RolesRepo_UpdateItemAsync error: {ex}");
                throw;
            }
        }
Esempio n. 20
0
        public async Task CreateSiteAdminPermissionsAsync(string adGroupName, string requestId = "")
        {
            _logger.LogInformation($"RequestId: {requestId} - SetupService_CreateSiteAdminPermissionsAsync called.");
            try
            {
                var siteList = new SiteList
                {
                    SiteId = _appOptions.ProposalManagementRootSiteId,
                    ListId = _appOptions.RoleMappingsListId
                };
                // Create Json object for SharePoint create list item
                dynamic itemFieldsJson = new JObject();
                itemFieldsJson.ADGroupName = adGroupName;
                itemFieldsJson.Role        = "Administrator";
                itemFieldsJson.Permissions = @"[
                      {
                        'typeName': 'Permission',
                        'id': '',
                        'name': 'Administrator'
                      }
                    ]";

                dynamic itemJson = new JObject();
                itemJson.fields = itemFieldsJson;

                await _graphSharePointAppService.CreateListItemAsync(siteList, itemJson.ToString());
            }
            catch (Exception ex)
            {
                _logger.LogError($"RequestId: {requestId} - SetupService_CreateSiteAdminPermissionsAsync Service Exception: {ex}");
                throw;
            }
        }
        public async Task <StatusCodes> CreateItemAsync(Permission entity, string requestId = "")
        {
            _logger.LogInformation($"RequestId: {requestId} - PermissionRepo_CreateItemAsync called.");

            try
            {
                var siteList = new SiteList
                {
                    SiteId = _appOptions.ProposalManagementRootSiteId,
                    ListId = _appOptions.Permissions
                };

                // Create Json object for SharePoint create list item
                dynamic itemFieldsJson = new JObject();
                itemFieldsJson.Name  = entity.Name;
                itemFieldsJson.Title = entity.Id;

                dynamic itemJson = new JObject();
                itemJson.fields = itemFieldsJson;

                await _graphSharePointAppService.CreateListItemAsync(siteList, itemJson.ToString(), requestId);

                _logger.LogInformation($"RequestId: {requestId} - PermissionRepo_CreateItemAsync finished creating SharePoint list item.");

                await SetCacheAsync(requestId);

                return(StatusCodes.Status201Created);
            }
            catch (Exception ex)
            {
                _logger.LogError($"RequestId: {requestId} - PermissionRepo_CreateItemAsync error: {ex}");
                throw;
            }
        }
        // Private methods
        private async Task <JArray> GetRoleMappingListAsync(string requestId = "")
        {
            try
            {
                if (_roleMappingList == null)
                {
                    var siteList = new SiteList
                    {
                        SiteId = _appOptions.ProposalManagementRootSiteId,
                        ListId = _appOptions.RolesListId
                    };

                    var json = await _graphSharePointAppService.GetListItemsAsync(siteList, "all", requestId);

                    JArray jArrayResult = JArray.Parse(json["value"].ToString());

                    _roleMappingList = jArrayResult;
                }

                return(_roleMappingList);
            }
            catch (Exception ex)
            {
                _logger.LogError($"RequestId: {requestId} - GetRoleMappingList Service Exception: {ex}");
                throw new ResponseException($"RequestId: {requestId} - GetRoleMappingList Service Exception: {ex}");
            }
        }
Esempio n. 23
0
 public SiteList GetLinksFromHTMLDocument(HtmlDocument doc)
 {
     SiteList result = new SiteList();
     try
     {
         //получение тегов <a> - выделение ссылок на другие документы
         HtmlNodeCollection links = doc.DocumentNode.SelectNodes("//a[@href]");
         //doc.
         if (links != null)
         {
             foreach (HtmlNode link in links)
             {
                 if (link != null)
                 {
                     int KWFound = 0;
                     string linkurl = link.Attributes["href"].Value;
                     /*if (linkurl.StartsWith("/"))
                     {
                         Uri srcUri = new Uri(linkurl);
                         Uri relUri = new Uri(linkurl, UriKind.Relative);
                         Uri tmp = new Uri(srcUri, relUri);
                         linkurl = tmp.AbsoluteUri;
                     }*/
                     result.Add(linkurl);
                 }
             }
         }
     }
     catch (Exception ex)
     {
         Log(string.Format("{0} \r\n{1}", ex.Message, ex.StackTrace), "Core", LogType.Error);
     }
     return result;
 }
Esempio n. 24
0
 public EdgeList( SiteList siteList) {
     _siteList = siteList;
     LeftEnd = new HalfEdge(null, Side.Left);
     RightEnd = new HalfEdge(null, Side.Left);
     LeftEnd.Right = RightEnd;
     RightEnd.Left = LeftEnd;
 }
        public async Task <JObject> GetSiteListAsync(SiteList siteList, string requestId = "")
        {
            _logger.LogInformation($"RequestId: {requestId} - GetSiteListAsync_siteList called.");

            Guard.Against.Null(siteList, nameof(siteList), requestId);

            return(await GetSiteListAsync(siteList.SiteId, siteList.ListId, requestId));
        }
Esempio n. 26
0
 public EdgeList(SiteList siteList)
 {
     _siteList     = siteList;
     LeftEnd       = new HalfEdge(null, Side.Left);
     RightEnd      = new HalfEdge(null, Side.Left);
     LeftEnd.Right = RightEnd;
     RightEnd.Left = LeftEnd;
 }
Esempio n. 27
0
        public async Task <Dashboard> GetAsync(string Name, string requestId = "")
        {
            _logger.LogInformation($"RequestId: {requestId} - DashboardRepository_GetAsync called.");

            try
            {
                var siteList = new SiteList
                {
                    SiteId = _appOptions.ProposalManagementRootSiteId,
                    ListId = _appOptions.DashboardListId
                };
                var name    = WebUtility.UrlEncode(Name);
                var options = new List <QueryParam>();
                options.Add(new QueryParam("filter", $"startswith(fields/OpportunityName,'{name}')"));

                var json = await _graphSharePointAppService.GetListItemsAsync(siteList, options, "all", requestId);

                var obj       = JObject.Parse(json["value"][0].ToString()).SelectToken("fields");
                var dashboard = new Dashboard();

                dashboard.Id = obj.SelectToken("id")?.ToString();
                dashboard.OpportunityName = obj.SelectToken("OpportunityName")?.ToString();
                dashboard.CustomerName    = obj.SelectToken("CustomerName")?.ToString();
                dashboard.OpportunityId   = obj.SelectToken("OpportunityID")?.ToString();
                dashboard.Status          = obj.SelectToken("Status")?.ToString();
                dashboard.StartDate       = obj.SelectToken("StartDate").ToString();
                dashboard.TotalNoOfDays   = obj.SelectToken("TotalNoOfDays") != null?Int32.Parse(obj.SelectToken("TotalNoOfDays").ToString()) : 0;

                dashboard.TargetCompletionDate = obj.SelectToken("TargetCompletionDate")?.ToString();

                dashboard.ProcessList = obj.SelectToken("ProcessNoOfDays") != null?JsonConvert.DeserializeObject <IList <DashboardProcessList> >(obj.SelectToken("ProcessNoOfDays").ToString(), new JsonSerializerSettings
                {
                    MissingMemberHandling = MissingMemberHandling.Ignore,
                    NullValueHandling     = NullValueHandling.Ignore
                }) : new List <DashboardProcessList>();

                dashboard.ProcessEndDateList = obj.SelectToken("ProcessEndDates") != null?JsonConvert.DeserializeObject <IList <DashboradProcessEndDateList> >(obj.SelectToken("ProcessEndDates").ToString(), new JsonSerializerSettings
                {
                    MissingMemberHandling = MissingMemberHandling.Ignore,
                    NullValueHandling     = NullValueHandling.Ignore
                }) : new List <DashboradProcessEndDateList>();

                dashboard.ProcessLoanOfficerNames = obj.SelectToken("ProcessLoanOfficers") != null?JsonConvert.DeserializeObject <IList <DashboardLoanOfficers> >(obj.SelectToken("ProcessLoanOfficers").ToString(), new JsonSerializerSettings
                {
                    MissingMemberHandling = MissingMemberHandling.Ignore,
                    NullValueHandling     = NullValueHandling.Ignore
                }) : new List <DashboardLoanOfficers>();


                return(dashboard);
            }
            catch (Exception ex)
            {
                _logger.LogError($"RequestId: {requestId} - DashboardRepository_GetAllAsync error: {ex}");
                throw;
            }
        }
        public async Task <StatusCodes> DeleteItemAsync(string id, string requestId = "")
        {
            _logger.LogInformation($"RequestId: {requestId} - OpportunityRepository_DeleteItemAsync called.");

            try
            {
                Guard.Against.Null(id, nameof(id), requestId);

                var opportunitySiteList = new SiteList
                {
                    SiteId = _appOptions.ProposalManagementRootSiteId,
                    ListId = _appOptions.OpportunitiesListId
                };

                var opportunity = await _graphSharePointAppService.GetListItemByIdAsync(opportunitySiteList, id, "all", requestId);

                Guard.Against.Null(opportunity, $"OpportunityRepository_y_DeleteItemsAsync getItemsById: {id}", requestId);

                var opportunityJson = opportunity["fields"]["OpportunityObject"].ToString();

                var oppArtifact = JsonConvert.DeserializeObject <Opportunity>(opportunityJson.ToString(), new JsonSerializerSettings
                {
                    MissingMemberHandling = MissingMemberHandling.Ignore,
                    NullValueHandling     = NullValueHandling.Ignore
                });

                // Check access
                var roles = new List <Role>();
                roles.Add(new Role {
                    DisplayName = "RelationshipManager"
                });
                var checkAccess = await _opportunityFactory.CheckAccessAsync(oppArtifact, roles, requestId);

                if (!checkAccess)
                {
                    _logger.LogError($"RequestId: {requestId} - CheckAccess DeleteItemAsync");
                }

                if (oppArtifact.Metadata.OpportunityState == OpportunityState.Creating)
                {
                    var result = await _graphSharePointAppService.DeleteFileOrFolderAsync(_appOptions.ProposalManagementRootSiteId, $"TempFolder/{oppArtifact.DisplayName}", requestId);

                    // TODO: Check response
                }

                var json = await _graphSharePointAppService.DeleteListItemAsync(opportunitySiteList, id, requestId);

                Guard.Against.Null(json, nameof(json), requestId);

                return(StatusCodes.Status204NoContent);
            }
            catch (Exception ex)
            {
                _logger.LogError($"RequestId: {requestId} - OpportunityRepository_DeleteItemAsync Service Exception: {ex}");
                throw new ResponseException($"RequestId: {requestId} - OpportunityRepository_DeleteItemAsync Service Exception: {ex}");
            }
        }
Esempio n. 29
0
 public void Test2LoadSiteListTest()
 {
     Console.WriteLine("Test2LoadSiteListTest");
     using (FullInputContext inputcontext = new FullInputContext(""))
     {
         SiteList testSiteList = new SiteList(inputcontext.ReaderCreator, inputcontext.dnaDiagnostics, CacheFactory.GetCacheManager(),null, null);
         _siteListloaded = true;
     }
 }
Esempio n. 30
0
    // Use this for initialization
    void Start()
    {
        AppSoftware     = GameObject.Find("Applications");
        HackingSoftware = GameObject.Find("Hacking");
        SysSoftware     = GameObject.Find("System");
        //Computer = GameObject.Find("Computer");

        //System
        clk    = SysSoftware.GetComponent <Clock>();
        defalt = SysSoftware.GetComponent <Defalt>();
        am     = SysSoftware.GetComponent <AppMenu>();
        cmd    = SysSoftware.GetComponent <CLI>();
        com    = SysSoftware.GetComponent <Computer>();
        sc     = SysSoftware.GetComponent <SoundControl>();
        appman = SysSoftware.GetComponent <AppMan>();
        boot   = SysSoftware.GetComponent <Boot>();
        post   = SysSoftware.GetComponent <POST>();
        os     = SysSoftware.GetComponent <OS>();
        mouse  = SysSoftware.GetComponent <Mouse>();
        desk   = SysSoftware.GetComponent <Desktop>();

        //Applications
        al = AppSoftware.GetComponent <AccLog>();
        sm = AppSoftware.GetComponent <SystemMap>();
        ib = AppSoftware.GetComponent <InternetBrowser>();

        //Hacking
        prog  = HackingSoftware.GetComponent <Progtive>();
        trace = HackingSoftware.GetComponent <Tracer>();
        cy    = HackingSoftware.GetComponent <Descy>();
        ds    = HackingSoftware.GetComponent <DirSearch>();

        mb    = GetComponent <MissionBrow>();
        cc    = GetComponent <CurContracts>();
        sl    = GetComponent <SiteList>();
        note  = GetComponent <Notepad>();
        fav   = GetComponent <Favs>();
        tv    = GetComponent <TreeView>();
        mPass = GetComponent <MonitorBypass>();
        wsv   = GetComponent <WebSecViewer>();
        sdp   = GetComponent <ShutdownProm>();
        Audio = GetComponent <AudioSource>();

        windowRect.x = Customize.cust.windowx[windowID];
        windowRect.y = Customize.cust.windowy[windowID];

        Audio.volume = Customize.cust.Volume;
        DesktopY     = -50;
        StartTime    = 0.030f;
        Snap         = false;

        if (Size == 0)
        {
            Size = 21;
        }
    }
Esempio n. 31
0
 public Voronoi(List<Vector2> points,List<uint> colors,Rect plotBounds)
 {
     _sites=new SiteList();
     _sitesIndexedByLocation=new Dictionary<Vector2, Site>();
     addSites(points, colors);
     _plotBounds = plotBounds;
     _triangles = new List<Triangle>();
     _edges = new List<Edge>();
     fortunesAlgorithm();
 }
Esempio n. 32
0
        private bool IsDublicatedSubmitted(string site)
        {
            var Search = SiteList.SingleOrDefault(p => p.Site == site);

            if (Search is null)
            {
                return(false);
            }
            return(true);
        }
Esempio n. 33
0
        public async Task CreateDefaultBusinessProcess(string requestId)
        {
            _logger.LogInformation($"RequestId: {requestId} - SetupService_CreateDefaultBusinessProcess called.");
            try
            {
                var siteList = new SiteList
                {
                    SiteId = _appOptions.ProposalManagementRootSiteId,
                    ListId = _appOptions.TemplateListId
                };

                try
                {
                    // Create Json object for SharePoint create list item
                    dynamic templateFieldsJson = new JObject();
                    templateFieldsJson.TemplateName    = "Default Business Process";
                    templateFieldsJson.Description     = "Default Business Process";
                    templateFieldsJson.LastUsed        = DateTimeOffset.Now.Date;
                    templateFieldsJson.CreatedBy       = "";
                    templateFieldsJson.ProcessList     = @"[{
                                                        'typeName': 'ProcessesType',
                                                        'id': '',
                                                        'processStep': 'Start Process',
                                                        'channel': 'None',
                                                        'processType': 'Base',
                                                        'order': '1.1',
                                                        'roleName': '',
                                                        'daysEstimate': '0',
                                                        'roleId': '',
                                                        'status': 0,
                                                        'processnumber': 0,
                                                        'groupnumber': 0
                                                      }]";
                    templateFieldsJson.DefaultTemplate = "True";

                    dynamic templateJson = new JObject();
                    templateJson.fields = templateFieldsJson;

                    _logger.LogDebug($"RequestId: {requestId} - SetupService_CreateSiteProcessesAsync debug result: {templateJson}");

                    var result = await _graphSharePointAppService.CreateListItemAsync(siteList, templateJson.ToString(), requestId);

                    _logger.LogDebug($"RequestId: {requestId} - SetupService_CreateSiteProcessesAsync debug result: {result}");
                }
                catch (Exception ex)
                {
                    _logger.LogWarning($"RequestId: {requestId} - SetupService_CreateSiteProcessesAsync warning: {ex}");
                }
            }
            catch (Exception ex)
            {
                _logger.LogError($"RequestId: {requestId} - SetupService_CreateSiteProcessesAsync Service Exception: {ex}");
                throw;
            }
        }
Esempio n. 34
0
        private void Init(List <Vector2f> points, Rectf plotBounds)
        {
            sites = new SiteList();
            sitesIndexedByLocation = new Dictionary <Vector2f, Site>();
            AddSites(points);
            this.plotBounds = plotBounds;
            triangles       = new List <Triangle>();
            edges           = new List <Edge>();

            FortunesAlgorithm();
        }
Esempio n. 35
0
 public ViewResult SiteForm(Site site)
 {
     if (ModelState.IsValid)
     {
         SiteList.AddResponse(site);
         return(View("SiteView", site));
     }
     else
     {
         return(View());
     }
 }
Esempio n. 36
0
        public void GetSiteTest_NullDatabaseReader_ThrowsException()
        {
            var cache = mocks.DynamicMock<ICacheManager>();
            cache.Stub(x => x.Contains("")).Constraints(Is.Anything()).Return(false);
            IDnaDiagnostics diag = mocks.DynamicMock<IDnaDiagnostics>();

            IDnaDataReaderCreator creator = mocks.DynamicMock<IDnaDataReaderCreator>();
            creator.Stub(x => x.CreateDnaDataReader("fetchsitedata")).Return(null);

            mocks.ReplayAll();

            SiteList target = new SiteList(creator, diag, cache, null, null);
        }
Esempio n. 37
0
        public void LoadSiteListTest_DatabaseException_ThrowsException()
        {
            var cache = mocks.DynamicMock<ICacheManager>();
            cache.Stub(x => x.Contains("")).Constraints(Is.Anything()).Return(false);
            IDnaDiagnostics diag = mocks.DynamicMock<IDnaDiagnostics>();
            IDnaDataReader reader = mocks.DynamicMock<IDnaDataReader>();
            reader.Stub(x => x.Execute()).Throw(new Exception("test exception"));
            
            IDnaDataReaderCreator creator = mocks.DynamicMock<IDnaDataReaderCreator>();
            creator.Stub(x => x.CreateDnaDataReader("fetchsitedata")).Return(reader);

            mocks.ReplayAll();

            SiteList target = new SiteList(creator, diag, cache, null, null);
        }
Esempio n. 38
0
 public void InsertChat(string chat, string account, string site, string visitor, string chatid)
 {
     if (_liveTex == null) _liveTex = InitLivetext(LivetexLogin, LivetexPassword);
     if (_liveTex == null) return;
     if (_siteList == null) _siteList = _liveTex.GetSiteList();
     var dayBefore = DateTime.Now.AddDays(-1);
     var dayTommorow = DateTime.Now.AddDays(1);
     _liveTex.ProcessChats(dayBefore, dayTommorow, site);
     var chatId = chat != "" ? (int?)Int32.Parse(chat) : null;
     var curentChat = chat != null ? _liveTex.CurrentChats.Chats.Where(x => x.Id == chatId) : null;
     if (curentChat == null) return;
     var list = curentChat.ToList();
     var chats = curentChat as IList<Chat> ?? list;
     //if (chats.Any() && !IsCashedChat(chat))
     {
         ToCashChat(chat);
         InsertChat(chats.First());
     }
 }
Esempio n. 39
0
        public void GivenIHaveAnCommentInTheReferalQueue()
        {
            //To get to this stage we need:-
            //1. Create a comment forum (make it pre-mod)
            //2. Add at least 2 posts
            //3. Refer the first post
            //  a) for a post to be referred it should be in the mod queue (so - make the comment forum pre-mod
            //Let's not make a web request if possible - we'll need the databse though
            //SnapshotInitialisation.RestoreFromSnapshot(); //TODO: SnapshotInitialisation should not depend on IIS at all. 
            //Whatever info is required should be injected.
            //TODO: get this from config
            string connectionString =
                @"database=smallGuide; server=.\MSSQL2008R2; user id=sa; password=Thanatos99; pooling=false";
            
            DataReaderCreator = new DnaDataReaderCreator(connectionString, Diagnostics.Object);

            SiteList = new SiteList(DataReaderCreator,
                                    Diagnostics.Object,
                                    CacheManager.Object,
                                    RipleyServerAddresses,
                                    DotNetServerAddresses);

            var comments = new BBC.Dna.Api.Comments(Diagnostics.Object,
                                                    DataReaderCreator,
                                                    CacheManager.Object,
                                                    SiteList);

            Forum = new Forum();
            Forum.Id = "distress-message-fun-and-games";
            Forum.ParentUri = "http://www.bbc.co.uk/dna/h2g2";
            Forum.Title = "distress-message-fun-and-games";

            Forum.ModerationServiceGroup = ModerationStatus.ForumStatus.PostMod;
            
            Site.Setup(x => x.SiteID).Returns(1);
            Site.Setup(x => x.SiteName).Returns("h2g2");

            //see if this comment forum already exists
            var commentForum = comments.GetCommentForumByUid(Forum.Id, Site.Object, true);
            if (commentForum == null)
            {
                commentForum = comments.CreateCommentForum(Forum, Site.Object);
            }
            //save the forumid for later in the test
            CommentForumId = commentForum.ForumID;

            //if we have less than 2 comments we need to get up to 2
            int commentCount = commentForum.commentList.TotalCount;
            while (commentCount < 2)
            {
                //Ok this is what I want to do but...
                //commentForum.Post(new Comment(...));
                //TODO: can we add this method through a good refactor
                var commentInfo = new CommentInfo();
                commentInfo.text = "Simple comment text " + commentCount.ToString();
                
                var callingUser = new Mock<ICallingUser>();
                callingUser.Setup(x => x.UserID).Returns(TestUserAccounts.GetNormalUserAccount.UserID);
                callingUser.Setup(x => x.IsSecureRequest).Returns(true);
                comments.CallingUser = callingUser.Object;
                
                var info = comments.CreateComment(commentForum, commentInfo);

                commentCount++;
            }
        }
Esempio n. 40
0
        public void GetSiteTest_SiteNameNotExist_ReturnsNull()
        {
            var cache = mocks.DynamicMock<ICacheManager>();
            cache.Stub(x => x.Contains("")).Constraints(Is.Anything()).Return(false);
            IDnaDiagnostics diag = mocks.DynamicMock<IDnaDiagnostics>();
            IDnaDataReader reader = mocks.DynamicMock<IDnaDataReader>();
            reader.Stub(x => x.HasRows).Return(true);
            reader.Stub(x => x.Read()).Return(true).Repeat.Once();
            reader.Stub(x => x.GetInt32("SiteID")).Return(1);
            reader.Stub(x => x["URLName"]).Return("h2g2");
            reader.Stub(x => x["config"]).Return("");
            reader.Stub(x => x.GetString("config")).Return("");
            reader.Stub(x => x.Exists("UseIdentitySignIn")).Return(true);
            reader.Stub(x => x.GetTinyIntAsInt("UseIdentitySignIn")).Return(1);
            reader.Stub(x => x.Exists("IsKidsSite")).Return(true);
            reader.Stub(x => x.GetTinyIntAsInt("IsKidsSite")).Return(1);
            reader.Stub(x => x.GetStringNullAsEmpty("")).Constraints(Is.Anything()).Return("");
            
            IDnaDataReaderCreator creator = mocks.DynamicMock<IDnaDataReaderCreator>();
            creator.Stub(x => x.CreateDnaDataReader("fetchsitedata")).Return(reader);
            creator.Stub(x => x.CreateDnaDataReader("getreviewforums")).Return(GetReviewForumsMockReader());
            creator.Stub(x => x.CreateDnaDataReader("getkeyarticlelist")).Return(GetKeyArticleListMockReader());
            creator.Stub(x => x.CreateDnaDataReader("getsitetopicsopenclosetimes")).Return(GetSiteOpenCloseTimesMockReader());
            creator.Stub(x => x.CreateDnaDataReader("GetTopicDetails")).Return(GetSiteTopicsMockReader()); 
            
            IDnaDataReader readerOptions = mocks.DynamicMock<IDnaDataReader>();
            readerOptions.Stub(x => x.Read()).Return(false);
            creator.Stub(x => x.CreateDnaDataReader("getallsiteoptions")).Return(readerOptions);

            mocks.ReplayAll();

            SiteList target = new SiteList(creator, diag, cache, null, null);
            Assert.IsNull(target.GetSite(""));
            diag.AssertWasCalled(x => x.WriteWarningToLog("SiteList", "A Site doesn't exist with that site name. "));
        }
Esempio n. 41
0
        public void LoadSiteListTest_ValidKidsRecordset_ReturnsSingleSite()
        {
            var cache = mocks.DynamicMock<ICacheManager>();
            cache.Stub(x => x.Contains("")).Constraints(Is.Anything()).Return(false);
            IDnaDiagnostics diag = mocks.DynamicMock<IDnaDiagnostics>();
            IDnaDataReader reader = mocks.DynamicMock<IDnaDataReader>();
            reader.Stub(x => x.HasRows).Return(true);
            reader.Stub(x => x.Read()).Return(true).Repeat.Once();
            reader.Stub(x => x.GetInt32("SiteID")).Return(1);
            reader.Stub(x => x["URLName"]).Return("h2g2");
            reader.Stub(x => x["config"]).Return("");
            reader.Stub(x => x.GetString("config")).Return("");
            reader.Stub(x => x.Exists("UseIdentitySignIn")).Return(true);
            reader.Stub(x => x.GetTinyIntAsInt("UseIdentitySignIn")).Return(1);
            reader.Stub(x => x.Exists("IsKidsSite")).Return(true);
            reader.Stub(x => x.GetTinyIntAsInt("IsKidsSite")).Return(1);
            reader.Stub(x => x.GetStringNullAsEmpty("")).Constraints(Is.Anything()).Return("");
            

            IDnaDataReaderCreator creator = mocks.DynamicMock<IDnaDataReaderCreator>();
            creator.Stub(x => x.CreateDnaDataReader("fetchsitedata")).Return(reader);
            creator.Stub(x => x.CreateDnaDataReader("getreviewforums")).Return(GetReviewForumsMockReader());
            creator.Stub(x => x.CreateDnaDataReader("getkeyarticlelist")).Return(GetKeyArticleListMockReader());
            creator.Stub(x => x.CreateDnaDataReader("getsitetopicsopenclosetimes")).Return(GetSiteOpenCloseTimesMockReader());
            creator.Stub(x => x.CreateDnaDataReader("GetTopicDetails")).Return(GetSiteTopicsMockReader());

            IDnaDataReader readerOptions = mocks.DynamicMock<IDnaDataReader>();
            readerOptions.Stub(x => x.Read()).Return(false);
            creator.Stub(x => x.CreateDnaDataReader("getallsiteoptions")).Return(readerOptions);

            mocks.ReplayAll();

            SiteList target = new SiteList(creator, diag, cache, null, null);

            Assert.AreEqual(1, target.Ids.Count);
        }
Esempio n. 42
0
        public void LoadSiteList_WithOptions_LogsCorrectly()
        {
            var cache = mocks.DynamicMock<ICacheManager>();
            cache.Stub(x => x.Contains("")).Constraints(Is.Anything()).Return(false);
            IDnaDiagnostics diag = mocks.DynamicMock<IDnaDiagnostics>();
            IDnaDataReaderCreator creator = mocks.DynamicMock<IDnaDataReaderCreator>();
            creator.Stub(x => x.CreateDnaDataReader("fetchsitedata")).Return(GetSiteListMockReader());
            creator.Stub(x => x.CreateDnaDataReader("getreviewforums")).Return(GetReviewForumsMockReader());
            creator.Stub(x => x.CreateDnaDataReader("getkeyarticlelist")).Return(GetKeyArticleListMockReader());
            creator.Stub(x => x.CreateDnaDataReader("getsitetopicsopenclosetimes")).Return(GetSiteOpenCloseTimesMockReader());
            creator.Stub(x => x.CreateDnaDataReader("GetTopicDetails")).Return(GetSiteTopicsMockReader());

            IDnaDataReader readerOptions = mocks.DynamicMock<IDnaDataReader>();
            readerOptions.Stub(x => x.Read()).Return(false);
            creator.Stub(x => x.CreateDnaDataReader("getallsiteoptions")).Return(readerOptions);
            

            mocks.ReplayAll();
            SiteList target = new SiteList(creator, diag, cache, null, null);

            diag.AssertWasCalled(x => x.WriteTimedEventToLog("SiteList.LoadSiteList", "Loading sitelist for all sites"));
            diag.AssertWasCalled(x => x.WriteTimedEventToLog("SiteList.LoadSiteList", "Completed loading sitelist for all sites"));
   
        }
Esempio n. 43
0
        public void GetSiteTest_SiteNameExist_ReturnsValidObject()
        {
            var cache = mocks.DynamicMock<ICacheManager>();
            cache.Stub(x => x.Contains("")).Constraints(Is.Anything()).Return(false);
            IDnaDiagnostics diag = mocks.DynamicMock<IDnaDiagnostics>();
            IDnaDataReaderCreator creator = mocks.DynamicMock<IDnaDataReaderCreator>();
            creator.Stub(x => x.CreateDnaDataReader("fetchsitedata")).Return(GetSiteListMockReader());
            creator.Stub(x => x.CreateDnaDataReader("getreviewforums")).Return(GetReviewForumsMockReader());
            creator.Stub(x => x.CreateDnaDataReader("getkeyarticlelist")).Return(GetKeyArticleListMockReader());
            creator.Stub(x => x.CreateDnaDataReader("getsitetopicsopenclosetimes")).Return(GetSiteOpenCloseTimesMockReader());
            creator.Stub(x => x.CreateDnaDataReader("GetTopicDetails")).Return(GetSiteTopicsMockReader());

            IDnaDataReader readerOptions = mocks.DynamicMock<IDnaDataReader>();
            readerOptions.Stub(x => x.Read()).Return(false);
            creator.Stub(x => x.CreateDnaDataReader("getallsiteoptions")).Return(readerOptions);
            mocks.ReplayAll();

            SiteList target = new SiteList(creator, diag, cache, null, null);
            ISite site = target.GetSite("h2g2");
            Assert.IsNotNull(site);
            Assert.AreEqual(1, site.SiteID);
            diag.AssertWasNotCalled(x => x.WriteWarningToLog("SiteList", "A Site doesn't exist with that site id. "));
        }
Esempio n. 44
0
        public void HandleSignal_CorrectSignalWithSiteId_RefreshesIndividualSite()
        {
            var reader = GetSiteListMockReader();
            var reader2 = GetSiteListMockReader2();
            var readerQueue = new Queue<IDnaDataReader>();
            readerQueue.Enqueue(reader);
            readerQueue.Enqueue(reader2);

            var cache = mocks.DynamicMock<ICacheManager>();
            cache.Stub(x => x.Contains("")).Constraints(Is.Anything()).Return(false);
            IDnaDataReaderCreator creator = mocks.DynamicMock<IDnaDataReaderCreator>();

            creator.Stub(x => x.CreateDnaDataReader("fetchsitedata")).Return(reader).WhenCalled(x => x.ReturnValue = readerQueue.Dequeue());
            creator.Stub(x => x.CreateDnaDataReader("getreviewforums")).Return(GetReviewForumsMockReader());
            creator.Stub(x => x.CreateDnaDataReader("getkeyarticlelist")).Return(GetKeyArticleListMockReader());
            creator.Stub(x => x.CreateDnaDataReader("getsitetopicsopenclosetimes")).Return(GetSiteOpenCloseTimesMockReader());
            creator.Stub(x => x.CreateDnaDataReader("GetTopicDetails")).Return(GetSiteTopicsMockReader());
            creator.Stub(x => x.CreateDnaDataReader("getallsiteoptions")).Return(SiteOptionListTest.GetBoolSiteOptionMockReader());
            IDnaDiagnostics diag = mocks.DynamicMock<IDnaDiagnostics>();

            NameValueCollection args = new NameValueCollection();
            args.Add("siteid", "1");

            mocks.ReplayAll();

            var siteList = new SiteList(creator, diag, cache, null, null);
            mocks.ReplayAll();

            Assert.IsTrue(siteList.HandleSignal(siteList.SignalKey, args));
            reader2.AssertWasCalled(x => x.AddParameter("@siteid", 1));
        }
Esempio n. 45
0
        public void GetSiteOptionValueBool_WithValidOption_ReturnsCorrectValue()
        {
            var cache = mocks.DynamicMock<ICacheManager>();
            cache.Stub(x => x.Contains("")).Constraints(Is.Anything()).Return(false);
            IDnaDataReaderCreator creator = mocks.DynamicMock<IDnaDataReaderCreator>();
            creator.Stub(x => x.CreateDnaDataReader("fetchsitedata")).Return(GetSiteListMockReader());
            creator.Stub(x => x.CreateDnaDataReader("getreviewforums")).Return(GetReviewForumsMockReader());
            creator.Stub(x => x.CreateDnaDataReader("getkeyarticlelist")).Return(GetKeyArticleListMockReader());
            creator.Stub(x => x.CreateDnaDataReader("getsitetopicsopenclosetimes")).Return(GetSiteOpenCloseTimesMockReader());
            creator.Stub(x => x.CreateDnaDataReader("GetTopicDetails")).Return(GetSiteTopicsMockReader());
            creator.Stub(x => x.CreateDnaDataReader("getallsiteoptions")).Return(SiteOptionListTest.GetBoolSiteOptionMockReader());
            IDnaDiagnostics diag = mocks.DynamicMock<IDnaDiagnostics>();
            
            mocks.ReplayAll();
            SiteList target = new SiteList(creator, diag, cache, null, null);
            

            Assert.AreEqual(true, target.GetSiteOptionValueBool(1, "test", "test"));

        }
Esempio n. 46
0
        public void IsMessageboard_WithValidOption_ReturnsTrue()
        {
            var cache = mocks.DynamicMock<ICacheManager>();
            cache.Stub(x => x.Contains("")).Constraints(Is.Anything()).Return(false);
            IDnaDataReaderCreator creator = mocks.DynamicMock<IDnaDataReaderCreator>();
            creator.Stub(x => x.CreateDnaDataReader("fetchsitedata")).Return(GetSiteListMockReader());
            creator.Stub(x => x.CreateDnaDataReader("getreviewforums")).Return(GetReviewForumsMockReader());
            creator.Stub(x => x.CreateDnaDataReader("getkeyarticlelist")).Return(GetKeyArticleListMockReader());
            creator.Stub(x => x.CreateDnaDataReader("getsitetopicsopenclosetimes")).Return(GetSiteOpenCloseTimesMockReader());
            creator.Stub(x => x.CreateDnaDataReader("GetTopicDetails")).Return(GetSiteTopicsMockReader());

            IDnaDataReader reader = mocks.DynamicMock<IDnaDataReader>();
            reader.Stub(x => x.Read()).Return(true).Repeat.Once();
            reader.Stub(x => x.GetInt32("Type")).Return(1);
            reader.Stub(x => x.GetString("Value")).Return("1");
            reader.Stub(x => x.GetString("Section")).Return("General");
            reader.Stub(x => x.GetString("Name")).Return("IsMessageboard");
            reader.Stub(x => x.GetInt32("SiteID")).Return(1);
            reader.Stub(x => x.GetString("description")).Return("IsMessageboard");
            creator.Stub(x => x.CreateDnaDataReader("getallsiteoptions")).Return(reader);

            IDnaDiagnostics diag = mocks.DynamicMock<IDnaDiagnostics>();
            
            mocks.ReplayAll();
            SiteList target = new SiteList(creator, diag, cache, null, null);
            

            Assert.IsTrue(target.IsMessageboard(1));

        }
Esempio n. 47
0
        public void GetSiteList_WithoutIgnoreCache_ReturnsCorrectList()
        {
            var cache = mocks.DynamicMock<ICacheManager>();
            cache.Stub(x => x.Contains("")).Constraints(Is.Anything()).Return(false);
            IDnaDataReaderCreator creator = mocks.DynamicMock<IDnaDataReaderCreator>();
            creator.Stub(x => x.CreateDnaDataReader("fetchsitedata")).Return(GetSiteListMockReader());
            creator.Stub(x => x.CreateDnaDataReader("getreviewforums")).Return(GetReviewForumsMockReader());
            creator.Stub(x => x.CreateDnaDataReader("getkeyarticlelist")).Return(GetKeyArticleListMockReader());
            creator.Stub(x => x.CreateDnaDataReader("getsitetopicsopenclosetimes")).Return(GetSiteOpenCloseTimesMockReader());
            creator.Stub(x => x.CreateDnaDataReader("GetTopicDetails")).Return(GetSiteTopicsMockReader());
            creator.Stub(x => x.CreateDnaDataReader("getallsiteoptions")).Return(SiteOptionListTest.GetBoolSiteOptionMockReader());
            IDnaDiagnostics diag = mocks.DynamicMock<IDnaDiagnostics>();
            
            mocks.ReplayAll();

            var siteList = new SiteList(creator, diag, cache, null, null);
            ISiteList actual = SiteList.GetSiteList();
            Assert.IsNotNull(actual);
            Assert.AreEqual(1, actual.Ids.Count);
        }
Esempio n. 48
0
        public void GetSiteStats_GetsValidStats_ReturnsValidObject()
        {
            var cache = mocks.DynamicMock<ICacheManager>();
            cache.Stub(x => x.Contains("")).Constraints(Is.Anything()).Return(false);
            IDnaDataReaderCreator creator = mocks.DynamicMock<IDnaDataReaderCreator>();
            creator.Stub(x => x.CreateDnaDataReader("fetchsitedata")).Return(GetSiteListMockReader());
            creator.Stub(x => x.CreateDnaDataReader("getreviewforums")).Return(GetReviewForumsMockReader());
            creator.Stub(x => x.CreateDnaDataReader("getkeyarticlelist")).Return(GetKeyArticleListMockReader());
            creator.Stub(x => x.CreateDnaDataReader("getsitetopicsopenclosetimes")).Return(GetSiteOpenCloseTimesMockReader());
            creator.Stub(x => x.CreateDnaDataReader("GetTopicDetails")).Return(GetSiteTopicsMockReader());
            creator.Stub(x => x.CreateDnaDataReader("getallsiteoptions")).Return(SiteOptionListTest.GetBoolSiteOptionMockReader());
            IDnaDiagnostics diag = mocks.DynamicMock<IDnaDiagnostics>();


            mocks.ReplayAll();

            SiteList siteList = new SiteList(creator, diag, cache, null, null);

            var stats = siteList.GetStats(typeof(SiteList));
            Assert.IsNotNull(stats);
            Assert.AreEqual(typeof(SiteList).AssemblyQualifiedName, stats.Name);
            Assert.AreEqual(siteList.GetObjectFromCache().Ids.Count.ToString(), stats.Values["NumberOfSites"]);
            Assert.AreEqual(siteList.GetObjectFromCache().SiteOptionList.GetAllOptions().Count.ToString(), stats.Values["NumberOfSiteOptions"]);
            
        }
Esempio n. 49
0
        public void SendSignal_WithSiteId_SendsCorrectSignals()
        {
            var url = "1.0.0.1";
            var cache = mocks.DynamicMock<ICacheManager>();
            cache.Stub(x => x.Contains("")).Constraints(Is.Anything()).Return(false);
            IDnaDataReaderCreator creator = mocks.DynamicMock<IDnaDataReaderCreator>();
            creator.Stub(x => x.CreateDnaDataReader("fetchsitedata")).Return(GetSiteListMockReader());
            creator.Stub(x => x.CreateDnaDataReader("getreviewforums")).Return(GetReviewForumsMockReader());
            creator.Stub(x => x.CreateDnaDataReader("getkeyarticlelist")).Return(GetKeyArticleListMockReader());
            creator.Stub(x => x.CreateDnaDataReader("getsitetopicsopenclosetimes")).Return(GetSiteOpenCloseTimesMockReader());
            creator.Stub(x => x.CreateDnaDataReader("GetTopicDetails")).Return(GetSiteTopicsMockReader());
            creator.Stub(x => x.CreateDnaDataReader("getallsiteoptions")).Return(SiteOptionListTest.GetBoolSiteOptionMockReader());
            IDnaDiagnostics diag = mocks.DynamicMock<IDnaDiagnostics>();
            List<string> servers = new List<string>() { url };


            mocks.ReplayAll();

            var siteList = new SiteList(creator, diag, cache, servers, servers);
            ISiteList actual = SiteList.GetSiteList();
            Assert.IsNotNull(actual);
            Assert.AreEqual(1, actual.Ids.Count);

            var siteId = 1;
            siteList.SendSignal(siteId);
            diag.AssertWasCalled(x => x.WriteToLog("SendingSignal", string.Format("http://{0}/dna/moderation/signal?action=recache-site&siteid={1}", url, siteId)));
            diag.AssertWasCalled(x => x.WriteToLog("SendingSignal", string.Format("http://{0}/dna/moderation/dnasignal?action=recache-site&siteid={1}", url, siteId)));
        }
Esempio n. 50
0
        public void LoadSiteListTest_ValidRecordsetMultipleSkins_ReturnsSitesAndSkins()
        {
            var mockedReader = mocks.DynamicMock<IDnaDataReader>();
            mockedReader.Stub(x => x.HasRows).Return(true);
            mockedReader.Stub(x => x.GetInt32("SiteID")).Return(1);
            mockedReader.Stub(x => x["URLName"]).Return("h2g2");
            var queue = new Queue<string>();
            queue.Enqueue("skin1");
            queue.Enqueue("skin2");
            mockedReader.Stub(x => x.GetStringNullAsEmpty("SkinName")).Return("").WhenCalled(x => x.ReturnValue = queue.Dequeue());
            mockedReader.Stub(x => x.Read()).Return(true).Repeat.Twice();

            var cache = mocks.DynamicMock<ICacheManager>();
            cache.Stub(x => x.Contains("")).Constraints(Is.Anything()).Return(false);
            IDnaDiagnostics diag = mocks.DynamicMock<IDnaDiagnostics>();
            IDnaDataReaderCreator creator = mocks.DynamicMock<IDnaDataReaderCreator>();
            creator.Stub(x => x.CreateDnaDataReader("fetchsitedata")).Return(mockedReader);
            creator.Stub(x => x.CreateDnaDataReader("getreviewforums")).Return(GetReviewForumsMockReader());
            creator.Stub(x => x.CreateDnaDataReader("getkeyarticlelist")).Return(GetKeyArticleListMockReader());
            creator.Stub(x => x.CreateDnaDataReader("getsitetopicsopenclosetimes")).Return(GetSiteOpenCloseTimesMockReader());
            creator.Stub(x => x.CreateDnaDataReader("GetTopicDetails")).Return(GetSiteTopicsMockReader());

            IDnaDataReader readerOptions = mocks.DynamicMock<IDnaDataReader>();
            readerOptions.Stub(x => x.Read()).Return(false);
            creator.Stub(x => x.CreateDnaDataReader("getallsiteoptions")).Return(readerOptions);

            mocks.ReplayAll();

            SiteList target = new SiteList(creator, diag, cache, null, null);
            
            Assert.AreEqual(1, target.Ids.Count);
            Assert.IsTrue(target.Ids[1].DoesSkinExist("skin1"));
            Assert.IsTrue(target.Ids[1].DoesSkinExist("skin2"));
        }
Esempio n. 51
0
        public void Dispose()
        {
            int i, n;
            if (sites != null)
            {
                sites.Dispose();
                sites = null;
            }

            if (Edges != null)
            {
                n = Edges.Count;
                for (i = 0; i < n; ++i)
                {
                    Edges[i].Dispose();
                }
                Edges.Clear();
                Edges = null;
            }

            sitesIndexedByLocation = null;
        }
Esempio n. 52
0
 public void Init(List<Vector2> points, Rect plotBounds)
 {
     sites = new SiteList();
     sitesIndexedByLocation = new Dictionary<Vector2, Site>();
     AddSites(points);
     Bounds = plotBounds;
     Edges = new List<Edge>();
     FortunesAlgorithm();
 }
Esempio n. 53
0
        public void TestGTestSiteOptions()
        {
            Console.WriteLine("TestGTestSiteOptions");
            
            using (FullInputContext fullInputContext = new FullInputContext(""))
            {
                SiteList siteList = new SiteList(fullInputContext.ReaderCreator, fullInputContext.dnaDiagnostics, CacheFactory.GetCacheManager(), null, null);

                SiteXmlBuilder siteXml = new SiteXmlBuilder(fullInputContext);
                XmlNode siteOptionsNode = siteXml.GetSiteOptionListForSiteXml(1, siteList);
                DnaXmlValidator validator = new DnaXmlValidator(siteOptionsNode.OuterXml, "SiteOptions.xsd");
                validator.Validate();
                XmlNode siteOptionNode = siteOptionsNode.SelectSingleNode("/DNAROOT/SITEOPTIONS/SITEOPTION");
                Assert.IsTrue(siteOptionNode != null, "Can't find any SITEOPTION nodes");

                XmlAttributeCollection attribs = siteOptionNode.Attributes;

                int globalAttCount = 0;
                foreach (XmlAttribute a in attribs)
                {
                    if (a.Name == "GLOBAL")
                    {
                        globalAttCount++;
                    }
                    else
                    {
                        Assert.Fail("Unknown attribute on SITEOPTION tag (" + a.Name + ")");
                    }
                }
                Assert.IsTrue(globalAttCount == 1, "There should be 1 GLOBAL attribute on the SITEOPTION tag");
            }
        }
Esempio n. 54
0
        private void InitialiseFromConfig(string rootPath)
        {
            if (rootPath == null)
            {
                //Use the config frm the dnapages directory.
                rootPath = TestConfig.GetConfig().GetRipleyServerPath();
            }

            if (_signInComponent == null)
            {
                if (_useIdentity)
                {
                    string identityWebServiceConnetionDetails = GetConnectionDetails["IdentityURL"].ConnectionString;
                    if (_debugUserDetails.Length == 0)
                    {
                        _signInComponent = new DnaIdentityWebServiceProxy.IdentityRestSignIn(identityWebServiceConnetionDetails, "");
                        Console.WriteLine("Using REAL Identity signin system");
                    }
                    else
                    {
                        _signInComponent = new DnaIdentityWebServiceProxy.IdentityDebugSigninComponent(_debugUserDetails);
                        Console.WriteLine("Using DEBUG Identity signin system");
                    }
                }
                else
                {
                    throw new Exception("SSO Sign in is nologer supported! Please rewrite your test to use identity.");
                }
            }

            if (_dnaConfig == null)
            {
                _dnaConfig = new DnaConfig(rootPath);
                //_dnaConfig.Initialise();

                string dir = System.Environment.CurrentDirectory + @"\logs\";
                Directory.CreateDirectory(dir);

                DnaDiagnostics.Initialise(dir, "DNATestUtils");
                DnaDiagnostics.WriteHeader("TEST-FullInputContext");
            }

            ReaderCreator = new DnaDataReaderCreator(_dnaConfig.ConnectionString, _dnaDiagnostics);

            _siteList = new SiteList(ReaderCreator, dnaDiagnostics, CacheFactory.GetCacheManager(), null, null);
            Statistics.InitialiseIfEmpty();

            ProfanityFilterTests.InitialiseProfanities();

        }