private async void BtnNew_Click(object sender, EventArgs e) { var page = new Homepage { CreateDate = DateTime.Now, Deleted = false, Description = TbDescription.Text, Link = TbLink.Text }; _pages.Add(page); TvPages.AddObject(page); if (_isOpenedByEditor) { return; } var db = new DataBase(); switch (_index) { case 1: var nodeToOrga = new HomepageToOrganization { CreateDate = DateTime.Now, Deleted = false, HomepageId = page.Id, OrganizationId = _id }; db.HomepageToOrganizationNode.Add(nodeToOrga); break; case 2: var nodeToGroup = new HomepageToGroup { CreateDate = DateTime.Now, Deleted = false, HomepageId = page.Id, GroupId = _id }; db.HomepageToGroupNode.Add(nodeToGroup); break; case 3: var nodeToMember = new HomepageToMember { CreateDate = DateTime.Now, Deleted = false, HomepageId = page.Id, MemberId = _id }; db.HomepageToMemberNode.Add(nodeToMember); break; } db.Homepages.Add(page); await db.SaveChangesAsync(); }
private async void BtnSave_Click(object sender, EventArgs e) { _organization.City = TbCity.Text; _organization.Country = TbCountry.Text; _organization.Description = TbDescription.Text; _organization.HouseNumber = TbHouseNumber.Text; _organization.Name = TbName.Text; _organization.State = TbState.Text; _organization.Street = TbStreet.Text; _organization.Type = TbType.Text; _organization.PostalCode = TbZipCode.Text; _organization.Founded = DtpFounded.Value; var db = new DataBase(); if (_organization.Id == 0) { _organization.CreateDate = DateTime.Now; db.Organizations.Add(_organization); } else { db.Entry(_organization).State = EntityState.Modified; } if (_gotEmails) { foreach (var email in _emails) { var organizationNode = await db.EmailToOrganizationNode.FirstOrDefaultAsync(d => d.OrganizationId == _organization.Id && d.EmailId == email.Id); if (organizationNode != null) { continue; } var emailToOrganizationNode = new EmailToOrganization { EmailId = email.Id, CreateDate = DateTime.Now, Deleted = false, OrganizationId = _organization.Id }; db.EmailToOrganizationNode.Add(emailToOrganizationNode); } db.Emails.AddRange(_emails); } if (_gotHomepage) { foreach (var homepage in _homepages) { var organizationNode = await db.HomepageToOrganizationNode.FirstOrDefaultAsync(d => d.OrganizationId == _organization.Id && d.HomepageId == homepage.Id); if (organizationNode != null) { continue; } var homepageToOrganizationNode = new HomepageToOrganization { HomepageId = homepage.Id, CreateDate = DateTime.Now, Deleted = false, OrganizationId = _organization.Id }; db.HomepageToOrganizationNode.Add(homepageToOrganizationNode); } db.Homepages.AddRange(_homepages); } if (_gotPhone) { foreach (var number in _phoneNumbers) { var organizationNode = await db.PhoneToOrganizationNode.FirstOrDefaultAsync(d => d.OrganizationId == _organization.Id && d.PhoneNumberId == number.Id); if (organizationNode != null) { continue; } var phoneToOrganizationNode = new PhoneToOrganization { PhoneNumberId = number.Id, CreateDate = DateTime.Now, Deleted = false, OrganizationId = _organization.Id }; db.PhoneToOrganizationNode.Add(phoneToOrganizationNode); } db.PhoneNumbers.AddRange(_phoneNumbers); } await db.SaveChangesAsync(); Close(); }