public void AddEmailToContact(string email, ContentItem contact) { if (!string.IsNullOrEmpty(email)) { CommunicationEmailRecord cmr = null; if (contact != null) { cmr = _repositoryCommunicationEmailRecord.Fetch(x => x.Email == email && x.EmailContactPartRecord_Id == contact.Id).FirstOrDefault(); } if (cmr != null) { if (cmr.EmailContactPartRecord_Id != contact.Id) { cmr.EmailContactPartRecord_Id = contact.Id; cmr.DataModifica = DateTime.Now; _repositoryCommunicationEmailRecord.Update(cmr); _repositoryCommunicationEmailRecord.Flush(); } } else { CommunicationEmailRecord newrec = new CommunicationEmailRecord(); newrec.Email = email; newrec.EmailContactPartRecord_Id = contact.Id; newrec.Id = 0; newrec.Validated = true; newrec.DataInserimento = DateTime.Now; newrec.DataModifica = DateTime.Now; newrec.Produzione = true; _repositoryCommunicationEmailRecord.Create(newrec); _repositoryCommunicationEmailRecord.Flush(); } } }
private void CreateMailForContact(string mail, int contactId) { CommunicationEmailRecord cer = new CommunicationEmailRecord(); cer.Email = mail; cer.DataInserimento = DateTime.Now; cer.DataModifica = DateTime.Now; cer.Produzione = true; cer.Validated = true; cer.EmailContactPartRecord_Id = contactId; _repositoryCommunicationEmailRecord.Create(cer); }
/// <summary> /// /// </summary> /// <param name="part"></param> /// <param name="context"></param> protected override void Importing(EmailContactPart part, ImportContentContext context) { var emailRecord = context.Data.Element(part.PartDefinition.Name).Elements("EmailRecord"); if (emailRecord != null) { if (part.EmailRecord == null) { part.EmailRecord = new List <CommunicationEmailRecord>(); } foreach (var rec in emailRecord) { string locEmail = ""; var Email = rec.Attribute("Email"); if (Email != null) { locEmail = Email.Value; } CommunicationEmailRecord recMail = part.Record.EmailRecord.FirstOrDefault(x => x.Email == locEmail); if (recMail == null) { recMail = new CommunicationEmailRecord(); recMail.EmailContactPartRecord_Id = part.Id; recMail.Email = locEmail; recMail.DataInserimento = DateTime.Now; //valore iniziale temporaneo per poter creare il record recMail.DataModifica = DateTime.Now; //valore iniziale temporaneo per poter creare il record _repoEmail.Create(recMail); part.EmailRecord.Add(recMail); } var Language = rec.Attribute("Language"); if (Language != null) { recMail.Language = Language.Value; } var Validated = rec.Attribute("Validated"); if (Validated != null) { recMail.Validated = Convert.ToBoolean(Validated.Value); } var DataInserimento = rec.Attribute("DataInserimento"); if (DataInserimento != null) { recMail.DataInserimento = Convert.ToDateTime(DataInserimento.Value, CultureInfo.InvariantCulture); } var DataModifica = rec.Attribute("DataModifica"); if (DataModifica != null) { recMail.DataModifica = Convert.ToDateTime(DataModifica.Value, CultureInfo.InvariantCulture); } var Produzione = rec.Attribute("Produzione"); if (Produzione != null) { recMail.Produzione = Convert.ToBoolean(Produzione.Value); } var AccettatoUsoCommerciale = rec.Attribute("AccettatoUsoCommerciale"); if (AccettatoUsoCommerciale != null) { recMail.AccettatoUsoCommerciale = Convert.ToBoolean(AccettatoUsoCommerciale.Value); } var AutorizzatoTerzeParti = rec.Attribute("AutorizzatoTerzeParti"); if (AutorizzatoTerzeParti != null) { recMail.AutorizzatoTerzeParti = Convert.ToBoolean(AutorizzatoTerzeParti.Value); } var KeyUnsubscribe = rec.Attribute("KeyUnsubscribe"); if (KeyUnsubscribe != null) { recMail.KeyUnsubscribe = KeyUnsubscribe.Value; } var DataUnsubscribe = rec.Attribute("DataUnsubscribe"); if (DataUnsubscribe != null) { recMail.DataUnsubscribe = Convert.ToDateTime(DataUnsubscribe.Value, CultureInfo.InvariantCulture); } } _repoEmail.Flush(); } }
protected override DriverResult Editor(EmailContactPart part, IUpdateModel updater, dynamic shapeHelper) { View_EmailVM oldviewModel = new View_EmailVM(); updater.TryUpdateModel(oldviewModel, Prefix, null, null); bool error = false; _transaction.Demand(); foreach (View_EmailVM_element vmel in oldviewModel.Elenco) { if ((vmel.Delete || string.IsNullOrEmpty(vmel.Email)) && vmel.Id > 0) { CommunicationEmailRecord cmr = _repoEmail.Fetch(x => x.Id == vmel.Id).FirstOrDefault(); _repoEmail.Delete(cmr); } else if (!vmel.Delete) { if (!string.IsNullOrEmpty(vmel.Email)) { if (_repoEmail.Fetch(x => x.Email == vmel.Email && x.Id != vmel.Id).Count() > 0) { error = true; updater.AddModelError("Error", T("Email can't be assigned is linked to other contact")); } } if (vmel.Id > 0) { CommunicationEmailRecord cmr = _repoEmail.Fetch(x => x.Id == vmel.Id).FirstOrDefault(); if (cmr.Email != vmel.Email || cmr.Validated != vmel.Validated || cmr.AccettatoUsoCommerciale != vmel.AccettatoUsoCommerciale || cmr.AutorizzatoTerzeParti != vmel.AutorizzatoTerzeParti) { cmr.Email = vmel.Email; cmr.Validated = vmel.Validated; cmr.AccettatoUsoCommerciale = vmel.AccettatoUsoCommerciale; cmr.AutorizzatoTerzeParti = vmel.AutorizzatoTerzeParti; cmr.DataModifica = DateTime.Now; _repoEmail.Update(cmr); } } else { View_EmailVM_element vm = new View_EmailVM_element(); CommunicationEmailRecord cmr = new CommunicationEmailRecord(); _mapper.Map <View_EmailVM_element, CommunicationEmailRecord>(vm, cmr); cmr.Email = vmel.Email; cmr.Validated = vmel.Validated; cmr.AccettatoUsoCommerciale = vmel.AccettatoUsoCommerciale; cmr.AutorizzatoTerzeParti = vmel.AutorizzatoTerzeParti; cmr.EmailContactPartRecord_Id = part.Id; _repoEmail.Create(cmr); } } } if (error == true) { _transaction.Cancel(); } else { _repoEmail.Flush(); } // _transaction.RequireNew(); return(Editor(part, shapeHelper)); }