public User RemoveMail(string email) { var mail = Emails.FirstOrDefault(x => x.Value == email); Emails.Remove(mail); return(this); }
public void Move_last_user_to_another_client() { var oldClient = DataMother.CreateTestClientWithAddressAndUser(); var oldUser = oldClient.Users[0]; var address = oldClient.Addresses[0]; oldUser.AvaliableAddresses = new List <Address>(); address.AvaliableForUsers.Add(oldUser); var newClient = DataMother.CreateTestClientWithAddressAndUser(); controller.MoveUserOrAddress(newClient.Id, oldUser.Id, address.Id, newClient.Orgs().First().Id, false); controller.SendMails(); session.Flush(); session.Refresh(oldClient); session.Refresh(newClient); session.Refresh(oldUser); Assert.That(oldUser.Client.Id, Is.EqualTo(newClient.Id)); Assert.That(newClient.Users.Count, Is.EqualTo(2)); Assert.That(oldClient.Users.Count, Is.EqualTo(0)); Assert.That(newClient.Addresses.Count, Is.EqualTo(1)); Assert.That(oldClient.Addresses.Count, Is.EqualTo(1)); Assert.That(oldClient.Status, Is.EqualTo(ClientStatus.On)); Assert.That(Emails.FirstOrDefault(m => m.Subject.Contains("Перемещение пользователя")), Is.Not.Null, "не могу найти уведомление о перемещении"); }
public User UpdateMail(string email, string value) { var mail = Emails.FirstOrDefault(x => x.Value == email); if (mail == null) { throw new BusinessException("Email could not find!"); } mail.Value = value; return(this); }
public void Move_address() { var src = DataMother.CreateTestClientWithAddress(); var dst = DataMother.TestClient(); var address = src.Addresses[0]; //должны быть уникальные имена что можно было сделать проверку на правильность написания письма MakeNameUniq(src); MakeNameUniq(src.Payers); MakeNameUniq(src.Payers.SelectMany(p => p.Orgs)); MakeNameUniq(dst); MakeNameUniq(dst.Payers); MakeNameUniq(dst.Payers.SelectMany(p => p.Orgs)); controller.MoveUserOrAddress(dst.Id, 0u, address.Id, dst.Orgs().First().Id, true); controller.SendMails(); session.Flush(); session.Refresh(dst); session.Refresh(src); Assert.That(src.Addresses.Count, Is.EqualTo(0)); Assert.That(src.Disabled, Is.True); Assert.That(dst.Addresses.Count, Is.EqualTo(1)); Assert.That(dst.Addresses[0].Id, Is.EqualTo(address.Id)); var mail = Emails.FirstOrDefault(m => m.Subject.Contains("Перемещение адреса доставки")); Assert.That(mail, Is.Not.Null, "не могу найти уведомление о перемещении " + Emails.Select(n => n.Subject).Implode()); Assert.That(mail.Body, Is.StringContaining(String.Format("Старый клиент {0} плательщик {1} юр.лицо {2}", src.Name, src.Payers[0].Name, src.Payers[0].Orgs[0].Name))); Assert.That(mail.Body, Is.StringContaining(String.Format("Новый клиент {0} плательщик {1} юр.лицо {2}", dst.Name, dst.Payers[0].Name, dst.Payers[0].Orgs[0].Name))); }
public void BtsClick(string rbName) { RbNameActual = rbName; switch (rbName) { case "HabilitarMulti": IsMultiEnabled = true; break; /* Buttons CRUD */ case "afegirContactes": contacte co = new contacte(); co = ContacteSelected; context.contactes.Add(co); try { context.SaveChanges(); } catch (Exception ex) { } BtsClick("rbContactes"); PopulateEmailsTelefons(); break; case "modificarContactes": OnNewModalDialog(); if (respuesta == 1) { contacte c = context.contactes.Where(x => x.contacteId == ContacteSelected.contacteId).FirstOrDefault(); try { c = ContacteSelected; } catch (Exception ex) { } context.SaveChanges(); //BtsClick("rbContactes"); PopulateEmailsTelefons(); } break; case "esborrarContactes": OnNewModalDialog(); if (respuesta == 1) { try { context.contactes.Remove(ContacteSelected); } catch (Exception ex) { } context.SaveChanges(); PopulateEmailsTelefons(); BtsClick("rbContactes"); } break; case "DuplicarContactes": OnNewModalDialog(); if (respuesta == 1) { contacte con = new contacte(); con.nom = ContacteSelected.nom; con.cognoms = ContacteSelected.cognoms; context.contactes.Add(con); context.SaveChanges(); List <telefon> telefons = ContacteSelected.telefons.ToList(); List <email> emails = ContacteSelected.emails.ToList(); foreach (telefon item in telefons) { telefon tel = new telefon(); tel.contacteId = con.contacteId; tel.telefon1 = item.telefon1; tel.tipus = item.tipus; con.telefons.Add(tel); } foreach (email item in emails) { email ema = new email(); ema.contacteId = con.contacteId; ema.email1 = item.email1; ema.tipus = item.tipus; con.emails.Add(ema); } try { context.SaveChanges(); } catch (Exception) {} PopulateEmailsTelefons(); BtsClick("rbContactes"); } break; case "afegirTelefons": telefon t = new telefon(); t.tipus = TipusT; t.telefon1 = Telefon1; ContacteSelected.telefons.Add(t); //context.telefons.Add(t); try { context.SaveChanges(); } catch (Exception ex) { } PopulateEmailsTelefons(); //BtsClick("rbTelefons"); break; case "modificarTelefons": OnNewModalDialog(); if (respuesta == 1) { telefon te = context.telefons.Where(x => x.contacteId == TelefonSelected.contacteId).FirstOrDefault(); try { te.telefon1 = Telefon1; te.tipus = TipusT; } catch (Exception ex) { } context.SaveChanges(); PopulateEmailsTelefons(); } //BtsClick("rbTelefons"); break; case "esborrarTelefons": OnNewModalDialog(); if (respuesta == 1) { try { context.telefons.Remove(TelefonSelected); } catch (Exception ex) { } context.SaveChanges(); PopulateEmailsTelefons(); } //BtsClick("rbTelefons"); break; case "afegirEmails": email e = new email(); e.tipus = TipusE; e.email1 = Email1; ContacteSelected.emails.Add(e); try { context.SaveChanges(); } catch (Exception ex) { } //BtsClick("rbEmails"); PopulateEmailsTelefons(); break; case "modificarEmails": OnNewModalDialog(); if (respuesta == 1) { email em = context.emails.Where(x => x.contacteId == EmailSelected.contacteId).FirstOrDefault(); try { em.email1 = Email1; em.tipus = TipusE; } catch (Exception ex) { } context.SaveChanges(); PopulateEmailsTelefons(); } //BtsClick("rbEmails"); break; case "esborrarEmails": OnNewModalDialog(); if (respuesta == 1) { try { context.emails.Remove(EmailSelected); } catch (Exception ex) { } context.SaveChanges(); PopulateEmailsTelefons(); } //BtsClick("rbEmails"); break; /* Radio Buttons Columnas */ case "rbContactes": BtsClick("rbSenseContactes"); EnableContactes(); RbColumnaActual = "contactes"; Contactes = context.contactes.ToList().OrderBy(x => x.cognoms).ThenBy(x => x.nom).ToList(); ContacteSelected = Contactes.FirstOrDefault(); break; case "rbTelefons": BtsClick("rbSenseTelefons"); EnableTelefons(); RbColumnaActual = "telefons"; Telefons = context.telefons.OrderBy(x => x.tipus).ToList(); TelefonSelected = Telefons.FirstOrDefault(); break; case "rbEmails": BtsClick("rbSenseEmails"); EnableEmails(); RbColumnaActual = "emails"; Emails = context.emails.ToList().OrderBy(x => x.email1).ToList(); EmailSelected = Emails.FirstOrDefault(); break; /* Contactes */ case "rbConteContacte": Contactes = context.contactes.Where(x => x.nom.Contains(TextBoxContactes) || x.cognoms.Contains(TextBoxContactes)).OrderBy(x => x.cognoms).ThenBy(x => x.nom).ToList(); ContacteSelected = Contactes.FirstOrDefault(); EnableContactes(); RbColumnaActual = "contactes"; break; case "rbComençaContacte": Contactes = context.contactes.Where(x => x.nom.StartsWith(TextBoxContactes) || x.cognoms.StartsWith(TextBoxContactes)).OrderBy(x => x.cognoms).ThenBy(x => x.nom).ToList(); ContacteSelected = Contactes.FirstOrDefault(); EnableContactes(); RbColumnaActual = "contactes"; break; case "rbAcabaContacte": Contactes = context.contactes.Where(x => x.nom.EndsWith(TextBoxContactes) || x.cognoms.EndsWith(TextBoxContactes)).OrderBy(x => x.cognoms).ThenBy(x => x.nom).ToList(); ContacteSelected = Contactes.FirstOrDefault(); EnableContactes(); RbColumnaActual = "contactes"; break; case "rbSenseContacte": BtsClick("rbSenseContactes"); EnableContactes(); RbColumnaActual = "contactes"; Contactes = context.contactes.ToList().OrderBy(x => x.cognoms).ThenBy(x => x.nom).ToList(); ContacteSelected = Contactes.FirstOrDefault(); break; /* Telèfons */ case "rbConteTelefon": Telefons = context.telefons.Where(x => x.telefon1.Contains(TextBoxTelefons) || x.tipus.Contains(TextBoxTelefons)).OrderBy(x => x.tipus).ToList(); TelefonSelected = Telefons.FirstOrDefault(); EnableTelefons(); RbColumnaActual = "telefons"; break; case "rbComençaTelefon": Telefons = context.telefons.Where(x => x.telefon1.StartsWith(TextBoxTelefons) || x.tipus.StartsWith(TextBoxTelefons)).OrderBy(x => x.tipus).ToList(); TelefonSelected = Telefons.FirstOrDefault(); EnableTelefons(); RbColumnaActual = "telefons"; break; case "rbAcabaTelefon": Telefons = context.telefons.Where(x => x.telefon1.EndsWith(TextBoxTelefons) || x.tipus.EndsWith(TextBoxTelefons)).OrderBy(x => x.tipus).ToList(); TelefonSelected = Telefons.FirstOrDefault(); EnableTelefons(); RbColumnaActual = "telefons"; break; case "rbSenseTelefon": BtsClick("rbSenseTelefons"); EnableTelefons(); RbColumnaActual = "telefons"; Telefons = context.telefons.OrderBy(x => x.tipus).ToList(); TelefonSelected = Telefons.FirstOrDefault(); break; /* Emails */ case "rbConteEmail": Emails = context.emails.Where(x => x.email1.Contains(TextBoxEmails) || x.tipus.Contains(TextBoxEmails)).OrderBy(x => x.email1).ToList(); EmailSelected = Emails.FirstOrDefault(); EnableEmails(); RbColumnaActual = "emails"; break; case "rbComençaEmail": Emails = context.emails.Where(x => x.email1.StartsWith(TextBoxEmails) || x.tipus.StartsWith(TextBoxEmails)).OrderBy(x => x.email1).ToList(); EmailSelected = Emails.FirstOrDefault(); EnableEmails(); RbColumnaActual = "emails"; break; case "rbAcabaEmail": Emails = context.emails.Where(x => x.email1.EndsWith(TextBoxEmails) || x.tipus.EndsWith(TextBoxEmails)).OrderBy(x => x.email1).ToList(); EmailSelected = Emails.FirstOrDefault(); EnableEmails(); RbColumnaActual = "emails"; break; case "rbSenseEmail": BtsClick("rbSenseEmails"); EnableEmails(); RbColumnaActual = "emails"; Emails = context.emails.ToList().OrderBy(x => x.email1).ToList(); EmailSelected = Emails.FirstOrDefault(); break; } }
public void UpdateFrom(IContactInfo source, bool suppressIsChanged) { FirstName = source.FirstName; MiddleName = source.MiddleName; LastName = source.LastName; Company = source.Company; JobTitle = source.JobTitle; Note = source.Note; Key = source.Key; VersionKey = source.VersionKey == null ? String.Empty : source.VersionKey.ToString(); // Phone numbers foreach (var item in source.PhoneNumbers) { var phoneNumber = PhoneNumbers.FirstOrDefault(x => x.Key == item.Key); if (phoneNumber != null) { phoneNumber.UpdateFrom(item); } else { PhoneNumbers.Add(new ContactPhoneLocal(item, AddressBook)); } } foreach (var item in PhoneNumbers.Where(x => source.PhoneNumbers.All(y => x.Key != y.Key)).ToArray()) { PhoneNumbers.Remove(item); } // Emails foreach (var item in source.Emails) { var email = Emails.FirstOrDefault(x => x.Key == item.Key); if (email != null) { email.UpdateFrom(item); } else { Emails.Add(new ContactEmailLocal(item, AddressBook)); } } foreach (var item in Emails.Where(x => source.Emails.All(y => x.Key != y.Key)).ToArray()) { Emails.Remove(item); } // Tags foreach (var item in source.Tags) { var tag = Tags.FirstOrDefault(x => x.Key == item.Key); if (tag != null) { tag.UpdateFrom(item); } else { var newTag = _contactsManager.Tags.FirstOrDefault(x => x.Key == item.Key); if (newTag != null) { Tags.Add(newTag); } } } foreach (var item in Tags.Where(x => source.Tags.All(y => x.Key != y.Key)).ToArray()) { Tags.Remove(item); } if (suppressIsChanged) { IsChanged = false; } }
public override string ToString() { return($"{FirstName} {LastName} {MiddleName} {Emails.FirstOrDefault()} {Company}"); }
/// <summary> /// Gets the first email received from the specified simple SMTP server. /// </summary> /// <returns>An SmtpMessage</returns> public static Mail_Message FirstEmail() { return(Emails.FirstOrDefault()); }