internal static COMUNICAZIONI_SOTTOTITOLI MapToComunicazioniSottotitolo(SottoTitolo sottoTitolo, bool isInsert)
        {
            COMUNICAZIONI_SOTTOTITOLI s = new COMUNICAZIONI_SOTTOTITOLI()
            {
                REF_ID_TITOLO = sottoTitolo.RefIdTitolo,
                ACTIVE        = Convert.ToDecimal(!sottoTitolo.Deleted),
                COM_CODE      = sottoTitolo.ComCode,
                NOTE          = sottoTitolo.Note,
                PROT_CODE     = sottoTitolo.ProtocolloCode
            };

            s.PROT_MANAGED = Convert.ToDecimal(sottoTitolo.UsaProtocollo);
            s.PROT_PWD     = sottoTitolo.ProtocolloPassword;
            s.PROT_SUBCODE = sottoTitolo.ProtocolloSubCode;
            s.SOTTOTITOLO  = sottoTitolo.Nome;
            if (sottoTitolo.TipiProcollo != null)
            {
                s.PROT_TIPI_AMMESSI = String.Join(";", sottoTitolo.TipiProcollo.Cast <string>().ToArray());
            }
            if (sottoTitolo.ProtocolloLoadAllegati != null)
            {
                s.PROT_LOAD_ALLEGATI = Convert.ToDecimal(sottoTitolo.ProtocolloLoadAllegati);
            }
            if (!isInsert)
            {
                s.ID_SOTTOTITOLO = sottoTitolo.Id;
            }
            return(s);
        }
        private OracleParameter[] MapObjectToParams(SottoTitolo r, bool isInsert)
        {
            OracleParameter[] oparams = new OracleParameter[12];
            oparams[0]       = new OracleParameter("pREF_ID_TITOLO", OracleDbType.Decimal, r.RefIdTitolo, ParameterDirection.Input);
            oparams[1]       = new OracleParameter("pSOTTOTITOLO", OracleDbType.Varchar2, r.Nome, ParameterDirection.Input);
            oparams[2]       = new OracleParameter("pACTIVE", OracleDbType.Decimal, Convert.ToDecimal(!r.Deleted), ParameterDirection.Input);
            oparams[3]       = new OracleParameter("pNOTE", OracleDbType.Varchar2, r.Note, ParameterDirection.Input);
            oparams[4]       = new OracleParameter("pCOM_CODE", OracleDbType.Varchar2, r.ComCode, ParameterDirection.Input);
            oparams[5]       = new OracleParameter("pPROT_MANAGED", OracleDbType.Decimal, Convert.ToDecimal(r.UsaProtocollo), ParameterDirection.Input);
            oparams[6]       = new OracleParameter("pPROT_SUBCODE", OracleDbType.Varchar2, r.ProtocolloSubCode, ParameterDirection.Input);
            oparams[7]       = new OracleParameter("pPROT_PWD", OracleDbType.Varchar2, r.ProtocolloPassword, ParameterDirection.Input);
            oparams[8]       = new OracleParameter("pPROT_TIPI_AMMESSI", OracleDbType.Varchar2, ParameterDirection.Input);
            oparams[8].Value = String.Join(";", r.TipiProcollo.Cast <string>().ToArray());
            oparams[9]       = new OracleParameter("pPROT_LOAD_ALLEGATI", OracleDbType.Decimal, Convert.ToDecimal(r.ProtocolloLoadAllegati), ParameterDirection.Input);
            oparams[10]      = new OracleParameter("pPROT_CODE", OracleDbType.Varchar2, r.ProtocolloCode, ParameterDirection.Input);

            if (isInsert)
            {
                oparams[11] = new OracleParameter("pID_SOTTOTITOLO", OracleDbType.Decimal, r.Id, ParameterDirection.Output);
            }
            else
            {
                oparams[11] = new OracleParameter("pID_SOTTOTITOLO", OracleDbType.Decimal, r.Id, ParameterDirection.Input);
            }

            return(oparams);
        }
        public void Update(SottoTitolo sottoTitolo)
        {
            using (var dbcontext = new FAXPECContext())
            {
                try
                {
                    COMUNICAZIONI_SOTTOTITOLI s = DaoSQLServerDBHelper.MapToComunicazioniSottotitolo(sottoTitolo, false);
                    var olds = dbcontext.COMUNICAZIONI_SOTTOTITOLI.Where(x => x.ID_SOTTOTITOLO == sottoTitolo.Id).First();
                    dbcontext.COMUNICAZIONI_SOTTOTITOLI.Remove(olds);
                    dbcontext.COMUNICAZIONI_SOTTOTITOLI.Add(s);
                    int rowAff = dbcontext.SaveChanges();
                    if (rowAff == 0)
                    {
                        ManagedException mEx = new ManagedException(DalExMessages.NESSUNA_RIGA_MODIFICATA,
                                                                    "DAL_TIT_009", string.Empty,
                                                                    string.Empty, null);
                        ErrorLogInfo err = new ErrorLogInfo(mEx);

                        log.Error(mEx);
                        throw mEx;
                    }
                }
                catch (InvalidOperationException ex)
                {
                    ManagedException mEx = new ManagedException(DalExMessages.RUBRICA_NON_AGGIORNATA,
                                                                "DAL_UNIQUE_CODE", string.Empty,
                                                                string.Empty, ex);
                    ErrorLogInfo err = new ErrorLogInfo(mEx);

                    log.Error(mEx);
                    throw mEx;
                }
            }
        }
 protected void buttonSalvaSottoTitolo_Click(object sender, EventArgs e)
 {
     if (SottoTitoloCodiceComunicazione.Text.Trim() != string.Empty && NomeSottotitolo.Text.Trim() != string.Empty && ddlTitolo.SelectedValue != "0")
     {
         TitolarioService <SendMail.Model.SottoTitolo> st = new TitolarioService <SendMail.Model.SottoTitolo>();
         TitolarioService <SendMail.Model.Titolo>      ts = new TitolarioService <SendMail.Model.Titolo>();
         Titolo      titolo      = ts.LoadTitoloById(int.Parse(ddlTitolo.SelectedValue));
         SottoTitolo sottotitolo = new SottoTitolo(titolo);
         SottoTitolo s           = null;
         sottotitolo.ComCode        = SottoTitoloCodiceComunicazione.Text;
         sottotitolo.ProtocolloCode = SottoTitoloCodiceProtocollo.Text;
         sottotitolo.Nome           = NomeSottotitolo.Text;
         sottotitolo.RefIdTitolo    = titolo.Id;
         sottotitolo.UsaProtocollo  = CheckProtocolloAttivo.Checked;
         sottotitolo.Deleted        = CheckProtocolloAttivo.Checked;
         try
         {
             s = st.insertTitolo(sottotitolo);
         }
         catch (Exception ex)
         {
             info.AddError("Creazione sottotitolo errata dettagli: " + ex.Message);
         }
         if (titolo.Id > 0)
         {
             info.AddInfo("Titolo creato");
         }
     }
 }
        public void Insert(SottoTitolo sottoTitolo)
        {
            using (OracleCommand ocmd = new OracleCommand())
            {
                // preparo il command
                ocmd.CommandText = insertStatement;
                ocmd.Parameters.AddRange(MapObjectToParams(sottoTitolo, true));
                ocmd.Connection = base.CurrentConnection;
                // eseguo il command
                try
                {
                    ocmd.ExecuteNonQuery();
                    //param out
                    int iNewID = default(int);
                    int.TryParse(ocmd.Parameters["pID_SOT"].Value.ToString(), out iNewID);
                    //todo.. MIGLIORARE
                    if (iNewID != default(int))
                    {
                        sottoTitolo.Id = iNewID;
                    }
                    else
                    {
                        throw new Exception(DalExMessages.ID_NON_RESTITUITO);
                    }
                }
                /*TODO: INSERIRE I LOG DELLE ECCEZIONI*/ catch (InvalidOperationException ioex)
                {
                    //throw new DALException(DalExMessages.RUBRICA_NON_INSERITA, ioex);
                    //TASK: Allineamento log - Ciro
                    ManagedException mEx = new ManagedException(DalExMessages.RUBRICA_NON_INSERITA,
                                                                "DAL_RUB_002", string.Empty,
                                                                string.Empty, ioex);
                    ErrorLogInfo err = new ErrorLogInfo(mEx);

                    log.Error(mEx);
                    throw mEx;
                    //throw new ManagedException(DalExMessages.RUBRICA_NON_INSERITA, "DAL_RUB_002", "", "", "", "", "", ioex);
                }
                /*TODO: INSERIRE I LOG DELLE ECCEZIONI*/ catch (OracleException oex)
                {
                    //throw new DALException(DalExMessages.RUBRICA_NON_INSERITA, oex);
                    //TASK: Allineamento log - Ciro
                    ManagedException mEx = new ManagedException(DalExMessages.RUBRICA_NON_INSERITA,
                                                                "DAL_RUB_001", string.Empty,
                                                                string.Empty, oex);
                    ErrorLogInfo err = new ErrorLogInfo(mEx);

                    log.Error(mEx);
                    throw mEx;
                    //throw new ManagedException(DalExMessages.RUBRICA_NON_INSERITA, "DAL_RUB_001", "", "", "", "", "", oex);
                }
            }
        }
        internal static SottoTitolo MapToSottotitolo(COMUNICAZIONI_SOTTOTITOLI s)
        {
            SottoTitolo st = new SottoTitolo();

            st.Id        = (Int32)s.ID_SOTTOTITOLO;
            st.Titolo.Id = (Int32)s.REF_ID_TITOLO;
            st.Nome      = s.SOTTOTITOLO;
            st.ComCode   = s.COM_CODE;
            st.Note      = s.NOTE;
            if (s.ACTIVE != 1)
            {
                st.Deleted = false;
            }
            else
            {
                st.Deleted = !Convert.ToBoolean(s.ACTIVE);
            }
            st.ProtocolloCode = s.PROT_CODE;
            if (s.PROT_LOAD_ALLEGATI == 0)
            {
                st.ProtocolloLoadAllegati = false;
            }
            else
            {
                st.ProtocolloLoadAllegati = Convert.ToBoolean(s.PROT_LOAD_ALLEGATI);
            }
            st.ProtocolloPassword = s.PROT_PWD;
            st.ProtocolloSubCode  = s.PROT_SUBCODE;
            st.TipiProcollo       = null;
            if (!String.IsNullOrEmpty(s.PROT_TIPI_AMMESSI))
            {
                st.TipiProcollo = (from t in  s.PROT_TIPI_AMMESSI.Split(new char[] { ';', ',' }, StringSplitOptions.RemoveEmptyEntries)
                                   let exist = Enum.GetNames(typeof(ProtocolloTypes)).Contains(t)
                                               select((exist) ? (ProtocolloTypes)Enum.Parse(typeof(ProtocolloTypes), t) : ProtocolloTypes.UNKNOWN)).ToList();
            }
            if (s.PROT_MANAGED == 0)
            {
                st.UsaProtocollo = false;
            }
            else
            {
                st.UsaProtocollo = Convert.ToBoolean(s.PROT_MANAGED);
            }

            return(st);
        }
        /// <summary>
        /// Mappa un record su di un oggetto SottoTitolo.
        /// </summary>
        /// <param name="dr">datarecord</param>
        /// <returns></returns>
        internal static SottoTitolo MapToSottoTitolo(IDataRecord dr)
        {
            SottoTitolo st = new SottoTitolo();

            st.Id        = (Int32)dr.GetDecimal("ID_SOTTOTITOLO");
            st.Titolo.Id = (Int32)dr.GetDecimal("REF_ID_TITOLO");
            st.Nome      = dr.GetString("SOTTOTITOLO");
            st.ComCode   = dr.GetString("COM_CODE");
            st.Note      = dr.GetString("NOTE");
            if (dr.IsDBNull("ACTIVE"))
            {
                st.Deleted = false;
            }
            else
            {
                st.Deleted = !Convert.ToBoolean(dr.GetDecimal("ACTIVE"));
            }
            st.ProtocolloCode = dr.GetString("PROT_CODE");
            if (dr.IsDBNull("PROT_LOAD_ALLEGATI"))
            {
                st.ProtocolloLoadAllegati = false;
            }
            else
            {
                st.ProtocolloLoadAllegati = Convert.ToBoolean(dr.GetDecimal("PROT_LOAD_ALLEGATI"));
            }
            st.ProtocolloPassword = dr.GetString("PROT_PWD");
            st.ProtocolloSubCode  = dr.GetString("PROT_SUBCODE");
            st.TipiProcollo       = null;
            if (!dr.IsDBNull("PROT_TIPI_AMMESSI"))
            {
                st.TipiProcollo = (from t in dr.GetString("PROT_TIPI_AMMESSI").Split(new char[] { ';', ',' }, StringSplitOptions.RemoveEmptyEntries)
                                   let exist = Enum.GetNames(typeof(ProtocolloTypes)).Contains(t)
                                               select((exist) ? (ProtocolloTypes)Enum.Parse(typeof(ProtocolloTypes), t) : ProtocolloTypes.UNKNOWN)).ToList();
            }
            if (dr.IsDBNull("PROT_MANAGED"))
            {
                st.UsaProtocollo = false;
            }
            else
            {
                st.UsaProtocollo = Convert.ToBoolean(dr.GetDecimal("PROT_MANAGED"));
            }

            return(st);
        }
        public void Update(SottoTitolo sottoTitolo)
        {
            using (OracleCommand ocmd = new OracleCommand())
            {
                ocmd.CommandText = updateStatement;
                ocmd.Parameters.AddRange(MapObjectToParams(sottoTitolo, false));
                ocmd.Connection = base.CurrentConnection;
                // eseguo il command
                try
                {
                    int rowAff = ocmd.ExecuteNonQuery();

                    if (rowAff != 1)
                    //throw new DALException(DalExMessages.NESSUNA_RIGA_MODIFICATA);
                    {
                        //TASK: Allineamento log - Ciro
                        ManagedException mEx = new ManagedException(DalExMessages.NESSUNA_RIGA_MODIFICATA,
                                                                    "DAL_TIT_009", string.Empty,
                                                                    string.Empty, null);
                        ErrorLogInfo err = new ErrorLogInfo(mEx);

                        log.Error(mEx);
                        throw mEx;
                    }
                    //throw new ManagedException(DalExMessages.NESSUNA_RIGA_MODIFICATA, "DAL_TIT_009", "", "", "", "", "", null);
                }
                /*TODO: INSERIRE I LOG DELLE ECCEZIONI*/ catch (InvalidOperationException ex)
                {
                    //throw new DALException(DalExMessages.RUBRICA_NON_AGGIORNATA, ex);
                    //TASK: Allineamento log - Ciro
                    ManagedException mEx = new ManagedException(DalExMessages.RUBRICA_NON_AGGIORNATA,
                                                                "DAL_UNIQUE_CODE", string.Empty,
                                                                string.Empty, ex);
                    ErrorLogInfo err = new ErrorLogInfo(mEx);

                    log.Error(mEx);
                    throw mEx;
                    //throw new ManagedException(DalExMessages.RUBRICA_NON_AGGIORNATA, "DAL_UNIQUE_CODE", "", "", "", "", "", ex);
                }
            }
        }
        public SottoTitolo GetSottoTitoloByComCode(string comcode)
        {
            SottoTitolo sottotitolo = null;

            using (var dbcontext = new FAXPECContext())
            {
                try
                {
                    var s = dbcontext.COMUNICAZIONI_SOTTOTITOLI.Where(x => x.COM_CODE.ToUpper() == comcode.ToUpper()).First();
                    sottotitolo = DaoSQLServerDBHelper.MapToSottotitolo(s);
                }
                catch (SqlException oex)
                {
                    ManagedException mEx = new ManagedException(DalExMessages.TITOLO_NON_RECUPERATO,
                                                                "DAL_TIT_011", string.Empty,
                                                                string.Empty, oex);
                    ErrorLogInfo err = new ErrorLogInfo(mEx);

                    log.Error(mEx);
                    throw mEx;
                }
            }
            return(sottotitolo);
        }
