Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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)
            {
            }
        }
Ejemplo n.º 5
0
        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;
                }
            }
        }
Ejemplo n.º 6
0
        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());
            }
        }
Ejemplo n.º 7
0
        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());
            }
        }
Ejemplo n.º 8
0
        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));
            }
        }
Ejemplo n.º 9
0
 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;
     }
 }
Ejemplo n.º 10
0
        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);
        }