예제 #1
0
        /// <summary>
        /// Lista las ultimas X campañas que defina el usuario
        /// </summary>
        /// <param name="cantidad">cantidad de campañas desde la ultima para atras</param>
        /// <returns></returns>
        public List <ProcesamientosCampanaInfo> ListUltimasCampanas(int top, DateTime fechafin)
        {
            db.SetParameterValue(commandProcesamientosCampana, "i_operation", 'S');
            db.SetParameterValue(commandProcesamientosCampana, "i_option", 'I');
            db.SetParameterValue(commandProcesamientosCampana, "i_top", top);
            db.SetParameterValue(commandProcesamientosCampana, "FECHAFIN", fechafin);

            List <ProcesamientosCampanaInfo> col = new List <ProcesamientosCampanaInfo>();

            IDataReader dr = null;

            ProcesamientosCampanaInfo m = null;

            try
            {
                dr = db.ExecuteReader(commandProcesamientosCampana);

                while (dr.Read())
                {
                    m = Factory.GetProcesamientosCampana(dr);

                    col.Add(m);
                }
            }
            catch (Exception ex)
            {
                System.Diagnostics.Trace.WriteLine(string.Format("NIVI Error: {0} , NameSpace: {1}, Clase: {2}, Metodo: {3} ", ex.Message, MethodBase.GetCurrentMethod().DeclaringType.Namespace, MethodBase.GetCurrentMethod().DeclaringType.Name, MethodBase.GetCurrentMethod().Name));

                bool rethrow = ExceptionPolicy.HandleException(ex, "DataAccess Policy");

                if (rethrow)
                {
                    throw;
                }
            }
            finally
            {
                if (dr != null)
                {
                    dr.Close();
                }
            }

            return(col);
        }
예제 #2
0
        /// <summary>
        /// Mostrar el ultimo elemento de la tabla SVDN_PROCESAMIENTOS_CAMPANA de acuerdo a un tipo de Procesamiento y ordenado por fecha
        /// </summary>
        /// </summary>
        /// <param name="idPrc"></param>
        /// <returns></returns>

        public ProcesamientosCampanaInfo ListSegunFecha(DateTime fechaini)
        {
            db.SetParameterValue(commandProcesamientosCampana, "i_operation", 'S');
            db.SetParameterValue(commandProcesamientosCampana, "i_option", 'J');
            db.SetParameterValue(commandProcesamientosCampana, "FECHAINI", fechaini);

            IDataReader dr = null;

            ProcesamientosCampanaInfo m = null;

            try
            {
                dr = db.ExecuteReader(commandProcesamientosCampana);

                if (dr.Read())
                {
                    m = Factory.GetProcesamientosCampana(dr);
                }
                else
                {
                    m = null;
                }
            }
            catch (Exception ex)
            {
                System.Diagnostics.Trace.WriteLine(string.Format("NIVI Error: {0} , NameSpace: {1}, Clase: {2}, Metodo: {3} ", ex.Message, MethodBase.GetCurrentMethod().DeclaringType.Namespace, MethodBase.GetCurrentMethod().DeclaringType.Name, MethodBase.GetCurrentMethod().Name));

                bool rethrow = ExceptionPolicy.HandleException(ex, "DataAccess Policy");

                if (rethrow)
                {
                    throw;
                }
            }
            finally
            {
                if (dr != null)
                {
                    dr.Close();
                }
            }

            return(m);
        }
예제 #3
0
        /// <summary>
        /// Realiza insercion de fechas de la campaña actual con respecto a un proceso determinado
        /// </summary>
        /// <param name="item"></param>
        /// <returns></returns>
        public string InsertProcesamientoCampana(ProcesamientosCampanaInfo item)
        {
            string strid = "";

            IDataReader dr = null;

            try
            {
                db.SetParameterValue(commandProcesamientosCampana, "i_operation", 'I');
                db.SetParameterValue(commandProcesamientosCampana, "i_option", 'A');
                db.SetParameterValue(commandProcesamientosCampana, "i_prc_id", item.ProcessId);

                dr = db.ExecuteReader(commandProcesamientosCampana);

                strid = System.Convert.ToString(db.GetParameterValue(commandProcesamientosCampana, "i_prc_id")).Trim();
                //Obtiene el identificador (consecutivo) del insert
            }

            catch (Exception ex)
            {
                System.Diagnostics.Trace.WriteLine(string.Format("NIVI Error: {0} , NameSpace: {1}, Clase: {2}, Metodo: {3} ", ex.Message, MethodBase.GetCurrentMethod().DeclaringType.Namespace, MethodBase.GetCurrentMethod().DeclaringType.Name, MethodBase.GetCurrentMethod().Name));

                bool rethrow = ExceptionPolicy.HandleException(ex, "DataAccess Policy");

                if (rethrow)
                {
                    throw;
                }
            }
            finally
            {
                if (dr != null)
                {
                    dr.Close();
                }
            }

            return(strid);
        }
예제 #4
0
        /// <summary>
        /// Actualiza la fechas de SVDN_PROCESAMIENTOS_CAMPANA
        /// </summary>
        /// <param name="item"></param>
        /// <returns></returns>
        public bool UpdateProcesamientoCampana(ProcesamientosCampanaInfo item)
        {
            bool transOk = false;

            IDataReader dr = null;

            try
            {
                db.SetParameterValue(commandProcesamientosCampana, "i_operation", 'U');
                db.SetParameterValue(commandProcesamientosCampana, "i_option", 'A');
                db.SetParameterValue(commandProcesamientosCampana, "@FECHAINI", item.FechaInicial);
                db.SetParameterValue(commandProcesamientosCampana, "@FECHAFIN", item.FechaFinal);

                dr      = db.ExecuteReader(commandProcesamientosCampana);
                transOk = true;
            }
            catch (Exception ex)
            {
                System.Diagnostics.Trace.WriteLine(string.Format("NIVI Error: {0} , NameSpace: {1}, Clase: {2}, Metodo: {3} ", ex.Message, MethodBase.GetCurrentMethod().DeclaringType.Namespace, MethodBase.GetCurrentMethod().DeclaringType.Name, MethodBase.GetCurrentMethod().Name));

                bool rethrow = ExceptionPolicy.HandleException(ex, "DataAccess Policy");

                if (rethrow)
                {
                    throw;
                }
            }
            finally
            {
                if (dr != null)
                {
                    dr.Close();
                }
            }

            return(transOk);
        }
예제 #5
0
 public string InsertProcesamientoCampana(ProcesamientosCampanaInfo item)
 {
     return(module.InsertProcesamientoCampana(item));
 }
예제 #6
0
 public bool UpdateProcesamientoCampanaActual(ProcesamientosCampanaInfo item)
 {
     return(module.UpdateProcesamientoCampanaActual(item));
 }