Beispiel #10
0
        public void Insert(SottoTitolo sottoTitolo)
        {
            using (var dbcontext = new FAXPECContext())
            {
                try
                {
                    COMUNICAZIONI_SOTTOTITOLI s = DaoSQLServerDBHelper.MapToComunicazioniSottotitolo(sottoTitolo, true);
                    dbcontext.COMUNICAZIONI_SOTTOTITOLI.Add(s);
                    var resp = dbcontext.SaveChanges();
                    if (resp == 0)
                    {
                        throw new Exception(DalExMessages.ID_NON_RESTITUITO);
                    }
                }
                catch (InvalidOperationException ioex)
                {
                    ManagedException mEx = new ManagedException(DalExMessages.RUBRICA_NON_INSERITA,
                                                                "DAL_RUB_002", string.Empty,
                                                                string.Empty, ioex);
                    ErrorLogInfo err = new ErrorLogInfo(mEx);

                    log.Error(mEx);
                    throw mEx;
                }
                catch (SqlException oex)
                {
                    ManagedException mEx = new ManagedException(DalExMessages.RUBRICA_NON_INSERITA,
                                                                "DAL_RUB_001", string.Empty,
                                                                string.Empty, oex);
                    ErrorLogInfo err = new ErrorLogInfo(mEx);

                    log.Error(mEx);
                    throw mEx;
                }
            }
        }