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) { _group.Picture = ImageByteConverter.ImageToBytes(PbImage.Image); _group.Description = TbDescription.Text; _group.Name = TbName.Text; _group.CreateDate = DateTime.Now; var db = new DataBase(); if (_group.Id == 0) { db.Groups.Add(_group); var node = new GroupToOrganization { CreateDate = DateTime.Now, Group = _group, Deleted = false, OrganizationId = ((Organization)CbOrganizations.SelectedItem).Id }; db.GroupToOrganizationNode.Add(node); } else { db.Entry(_group).State = EntityState.Modified; var oldGroupNode = await db.GroupToOrganizationNode .FirstOrDefaultAsync(d => !d.Deleted && d.GroupId == _group.Id && d.OrganizationId == ((Organization)CbOrganizations.SelectedItem).Id); if (oldGroupNode != null) { oldGroupNode.Deleted = CheckOldLink.Checked; var newGroupNode = new GroupToOrganization { CreateDate = DateTime.Now, GroupId = _group.Id, Deleted = false, OrganizationId = ((Organization)CbOrganizations.SelectedItem).Id }; db.GroupToOrganizationNode.Add(newGroupNode); } } if (_gotEmails) { foreach (var email in _emails) { if (email.GroupNode.Any(d => !d.Deleted && d.GroupId == _group.Id)) { continue; } var emailToGroupNode = new EmailToGroup { EmailId = email.Id, CreateDate = DateTime.Now, Deleted = false, GroupId = _group.Id }; db.EmailToGroupNode.Add(emailToGroupNode); } db.Emails.AddRange(_emails); } if (_gotHomepage) { foreach (var homepage in _homepages) { if (homepage.GroupNode.Any(d => !d.Deleted && d.GroupId == _group.Id)) { continue; } var homepageToGroupNode = new HomepageToGroup { HomepageId = homepage.Id, CreateDate = DateTime.Now, Deleted = false, GroupId = _group.Id }; db.HomepageToGroupNode.Add(homepageToGroupNode); } db.Homepages.AddRange(_homepages); } if (_gotPhone) { foreach (var number in _phoneNumbers) { if (number.GroupNode.Any(d => !d.Deleted && d.GroupId == _group.Id)) { continue; } var phoneToGroupNode = new PhoneToGroup { PhoneNumberId = number.Id, CreateDate = DateTime.Now, Deleted = false, GroupId = _group.Id }; db.PhoneToGroupNode.Add(phoneToGroupNode); } db.PhoneNumbers.AddRange(_phoneNumbers); } await db.SaveChangesAsync(); Close(); }