private async void BtnNew_Click(object sender, EventArgs e) { if (ContainsEmail()) { var email = new Email { Deleted = false, CreateDate = DateTime.Now, Description = TbDescription.Text, Mail = TbEmail.Text }; _emails.Add(email); TvEmails.AddObject(email); if (_isOpenedByEditor) { return; } var db = new DataBase(); switch (_index) { case 1: var nodeToOrga = new EmailToOrganization { CreateDate = DateTime.Now, Deleted = false, EmailId = email.Id, OrganizationId = _id }; db.EmailToOrganizationNode.Add(nodeToOrga); break; case 2: var nodeToGroup = new EmailToGroup { CreateDate = DateTime.Now, Deleted = false, EmailId = email.Id, GroupId = _id }; db.EmailToGroupNode.Add(nodeToGroup); break; case 3: var nodeToMember = new EmailToMember { CreateDate = DateTime.Now, Deleted = false, EmailId = email.Id, MemberId = _id }; db.EmailToMemberNode.Add(nodeToMember); break; } db.Emails.Add(email); await db.SaveChangesAsync(); } }
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(); }