示例#1
0
        private async Task SaveNewSchool()
        {
            var currentContext = GetContext();

            // post school
            var postedSchool = await PostSchool(currentContext.AccessToken.Access_Token);

            currentContext.SchoolName = postedSchool.Name;
            SaveContext(currentContext);

            // post member
            var profile = GetCurrentUser().Profile;
            var member  = new Domain.Models.Member
            {
                ProfileId = profile.Id,
                SchoolId  = postedSchool.Id,
                IsTeacher = IsManaging
            };
            var postedMember = await PostMember(currentContext.AccessToken.Access_Token, member);

            // save school
            var savedSchool = await SaveSchool(postedSchool);

            // save member
            var savedMember = await SaveMember(postedMember, profile, savedSchool);

            // navigate to dashboard
            App.LaunchMasterDetailPage?.Invoke(this, EventArgs.Empty);
        }
示例#2
0
        private async Task <Domain.Models.Member> PostMember(string accessToken, Domain.Models.Member memberModel)
        {
            var membersRestService = new Domain.Services.Rest.Members();
            var httpResponse       = await membersRestService.PostAsync(memberModel, accessToken);

            var member = await membersRestService.ParseResponseItem(httpResponse);

            return(member);
        }
示例#3
0
 public IActionResult AddFamilyMember([FromBody] Domain.Models.Member member)
 {
     if (member != null)
     {
         _societyMangementService.AddFamilyMember(member);
         return(Ok());
     }
     return(BadRequest());
 }
示例#4
0
 public IActionResult Post([FromBody] Domain.Models.Member member)
 {
     if (member != null)
     {
         AddFlatMember(member);
         return(Ok());
     }
     return(BadRequest());
 }
示例#5
0
        private async Task <Domain.Models.Member> PostMember(Domain.Models.School school, Domain.Models.Profile profile)
        {
            var membersRestService = new Domain.Services.Rest.Members();
            var member             = new Domain.Models.Member
            {
                ProfileId = profile.Id,
                SchoolId  = school.Id
            };
            var response = await membersRestService.PostAsync(member, GetContext().AccessToken.Access_Token);

            var result = await membersRestService.ParseResponseItem(response);

            return(result);
        }
示例#6
0
        public void AddFamilyMember(Domain.Models.Member member)
        {
            var loggedInMember = _societyManagementDbContext.Members.SingleOrDefault(x => x.MemberId == member.MemberId);

            if (loggedInMember != null)
            {
                var memberObj = new Domain.Models.Member
                {
                    FirstName        = member.FirstName,
                    LastName         = member.LastName,
                    FlatMemberTypeId = member.FlatMemberTypeId,
                    SocietyFlatId    = loggedInMember.SocietyFlatId,
                    RoleId           = (int)Domain.Enums.Role.Normal,
                };
                _societyManagementDbContext.Add(memberObj);
            }
        }
示例#7
0
        private async Task <Domain.Models.Member> SaveMember(Domain.Models.Member memberModel, Domain.Models.School school, Domain.Models.Profile profile)
        {
            var membersRealm   = new Domain.Services.Realms.Members();
            var profilesRealm  = new Domain.Services.Realms.Profiles();
            var schoolsRealm   = new Domain.Services.Realms.Schools();
            var profileLocalId = profile.LocalId;
            var schoolLocalId  = school.LocalId;
            var memberLocalId  = 0;
            await membersRealm.WriteAsync(realm =>
            {
                realm.Manage(memberModel);
                memberLocalId       = memberModel.LocalId;
                memberModel.Profile = profilesRealm.Get(profileLocalId);
                memberModel.School  = schoolsRealm.Get(schoolLocalId);
                memberModel.Synced  = true;
            });

            var member = membersRealm.Get(memberLocalId);

            return(member);
        }
示例#8
0
 private void AddFlatMember(Domain.Models.Member member)
 {
     _societyMangementService.AddMembers(member);
 }
示例#9
0
 public void AddFamilyMember(Domain.Models.Member member)
 {
     _societyMangementRepository.AddFamilyMember(member);
 }
示例#10
0
 public void AddMembers(Domain.Models.Member member)
 {
     _societyMangementRepository.AddFlatMember(member);
 }