Beispiel #1
0
        public void UpdateAll()
        {
            Families = GetFamilies();

            if (Families.Count() > 0)
            {
                var currentFamily = Families.FirstOrDefault();

                CurrentFamilyId = currentFamily.Id;

                Symbols = GetSymbols(currentFamily);

                if (Symbols.Count() > 0)
                {
                    CurrentSymbolId = Symbols.FirstOrDefault().Id;
                }

                windowBasedExternalEventHandler.MinWindowWidth  = _minWindowWidth;
                windowBasedExternalEventHandler.MinWindowHeight = _minWindowHeight;
            }
            else
            {
                var td = new TaskDialog("Warning");

                td.MainInstruction = "Families is required";
                td.MainContent     = "There are no families in the project. Do you want to load it?";
                td.MainIcon        = TaskDialogIcon.TaskDialogIconInformation;

                td.AddCommandLink(TaskDialogCommandLinkId.CommandLink1, "Yes, load families into the project");
                td.AddCommandLink(TaskDialogCommandLinkId.CommandLink2, "No, don't load it");

                TaskDialogResult tdres = td.Show();

                switch (tdres)
                {
                case TaskDialogResult.CommandLink1:
                    FamilyLoader.LoadFamilies(doc);
                    UpdateAll();
                    break;

                case TaskDialogResult.CommandLink2:
                    break;

                default:
                    break;
                }
            }
        }
        public async void Update(int familyId)
        {
            var sourceFamily = await _apiClient.Families_GetAsync(familyId);

            var orphansCountTask = _apiClient.Families_GetOrphansCountAsync(familyId);
            //update father object in the source list
            var sourceFamilyIndex = _SourceFamilies.IndexOf(_SourceFamilies.FirstOrDefault(f => f.Id == familyId));

            _SourceFamilies[sourceFamilyIndex] = sourceFamily;

            var familyModel       = _mapperService.MapToFamilyModel(sourceFamily);
            var FamilyToEdit      = Families.FirstOrDefault(c => c.Id == familyId);
            var FamilyToEditIndex = Families.IndexOf(FamilyToEdit);

            familyModel.OrphansCount    = await orphansCountTask;
            Families[FamilyToEditIndex] = familyModel;
        }
        //private void UpdateFamilyOrphansCount()
        //{
        //    new Thread(new ThreadStart(async () =>
        //    {
        //        foreach (var fam in Families)
        //        {
        //            var value = await _apiClient.Families_GetOrphansCountAsync(fam.Id);
        //            fam.OrphansCount = value;
        //        }
        //    })).Start();
        //}

        private void UpdateFamilyBails()
        {
            _bailsViewModel.LoadBailsByIsFamily(true);
            new Thread(new ThreadStart(async() =>
            {
                foreach (var sourceFam in _SourceFamilies)
                {
                    if (sourceFam.BailId.HasValue)
                    {
                        var bail = await _apiClient.Bails_GetAsync(sourceFam.BailId.Value);
                        var fam  = Families.FirstOrDefault(f => f.Id == sourceFam.Id);
                        if (fam != null)
                        {
                            fam.BailAmount    = bail.Amount + " " + bail.Account.CurrencyShortcut;
                            fam.GuarantorName = bail.Guarantor.Name.FullName();
                        }
                    }
                }
            })).Start();
        }
Beispiel #4
0
 public override string GetErr()
 {
     foreach (var p in this.Elements)
     {
         var cate = Categories.FirstOrDefault(c => c.Id == p.Category.Id);
         if (cate == null)
         {
             return("缺少类别");
         }
         var type = Types.FirstOrDefault(c => c.GetKey() == p.ElemType);
         if (type == null)
         {
             return("缺少类型");
         }
         if (p.Material != null)
         {
             var mat = Materials.FirstOrDefault(c => c.GetKey() == p.Material);
             if (mat == null)
             {
                 return("缺少材料");
             }
         }
         if (p.Level != null)
         {
             var l = Levels.FirstOrDefault(c => c.GetKey() == p.Level);
             if (l == null)
             {
                 return("缺少楼层");
             }
         }
         if (p.Family != null)
         {
             var f = Families.FirstOrDefault(c => c.GetKey() == p.Family);
             if (f == null)
             {
                 return("缺少族");
             }
         }
     }
     return(String.Empty);
 }
 public async Task UnExclude(IEnumerable <int> familiesIds)
 {
     if (familiesIds == null)
     {
         return;
     }
     foreach (var famId in familiesIds)
     {
         try
         {
             var sourceFamily = _SourceFamilies.FirstOrDefault(o => o.Id == famId);
             var family       = Families.FirstOrDefault(o => o.Id == famId);
             sourceFamily.IsExcluded = family.IsExcluded = false;
             await _apiClient.Families_SetFamilyExcludeAsync(sourceFamily.Id, false);
         }
         catch (ApiClientException apiEx)
         {
             _exceptionHandler.HandleApiSaveException(apiEx);
         }
     }
 }
        public async Task Delete(IEnumerable <int> familiesIds)
        {
            if (familiesIds == null)
            {
                return;
            }
            foreach (var famId in familiesIds)
            {
                try
                {
                    var sourceFamily = _SourceFamilies.FirstOrDefault(o => o.Id == famId);
                    var family       = Families.FirstOrDefault(o => o.Id == famId);
                    await _apiClient.Families_DeleteAsync(famId);

                    _SourceFamilies.Remove(sourceFamily);
                    Families.Remove(family);
                }
                catch (ApiClientException apiEx)
                {
                    _exceptionHandler.HandleApiSaveException(apiEx);
                }
            }
        }
Beispiel #7
0
 public Family GetFamily(String id)
 {
     return(Families.FirstOrDefault(x => x.GedcomId == id));
 }