Example #1
0
        public void Edit(D.Account account, D.AccountProfile profile)
        {
            EF.Account efAccount = ConvertToEFwithID(account, profile);

            //START
            var tempAccount = _context.Accounts.Single(a => a.AccountID == efAccount.AccountID);

            tempAccount.RoleID = efAccount.RoleID;

            var tempProfile = _context.Profiles.Single(p => p.ProfileID == efAccount.ProfileID);

            //remove beneficary
            foreach (var ben in tempProfile.Beneficiaries.ToArray())
            {
                if (!efAccount.Profile.Beneficiaries.Any(b => b.BeneficiaryID == ben.BeneficiaryID))
                {
                    tempProfile.Beneficiaries.Remove(ben);
                }
            }
            //add beneficary
            foreach (var ben in efAccount.Profile.Beneficiaries)
            {
                if (!tempProfile.Beneficiaries.Any(b => b.BeneficiaryID == ben.BeneficiaryID))
                {
                    tempProfile.Beneficiaries.Add(ben);
                }
            }

            _context.SaveChanges();
        }
Example #2
0
        private EF.Account ConvertToEFwithID(D.Account account, D.AccountProfile profile)
        {
            EF.Role role = _context.Roles.FirstOrDefault(r => r.Name == account.Role.Name);
            List <EF.Beneficiary> efBeneficiaries = new List <EF.Beneficiary>();

            foreach (var beneficiary in profile.Beneficiaries)
            {
                efBeneficiaries.Add(_context.Beneficiaries.FirstOrDefault(b => b.Name == beneficiary.Name));
            }
            EF.Account current   = _context.Accounts.FirstOrDefault(a => a.UserName == account.UserName);
            int        profileID = _context.Profiles.FirstOrDefault(a => a.Name == profile.Name).ProfileID;

            EF.AccountProfile efProfile = new EF.AccountProfile(profileID, profile.Name, efBeneficiaries, profile.IsLocal);
            return(new EF.Account(current.AccountID, account.UserName, current.Password, current.Salt, role.RoleID, role, efProfile.ProfileID, efProfile));
        }
Example #3
0
        private D.Account ConvertToDomain(EF.Account efAccount)
        {
            EF.Role              efRole        = _context.Roles.FirstOrDefault(r => r.RoleID == efAccount.RoleID);
            EF.AccountProfile    efProfile     = _context.Profiles.FirstOrDefault(r => r.ProfileID == efAccount.Profile.ProfileID);
            List <D.Beneficiary> beneficiaries = new List <D.Beneficiary>();

            foreach (var beneficiary in efProfile.Beneficiaries)
            {
                beneficiaries.Add(new D.Beneficiary(beneficiary.Name));
            }

            D.Role           role    = new D.Role(efRole.Name, efRole.Permissions);
            D.AccountProfile profile = new D.AccountProfile(efProfile.Name, beneficiaries);

            return(new D.Account(efAccount.UserName, efAccount.Password, efAccount.Salt, role, profile));
        }