internal static RUBR_ENTITA MapToRubrEntita(RubricaEntita e, bool isInsert) { RUBR_ENTITA r = new RUBR_ENTITA(); r.AFF_IPA = e.AffIPA; r.COD_FIS = e.CodiceFiscale; r.COGNOME = e.Cognome; r.DISAMB_POST = e.DisambPost; r.DISAMB_PRE = e.DisambPre; r.FLG_IPA = e.IsIPA.ToString(); r.NOTE = e.Note; r.NOME = (string.IsNullOrEmpty(e.Nome)) ? e.Ufficio : e.Nome; r.P_IVA = e.PartitaIVA; r.SITO_WEB = e.SitoWeb; if (!isInsert) { r.ID_REFERRAL = (decimal)e.IdReferral; } else { r.ID_PADRE = e.IdPadre; r.REFERRAL_TYPE = e.ReferralType.ToString(); r.RAGIONE_SOCIALE = e.RagioneSociale; r.REF_ID_ADDRESS = e.RefIdAddress; r.FLG_IPA = Convert.ToInt16(e.IsIPA).ToString(); r.UFFICIO = e.Ufficio; r.IPA_DN = e.IPAdn; r.IPA_ID = e.IPAId; r.DISAMB_PRE = e.DisambPre; r.DISAMB_POST = e.DisambPost; r.REF_ORG = e.RefOrg; r.AFF_IPA = e.AffIPA; } return(r); }
public void Insert(SendMail.Model.RubricaMapping.RubricaContatti entity) { using (var dbcontext = new FAXPECContext()) { using (var dbContextTransaction = dbcontext.Database.BeginTransaction()) { try { if (entity.Entita != null) { RUBR_ENTITA e = DaoSQLServerDBHelper.MapToRubrEntita(entity.Entita, true); dbcontext.RUBR_ENTITA.Add(e); entity.Entita.IdReferral = (long)e.ID_REFERRAL; entity.RefIdReferral = (long)e.ID_REFERRAL; RUBR_CONTATTI c = DaoSQLServerDBHelper.MapToRubrContatti(entity, true); entity.IdContact = (long)c.ID_CONTACT; dbcontext.RUBR_CONTATTI.Add(c); dbcontext.SaveChanges(); dbContextTransaction.Commit(); } else if (entity.Entita == null && entity.RefIdReferral != null) { RUBR_CONTATTI c = DaoSQLServerDBHelper.MapToRubrContatti(entity, true); entity.IdContact = (long)c.ID_CONTACT; dbcontext.RUBR_CONTATTI.Add(c); int righe = dbcontext.SaveChanges(); dbContextTransaction.Commit(); } else if (entity.Entita == null && entity.RefIdReferral == null) { dbContextTransaction.Rollback(); ManagedException mEx = new ManagedException("Errore nell'inserimento del contatto per il contatto " + entity.Mail + " >> ERR_C014 >> Dettagli Errore: Mancano riferimenti entità", "SQL_ERR_C014", string.Empty, string.Empty, null); ErrorLogInfo err = new ErrorLogInfo(mEx); _log.Error(err); throw mEx; } } catch (Exception ex) { dbContextTransaction.Rollback(); if (!ex.GetType().Equals(typeof(ManagedException))) { ManagedException mEx = new ManagedException(ex.Message, "SQL_ERR_C013", string.Empty, string.Empty, ex); ErrorLogInfo err = new ErrorLogInfo(mEx); _log.Error(err); throw mEx; } else { throw ex; } } } } }