Example #1
0
        private async void BtnNew_Click(object sender, EventArgs e)
        {
            var number = new PhoneNumber
            {
                Deleted     = false,
                CountryFlag = TbCountryFlag.Text,
                CreateDate  = DateTime.Now,
                Description = TbDescription.Text,
                PhoneNr     = TbNumber.Text
            };

            _numbers.Add(number);
            TvPhonenumbers.AddObject(number);
            if (_isOpenedByEditor)
            {
                return;
            }
            var db = new DataBase();

            switch (_index)
            {
            case 1:
                var nodeToOrga = new PhoneToOrganization
                {
                    CreateDate     = DateTime.Now,
                    Deleted        = false,
                    PhoneNumberId  = number.Id,
                    OrganizationId = _id
                };
                db.PhoneToOrganizationNode.Add(nodeToOrga);
                break;

            case 2:
                var nodeToGroup = new PhoneToGroup
                {
                    CreateDate    = DateTime.Now,
                    Deleted       = false,
                    PhoneNumberId = number.Id,
                    GroupId       = _id
                };
                db.PhoneToGroupNode.Add(nodeToGroup);
                break;

            case 3:
                var nodeToMember = new PhoneToMember
                {
                    CreateDate    = DateTime.Now,
                    Deleted       = false,
                    PhoneNumberId = number.Id,
                    MemberId      = _id
                };
                db.PhoneToMemberNode.Add(nodeToMember);
                break;
            }
            db.PhoneNumbers.Add(number);
            await db.SaveChangesAsync();
        }
Example #2
0
        private async void BtnSave_Click(object sender, EventArgs e)
        {
            _member.City        = TbCity.Text;
            _member.Country     = TbCountry.Text;
            _member.Description = TbDescription.Text;
            _member.HouseNumber = TbHouseNumber.Text;
            _member.FirstName   = TbFirstName.Text;
            _member.LastName    = TbLastname.Text;
            _member.State       = TbState.Text;
            _member.Street      = TbStreet.Text;
            _member.Gender      = TbGender.Text;
            _member.ZipCode     = TbZipCode.Text;
            _member.Birthdate   = DtpBirthdate.Value;
            _member.CreateDate  = DateTime.Now;
            var db = new DataBase();

            if (_member.Id == 0)
            {
                var node = new GroupToMember
                {
                    CreateDate = DateTime.Now,
                    Deleted    = false,
                    GroupId    = ((Group)CbGroups.SelectedItem).Id,
                    Member     = _member
                };
                db.Members.Add(_member);
                db.GroupToMemberNode.Add(node);
            }
            else
            {
                db.Entry(_member).State = EntityState.Modified;
                var oldMemberNode = await db.GroupToMemberNode.FirstOrDefaultAsync(d =>
                                                                                   !d.Deleted && d.MemberId == _member.Id && d.GroupId == ((Group)CbGroups.SelectedItem).Id);

                if (oldMemberNode != null)
                {
                    oldMemberNode.Deleted = CheckOldLink.Checked;
                    var newMemberNode = new GroupToMember
                    {
                        CreateDate = DateTime.Now,
                        GroupId    = ((Group)CbGroups.SelectedItem).Id,
                        Deleted    = false,
                        MemberId   = _member.Id
                    };
                    db.GroupToMemberNode.Add(newMemberNode);
                }
            }
            if (_gotEmails)
            {
                foreach (var email in _emails)
                {
                    if (email.MemberNode.Any(d => !d.Deleted && d.MemberId == _member.Id))
                    {
                        continue;
                    }
                    var emailToMemberNode = new EmailToMember
                    {
                        EmailId    = email.Id,
                        CreateDate = DateTime.Now,
                        Deleted    = false,
                        MemberId   = _member.Id
                    };
                    db.EmailToMemberNode.Add(emailToMemberNode);
                }
                db.Emails.AddRange(_emails);
            }

            if (_gotHomepage)
            {
                foreach (var homepage in _homepages)
                {
                    if (homepage.MemberNode.Any(d => !d.Deleted && d.MemberId == _member.Id))
                    {
                        continue;
                    }
                    var homepageToMemberNode = new HomepageToMember
                    {
                        HomepageId = homepage.Id,
                        CreateDate = DateTime.Now,
                        Deleted    = false,
                        MemberId   = _member.Id
                    };
                    db.HomepageToMemberNode.Add(homepageToMemberNode);
                }
                db.Homepages.AddRange(_homepages);
            }

            if (_gotPhone)
            {
                foreach (var number in _phoneNumbers)
                {
                    if (number.MemberNode.Any(d => !d.Deleted && d.MemberId == _member.Id))
                    {
                        continue;
                    }
                    var phoneToMemberNode = new PhoneToMember
                    {
                        PhoneNumberId = number.Id,
                        CreateDate    = DateTime.Now,
                        Deleted       = false,
                        MemberId      = _member.Id
                    };
                    db.PhoneToMemberNode.Add(phoneToMemberNode);
                }
                db.PhoneNumbers.AddRange(_phoneNumbers);
            }
            await db.SaveChangesAsync();

            Close();
        }