//
        // GET: /Label/
        public ActionResult Index()
        {
            var model = new LabelsViewModel();

            model.Labels = labelRepository.All().ToList().Select(l => new LabelViewModel(l)).ToList();
            return(View(model));
        }
Пример #2
0
 public Core(IRepositoryService repository, IDialogDisplay dialogDisplay)
 {
     Goals    = new GoalsViewModel(this, repository);
     Projects = new ProjectsViewModel(this, repository);
     Labels   = new LabelsViewModel(this, repository);
     Tasks    = new TasksViewModel(this, repository);
 }
Пример #3
0
        public async Task <IActionResult> Labels(LabelsViewModel label)
        {
            if (ModelState.IsValid)
            {
                var labels = await _repository.GetLabels();

                var addLabel = new TodoItemLabel(label.Value)
                {
                    Id             = Guid.NewGuid(),
                    LabelTodoItems = label.LabelTodoItems
                };
                if (labels.Any(dbLabels => dbLabels.Value.Equals(addLabel.Value)))
                {
                    ModelState.AddModelError("ErrorMessage", "Label with the same name already exists!");
                    return(View(label));
                }

                _repository.AddLabel(addLabel);
                return(RedirectToAction("Add"));
            }
            return(View(label));
        }
Пример #4
0
        /// <summary>
        /// Gets the labels for the current extent in a graphics overlay
        /// This is a temporary workaround until the labeling bug in core gets fixed
        /// </summary>
        /// <returns>The labels in a graphics overlay</returns>
        private async Task DisplayLabelsAsync()
        {
            var labelsViewModel = new LabelsViewModel();
            var labelFeatures   = await labelsViewModel.GetLabelsInVisibleAreaAsync(this.MapView, this.ViewModel.SelectedFloorLevel);

            if (labelFeatures != null)
            {
                try
                {
                    var graphicsOverlay = this.MapView.GraphicsOverlays["LabelsGraphicsOverlay"];
                    graphicsOverlay.Graphics.Clear();

                    // Run garbage collector manually to prevent System.ArgumentException bug
                    // TODO: Remove the manual garbage collection when bug is fixed
                    GC.Collect();
                    GC.WaitForPendingFinalizers();

                    foreach (var feature in labelFeatures)
                    {
                        var centerPoint = feature.Geometry.Extent.GetCenter();
                        var label       = feature.Attributes["LONGNAME"];

                        if (label != null)
                        {
                            // Create graphic
                            var labelText    = new TextSymbol(label.ToString(), System.Drawing.Color.Black, 10, HorizontalAlignment.Center, VerticalAlignment.Middle);
                            var labelGraphic = new Graphic(centerPoint, labelText);

                            // Add label to map
                            graphicsOverlay.Graphics.Add(labelGraphic);
                        }
                    }
                }
                catch
                {
                }
            }
        }