Пример #1
0
        internal void AddCellLabel(Point position)
        {
            Index index = Index.GetCellCornerPoint((int)position.X, (int)position.Y, CaseWidth, CaseHeight);
            var   label = new CellLabelVM(this, index.X, index.Y);

            CellLabels.Add(label);
            LoggerController.Log($"Added Label to {index.X.ToString()}, {index.Y.ToString()}");
        }
Пример #2
0
 internal void BuildLabelsFromStorage(Dictionary <string, LabelInfo> labels)
 {
     foreach (LabelInfo item in labels.Values)
     {
         var success = Guid.TryParse(item.Guid, out Guid guid);
         if (!success)
         {
             continue;
         }
         CellLabels.Add(new CellLabelVM(this, item.Left, item.Top, item.Width, item.Height, item.Note, guid));
     }
 }
Пример #3
0
 internal void RemoveLabel(CellLabelVM cellLabelVM)
 {
     CasesStatesOperations.RemoveLabel(cellLabelVM.Guid, _previousQueue, TabHeader);
     CellLabels.Remove(cellLabelVM);
 }
Пример #4
0
 internal void UpdateCasesPositions()
 {
     CasesStatesOperations.UpdateCasesPositions(CaseControls.ToList(), _previousQueue, TabHeader);
     CasesStatesOperations.UpdateLabelsPositions(CellLabels.ToList(), _previousQueue, TabHeader);
 }
Пример #5
0
        private async Task BuildCasesAsync(string selection)
        {
            if (!string.IsNullOrEmpty(_previousQueue))
            {
                UpdateCasesPositions();
            }
            CaseControls.Clear();
            CellLabels.Clear();
            IList <ICase> casesData = default;

            try
            {
                _isBusyBuildCases = true;
                casesData         = await Task.Run(() => SFConnector.Instance.GetCasesAsync(selection));
            }
            catch (Exception e)
            {
                LoggerController.Log(e.Message);
            }

            _previousQueue = selection;
            LoggerController.Log(casesData.Count + $" cases Retrived.");
            CaseControls = await Task.Run(() =>
            {
                ObservableCollection <CaseControlVM> cc = new ObservableCollection <CaseControlVM>();
                foreach (var item in casesData)
                {
                    var caseViewModel = new CaseControlVM(item, this);
                    cc.Add(caseViewModel);
                    CaseInfo positionInfo = null;
                    try
                    {
                        positionInfo = CasesStatesOperations.GetCaseInfo(item.CaseNumber, selection, TabHeader);
                    }
                    catch (Exception e)
                    {
                        LoggerController.Log(e.Message);
                    }
                    if (positionInfo != null)
                    {
                        caseViewModel.Index = positionInfo.Index;
                    }
                }
                return(cc);
            }
                                          );

            try
            {
                //Add Labels from JSON
                var caseslist = await Task.Run(() => CasesStatesOperations.GetCasesList(selection, TabHeader));

                foreach (LabelInfo item in caseslist.Labels.Values)
                {
                    var success = Guid.TryParse(item.Guid, out Guid guid);
                    if (!success)
                    {
                        continue;
                    }
                    CellLabels.Add(new CellLabelVM(this, item.Left, item.Top, item.Width, item.Height, item.Note, guid));
                }
            }
            catch (Exception e)
            {
                LoggerController.Log(e.Message);
            }
            finally
            {
                _isBusyBuildCases = false;
            }
        }