public async Task <IEnumerable <OrphanageDataModel.RegularData.Family> > GetFamilies(int Uid) { IList <OrphanageDataModel.RegularData.Family> familiesList = new List <OrphanageDataModel.RegularData.Family>(); using (var _orphanageDBC = new OrphanageDbCNoBinary()) { var families = await _orphanageDBC.Families.AsNoTracking() .Include(f => f.AlternativeAddress) .Include(f => f.Bail) .Include(f => f.Father) .Include(f => f.Mother) .Include(f => f.Orphans) .Include(f => f.PrimaryAddress) .Where(f => f.UserId == Uid) .ToListAsync(); foreach (var family in families) { OrphanageDataModel.RegularData.Family familyToFill = family; _selfLoopBlocking.BlockFamilySelfLoop(ref familyToFill); _uriGenerator.SetFamilyUris(ref familyToFill); familiesList.Add(familyToFill); } } return(familiesList); }
public async Task <OrphanageDataModel.RegularData.Family> Add(OrphanageDataModel.RegularData.Family family) { if (family != null) { try { family.UserId = Program.CurrentUser.Id; var fam = (OrphanageDataModel.RegularData.Family) await _apiClient.Families_PostAsync(family); return(fam ?? null); } catch (ApiClientException apiEx) { var retObject = await _exceptionHandler.HandleApiPostFunctionsAndShowErrors(getFamily, apiEx); if (retObject == null) { retObject = await _exceptionHandler.HandleApiPostFunctions(getFamily, apiEx); if (retObject != null) { _mainViewModel.ShowFamilyEditView(retObject.Id); } return(null); } else { return(retObject); } } } return(null); }
public async Task <OrphanageDataModel.RegularData.Family> getFamily(int Cid) { var returnedFamily = await _apiClient.Families_GetAsync(Cid); var FamilyCardP1Task = _apiClient.GetImageData(returnedFamily.FamilyCardImagePage1URI); var FamilyCardP2Task = _apiClient.GetImageData(returnedFamily.FamilyCardImagePage2URI); returnedFamily.FamilyCardImagePage1Data = await FamilyCardP1Task; returnedFamily.FamilyCardImagePage2Data = await FamilyCardP2Task; _CurrentFamily = returnedFamily; return(returnedFamily); }
public void TestAddFamily() { OrphanageDataModel.RegularData.Name nameF = TestDataStore.GetName(), nameM = TestDataStore.GetName(); nameM.Last = "asdasd"; OrphanageDataModel.RegularData.Address addressM = TestDataStore.GetAddress(), addressFam = TestDataStore.GetAddress(); OrphanageDataModel.RegularData.Family fam = new OrphanageDataModel.RegularData.Family() { Father = new OrphanageDataModel.Persons.Father() { Birthday = new DateTime(1980, 1, 1), DateOfDeath = DateTime.Now, Name = nameF, RegDate = DateTime.Now, UserId = 1, IdentityCardNumber = "04554681365" }, Mother = new OrphanageDataModel.Persons.Mother() { Name = nameM, Address = addressM, Birthday = new DateTime(1980, 1, 1), HasSheOrphans = true, IdentityCardNumber = "65298748546", IsDead = false, IsMarried = false, RegDate = DateTime.Now, UserId = 1 }, PrimaryAddress = addressFam, UserId = 1, RegDate = DateTime.Now, FinncialStatus = "TestFinnacialStatus", IsBailed = false, IsExcluded = false, IsTheyRefugees = false, ResidenceStatus = "TestResidenceStatus", ResidenceType = "TestResidenceType" }; try { var famId = _familyDbService.AddFamily(fam).Result; famId.Id.ShouldBeGreaterThan(0); _familyDbService.DeleteFamily(fam.Id).Result.ShouldBe(true); } catch (DbEntityValidationException exc) { } catch (Exception ex) { } }
public void BlockFamilySelfLoop(ref OrphanageDataModel.RegularData.Family family) { if (family == null) { return; } dynamic famA = family.AlternativeAddress; BlockForignKeys(ref famA); family.AlternativeAddress = famA; dynamic famA2 = family.PrimaryAddress; BlockForignKeys(ref famA2); family.PrimaryAddress = famA2; if (family.Bail != null) { family.Bail.Families = null; } if (family.Father != null) { var fath = family.Father; BlockFatherSelfLoop(ref fath); family.Father = fath; if (family.Father.Families != null) { family.Father.Families = null; } } if (family.Mother != null) { var moth = family.Mother; BlockMotherSelfLoop(ref moth); family.Mother = moth; if (family.Mother.Families != null) { family.Mother.Families = null; } } if (family.Orphans != null) { foreach (var orp in family.Orphans) { orp.Family = null; } } }
public async Task <HttpResponseMessage> Put(OrphanageDataModel.RegularData.Family family) { var ret = false; ret = await _FamilyDBService.SaveFamily(family); if (ret) { return(_httpMessageConfiguerer.OK()); } else { return(_httpMessageConfiguerer.NothingChanged()); } }
public async Task <HttpResponseMessage> Post(OrphanageDataModel.RegularData.Family family) { OrphanageDataModel.RegularData.Family ret = null; ret = await _FamilyDBService.AddFamily(family); if (ret != null) { return(Request.CreateResponse(System.Net.HttpStatusCode.Created, ret)); } else { return(_httpMessageConfiguerer.NothingChanged()); } }
public async Task <bool> Save(OrphanageDataModel.RegularData.Family family) { try { family.FamilyCardImagePage1Data = null; family.FamilyCardImagePage2Data = null; await _apiClient.Families_PutAsync(family); return(true); } catch (ApiClientException apiEx) { return(_exceptionHandler.HandleApiSaveException(apiEx)); } }
public void SetFamilyUris(ref OrphanageDataModel.RegularData.Family familyDC) { if (familyDC == null) { return; } familyDC.FamilyCardImagePage1URI = "api/family/media/page1/" + familyDC.Id; familyDC.FamilyCardImagePage2URI = "api/family/media/page2/" + familyDC.Id; if (familyDC.Father != null) { var fatherDc = familyDC.Father; SetFatherUris(ref fatherDc); familyDC.Father = fatherDc; } if (familyDC.Mother != null) { var motherDc = familyDC.Mother; SetMotherUris(ref motherDc); familyDC.Mother = motherDc; } }
public async Task <IEnumerable <OrphanageDataModel.RegularData.Family> > GetFamilies(int Uid, int pageSize, int pageNum) { IList <OrphanageDataModel.RegularData.Family> familiesList = new List <OrphanageDataModel.RegularData.Family>(); using (var _orphanageDBC = new OrphanageDbCNoBinary()) { int totalSkiped = pageSize * pageNum; int FamiliesCount = await _orphanageDBC.Fathers.AsNoTracking().CountAsync(); if (FamiliesCount < totalSkiped) { totalSkiped = FamiliesCount - pageSize; } if (totalSkiped < 0) { totalSkiped = 0; } var families = await _orphanageDBC.Families.AsNoTracking() .OrderBy(o => o.Id).Skip(() => totalSkiped).Take(() => pageSize) .Include(f => f.AlternativeAddress) .Include(f => f.Bail) .Include(f => f.Father) .Include(f => f.Mother) .Include(f => f.Orphans) .Include(f => f.PrimaryAddress) .Where(f => f.UserId == Uid) .ToListAsync(); foreach (var family in families) { OrphanageDataModel.RegularData.Family familyToFill = family; _selfLoopBlocking.BlockFamilySelfLoop(ref familyToFill); _uriGenerator.SetFamilyUris(ref familyToFill); familiesList.Add(familyToFill); } } return(familiesList); }