예제 #1
0
        public bool ActivarCertificado(int idCertificado)
        {
            SqlConnection cnn = DBConnectionFactory.GetOpenConnection();
            SqlCommand    cmd = new SqlCommand("PG_AC_CERTIFICADO", cnn);

            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.AddWithValue("@PP_ID_CERTIFICADO", idCertificado);
            try
            {
                int id = cmd.ExecuteNonQuery();
                if (id == 0)
                {
                    throw new Exception("No fue posible activar el certificado");
                }
                return(true);
            }
            catch (Exception e)
            {
                logger.Error(e, e.Message);
                throw e;
            }
            finally
            {
                cmd.Dispose();
                cnn.Dispose();
            }
        }
예제 #2
0
        public int ActivarUnidadOperativa(int idUnidadOperativa)
        {
            SqlConnection cnn = DBConnectionFactory.GetOpenConnection();
            SqlCommand    cmd = new SqlCommand("PG_AC_UNIDAD_OPERATIVA", cnn);

            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.AddWithValue("@PP_K_UNIDAD_OPERATIVA", idUnidadOperativa);
            int resultado;

            try
            {
                resultado = cmd.ExecuteNonQuery();
                return(resultado);
            }
            catch (Exception e)
            {
                logger.Error(e, e.Message);
                throw e;
            }
            finally
            {
                cmd.Dispose();
                cnn.Dispose();
            }
        }
예제 #3
0
        public string GetThumbnail(int id, System.IO.Stream strm)
        {
            string fileName = this.DB.Products.Where(a => a.ProductID == id).Select(a => a.ThumbnailPhotoFileName).FirstOrDefault();

            if (string.IsNullOrEmpty(fileName))
            {
                return("");
            }
            System.Transactions.TransactionOptions top = new System.Transactions.TransactionOptions();
            top.Timeout        = TimeSpan.FromSeconds(60);
            top.IsolationLevel = System.Transactions.IsolationLevel.Serializable;

            using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required, top))
                using (DbConnection conn = DBConnectionFactory.GetRIAppDemoConnection())
                {
                    byte[] bytes = new byte[64 * 1024];

                    string     fldname = "ThumbNailPhoto";
                    BlobStream bstrm   = new BlobStream(conn as SqlConnection, "[SalesLT].[Product]", fldname, string.Format("WHERE [ProductID]={0}", id));
                    bstrm.Open();
                    int cnt = bstrm.Read(bytes, 0, bytes.Length);
                    while (cnt > 0)
                    {
                        strm.Write(bytes, 0, cnt);
                        cnt = bstrm.Read(bytes, 0, bytes.Length);
                    }
                    bstrm.Close();
                    scope.Complete();
                }
            return(fileName);
        }
예제 #4
0
        public DbDataReader ExecutePureSQL(string query, Dictionary <string, object> parameters = null)
        {
            try
            {
                using (connection = DBConnectionFactory.Instance(contextName))
                {
                    DBConnectionOperation.ConnectionOpen(connection);
                    command             = connection.CreateCommand();
                    command.CommandText = query;

                    if (parameters != null)
                    {
                        foreach (var loopParameter in parameters)
                        {
                            DbParameter parameter = command.CreateParameter();
                            parameter.ParameterName = loopParameter.Key.ToString();
                            parameter.Value         = loopParameter.Value;
                            command.Parameters.Add(parameter);
                        }
                    }

                    return(command.ExecuteReader());
                }
            }
            catch (Exception ex)
            {
                DBConnectionOperation.ConnectionClose(connection);
                throw ex;
            }
        }
예제 #5
0
        /// <summary>
        /// TR : CRUD işlemlerinden sonra çalıştırılacak method
        /// EN :
        /// </summary>
        /// <returns></returns>
        /// <summary>
        public virtual int PushToDB()
        {
            try
            {
                using (connection = DBConnectionFactory.Instance(contextName))
                {
                    DBConnectionOperation.ConnectionOpen(connection);
                    command             = connection.CreateCommand();
                    command.CommandText = runVersionQuery;

                    //Development ortamı isteyen geliştiriciler override edip bu satırları aktif hale getirecekler
                    //if (DBConnectionFactory.LatestDatabaseVersionFromXML(contextName) != Convert.ToInt32(command.ExecuteScalar()))
                    //  throw new Exception("Veritabanı üzerinde bir güncelleme olduğu için bu işlem gerçekleştirilemez.Lütfen öncelikle Veritabanı versiyonunuzu eşitleyiniz.");

                    command.CommandText = runQuery;
                    if (parameterList != null && parameterList.Count > 0)
                    {
                        foreach (var loopParameter in parameterList)
                        {
                            DbParameter parameter = command.CreateParameter();
                            parameter.ParameterName = loopParameter.Key.ToString();
                            parameter.Value         = loopParameter.Value;
                            command.Parameters.Add(parameter);
                        }
                    }
                    return(command.ExecuteNonQuery());
                }
            }
            catch (Exception ex)
            {
                DBConnectionOperation.ConnectionClose(connection);
                throw ex;
            }
        }
예제 #6
0
파일: SerieDAO.cs 프로젝트: PoloRdz/cfdi
        public int getSeriesCount()
        {
            SqlConnection cnn = DBConnectionFactory.GetOpenConnection();
            SqlCommand    cmd = new SqlCommand("PG_SK_SERIES_COUNT", cnn);

            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.AddWithValue("@PP_TOTAL_REG", 0).Direction = ParameterDirection.InputOutput;
            int total = 0;

            try
            {
                cmd.ExecuteNonQuery();
                total = (int)cmd.Parameters["@PP_TOTAL_REG"].Value;
                return(total);
            }
            catch (Exception e)
            {
                logger.Error(e, e.Message);
                throw e;
            }
            finally
            {
                cmd.Dispose();
                cnn.Close();
            }
        }
예제 #7
0
파일: SerieDAO.cs 프로젝트: PoloRdz/cfdi
        public List <Serie> getSeries(int page, int rpp)
        {
            SqlConnection cnn = DBConnectionFactory.GetOpenConnection();
            SqlCommand    cmd = new SqlCommand("PG_SK_SERIES", cnn);

            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.AddWithValue("@PP_NUM_PAGINA", page);
            cmd.Parameters.AddWithValue("@PP_RPP", rpp);
            SqlDataReader reader = cmd.ExecuteReader();
            var           series = new List <Serie>();

            try
            {
                if (!reader.HasRows)
                {
                    throw new NotFoundException("No se han encontrado series");
                }
                while (reader.Read())
                {
                    series.Add(getSerieFromReader(reader));
                }
                return(series);
            }
            catch (Exception e)
            {
                logger.Error(e, e.Message);
                throw e;
            }
            finally
            {
                reader.Close();
                cmd.Dispose();
                cnn.Close();
            }
        }
예제 #8
0
        // <summary>
        /// Tablo ve Sütun adı verilerek ilgili Constraint ismini döner
        /// </summary>
        /// <param name="schemaName">Tablo Şema Adı</param>
        /// <param name="tableName">Tablo Adı</param>
        /// <param name="columnName">Sütun Adı</param>
        /// <returns></returns>
        public Tuple <string, string> ConstraintNameByTableAndColumnName(string tableName, string columnName, string schemaName = "")
        {
            string constraintName = string.Empty;
            string constraintType = string.Empty;

            try
            {
                using (connection = DBConnectionFactory.Instance(this.ContextName))
                {
                    DBConnectionOperation.ConnectionOpen(connection);
                    MySqlCommand command = new MySqlCommand($"SELECT Col.COLUMN_NAME,Col.CONSTRAINT_NAME,Tbl.CONSTRAINT_TYPE " +
                                                            $"FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS Tbl,INFORMATION_SCHEMA.KEY_COLUMN_USAGE Col " +
                                                            $"WHERE Col.CONSTRAINT_NAME = Tbl.CONSTRAINT_NAME " +
                                                            $"AND Col.TABLE_NAME = Tbl.TABLE_NAME " +
                                                            $"AND Col.TABLE_NAME = @TableName " +
                                                            $"AND Col.COLUMN_NAME = @ColumnName", (MySqlConnection)connection);
                    command.Parameters.AddWithValue("@TableName", tableName);
                    command.Parameters.AddWithValue("@ColumnName", columnName);

                    DbDataReader reader = command.ExecuteReader();
                    while (reader.Read())
                    {
                        constraintName = reader.GetString(1);
                        constraintType = reader.GetString(2);
                    }
                    reader.Close();
                }
            }
            catch (Exception ex)
            {
                DBConnectionOperation.ConnectionClose(connection);
                throw ex;
            }
            return(Tuple.Create(constraintName, constraintType));
        }
예제 #9
0
        public int LatestVersionDatabase()
        {
            int version = 0;

            try
            {
                using (connection = DBConnectionFactory.Instance(this.ContextName))
                {
                    DBConnectionOperation.ConnectionOpen(connection);
                    MySqlCommand command = new MySqlCommand($"SELECT Version FROM __WORM__Configuration ORDER BY Version DESC LIMIT 1", (MySqlConnection)connection);

                    DbDataReader reader = command.ExecuteReader();
                    while (reader.Read())
                    {
                        version = reader.GetInt32(0);
                    }
                    reader.Close();
                }
            }
            catch (Exception ex)
            {
                DBConnectionOperation.ConnectionClose(connection);
                throw ex;
            }
            return(version);
        }
예제 #10
0
        /// <summary>
        /// Tablo üzerindeki sütunların isimlerini listeler
        /// </summary>
        /// <param name="tableName">Sütunları listelenecek tablo adı</param>
        /// <returns></returns>
        public List <string> ColumnListOnTable(string tableName)
        {
            List <string> columnList = new List <string>();

            try
            {
                using (connection = DBConnectionFactory.Instance(this.ContextName))
                {
                    DBConnectionOperation.ConnectionOpen(connection);
                    MySqlCommand command = new MySqlCommand($"SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = @TableName", (MySqlConnection)connection);
                    command.Parameters.AddWithValue("@TableName", tableName);

                    DbDataReader reader = command.ExecuteReader();
                    while (reader.Read())
                    {
                        columnList.Add(reader.GetString(3));
                    }
                    reader.Close();
                }
            }
            catch (Exception)
            {
                DBConnectionOperation.ConnectionClose(connection);
            }
            return(columnList);
        }
예제 #11
0
        public bool IsTableHasPrimaryKey(string schemaName, string tableName)
        {
            bool tablehasPrimaryKey = false;

            try
            {
                using (connection = DBConnectionFactory.Instance(this.contextName))
                {
                    DBConnectionOperation.ConnectionOpen(connection);
                    MySqlCommand command = new MySqlCommand($"SELECT CASE WHEN EXISTS((SELECT CONSTRAINT_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE  TABLE_NAME = @TableName " +
                                                            "AND TABLE_SCHEMA = @SchemaName" +
                                                            "AND CONSTRAINT_TYPE = 'PRIMARY KEY')) THEN 1 ELSE 0 END",
                                                            (MySqlConnection)connection);
                    command.Parameters.AddWithValue("@SchemaName", schemaName);
                    command.Parameters.AddWithValue("@TableName", tableName);
                    tablehasPrimaryKey = (int)command.ExecuteScalar() == 1 ? true : false;
                }
            }
            catch (Exception ex)
            {
                DBConnectionOperation.ConnectionClose(connection);
                throw ex;
            }
            return(tablehasPrimaryKey);
        }
예제 #12
0
        /// <summary>
        /// Veritabanı üzerindeki tabloları isim ve şema birlikte listeler
        /// </summary>
        /// <returns></returns>
        public List <DBTableModel> TableListOnDB()
        {
            List <DBTableModel> tableList = new List <DBTableModel>();

            try
            {
                using (connection = DBConnectionFactory.Instance(this.contextName))
                {
                    DBConnectionOperation.ConnectionOpen(connection);
                    DataTable tables = connection.GetSchema("Tables");
                    foreach (DataRow table in tables.Rows)
                    {
                        DBTableModel dBTableModel = new DBTableModel
                        {
                            TableName = table[2].ToString()
                        };
                        tableList.Add(dBTableModel);
                    }
                }
            }
            catch (Exception)
            {
                DBConnectionOperation.ConnectionClose(connection);
            }
            return(tableList);
        }
예제 #13
0
        public Certificado GetCertificado(int idCertificado)
        {
            SqlConnection cnn = DBConnectionFactory.GetOpenConnection();
            SqlCommand    cmd = new SqlCommand("PG_SK_CERTIFICADO", cnn);

            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.AddWithValue("@PP_K_CERTIFICADO", idCertificado);
            SqlDataReader rdr = null;

            try
            {
                rdr = cmd.ExecuteReader();
                if (!rdr.HasRows)
                {
                    throw new NotFoundException("No se ha encontrado el certificado");
                }
                rdr.Read();
                return(getCertificadoFromReader(rdr));
            }
            catch (Exception e)
            {
                logger.Error(e, e.Message);
                throw e;
            }
            finally
            {
                rdr.Close();
                cmd.Dispose();
                cnn.Dispose();
            }
        }
예제 #14
0
        public int getCertificadosTotal()
        {
            SqlConnection cnn = DBConnectionFactory.GetOpenConnection();
            SqlCommand    cmd = new SqlCommand("PG_SK_CERTIFICADOS_TOTAL", cnn);

            cmd.CommandType = CommandType.StoredProcedure;
            SqlDataReader rdr = null;

            try
            {
                rdr = cmd.ExecuteReader();
                rdr.Read();
                return(rdr.GetInt32(0));
            }
            catch (Exception e)
            {
                logger.Error(e, e.Message);
                throw e;
            }
            finally
            {
                rdr.Close();
                cmd.Dispose();
                cnn.Dispose();
            }
        }
예제 #15
0
파일: SerieDAO.cs 프로젝트: PoloRdz/cfdi
        public Serie insertSerie(Serie serie)
        {
            SqlConnection cnn = DBConnectionFactory.GetOpenConnection();
            SqlCommand    cmd = new SqlCommand("PG_IN_SERIE", cnn);

            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.AddWithValue("@PP_ID_SERIE", 0).Direction = ParameterDirection.InputOutput;
            cmd.Parameters.AddWithValue("@PP_K_RAZON_SOCIAL", serie.emisor.unidadOperativa.razonSocial.idRazonSocial);
            cmd.Parameters.AddWithValue("@PP_TIPO_VENTA", serie.tipoVenta);
            cmd.Parameters.AddWithValue("@PP_SERIE", serie.serie);
            try
            {
                cmd.ExecuteNonQuery();
                int id = (int)cmd.Parameters["@PP_ID_SERIE"].Value;
                if (id <= 0)
                {
                    throw new Exception("Error al insertar la serie");
                }
                serie.id = id;
                return(serie);
            }
            catch (Exception e)
            {
                logger.Error(e);
                throw e;
            }
            finally
            {
                cmd.Dispose();
                cnn.Dispose();
            }
        }
예제 #16
0
        public string ColumnInformationFromDB(string tableName, string columnName)
        {
            string columnInformation = string.Empty;

            try
            {
                using (connection = DBConnectionFactory.Instance(this.ContextName))
                {
                    DBConnectionOperation.ConnectionOpen(connection);
                    MySqlCommand command = new MySqlCommand($"SELECT DATA_TYPE,CHARACTER_MAXIMUM_LENGTH,IS_NULLABLE FROM INFORMATION_SCHEMA.COLUMNS  " +
                                                            $"WHERE TABLE_NAME = @TableName AND COLUMN_NAME = @ColumnName", (MySqlConnection)connection);
                    command.Parameters.AddWithValue("@TableName", tableName);
                    command.Parameters.AddWithValue("@ColumnName", columnName);

                    DbDataReader reader = command.ExecuteReader();
                    while (reader.Read())
                    {
                        columnInformation = $"{reader.GetString(0)}{(reader.IsDBNull(1) ? "" : $"({reader.GetString(1)})")} {(reader.GetString(2) == "YES" ? "NULL" : "NOT NULL")} ";
                    }
                    reader.Close();
                }
            }
            catch (Exception ex)
            {
                DBConnectionOperation.ConnectionClose(connection);
                throw ex;
            }
            return(columnInformation);
        }
예제 #17
0
파일: SerieDAO.cs 프로젝트: PoloRdz/cfdi
        public void updateSerie(Serie serie)
        {
            SqlConnection cnn = DBConnectionFactory.GetOpenConnection();
            SqlCommand    cmd = new SqlCommand("PG_UP_SERIE", cnn);

            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.AddWithValue("@PP_ID_SERIE", serie.id);
            cmd.Parameters.AddWithValue("@PP_K_RAZON_SOCIAL", serie.emisor.unidadOperativa.razonSocial.idRazonSocial);
            cmd.Parameters.AddWithValue("@PP_TIPO_VENTA", serie.tipoVenta);
            cmd.Parameters.AddWithValue("@PP_SERIE", serie.serie);
            try
            {
                int affectedRows = cmd.ExecuteNonQuery();
                if (affectedRows == 0)
                {
                    throw new Exception("La serie no ha sido actualizada");
                }
            }
            catch (Exception e)
            {
                logger.Error(e, e.Message);
            }
            finally
            {
                cmd.Dispose();
                cnn.Dispose();
            }
        }
예제 #18
0
        public GameService()
        {
            var connfactory = new DBConnectionFactory();

            conn = connfactory.Connect();
            conn.CreateTable();

            var worlds       = InstanceWorldManager.Instance;
            var defaultWorld = worlds.Get(InstanceWorldManager.DefaultID);

            var sessionLayer = NetworkStack.Session;

            sessionLayer.Connect.Received.Subscribe(d => HandleConnect(d.Session, d.Packet));
            sessionLayer.Disconnect.Received.Subscribe(d => HandleDisconnect(d.Session, d.Packet));
            sessionLayer.Ping.Received.Subscribe(d => HandlePing(d.Session, d.Packet));
            sessionLayer.Heartbeat.Received.Subscribe(d => HandleHeartbeat(d.Session, d.Packet));

            sessionLayer.SignUp.Received.Subscribe(d => HandleSignUp(d.Session, d.Packet));
            sessionLayer.Authentication.Received.Subscribe(d => HandleAuthentication(d.Session, d.Packet));

            sessionLayer.WorldJoin.Received.Subscribe(d => HandleWorldJoin(d.Session, d));
            sessionLayer.WorldLeave.Received.Subscribe(d => HandleWorldLeave(d.Session, d));

            sessionLayer.Attack.Received.Subscribe(d => EnqueueWorldPacket(d));
            sessionLayer.PlayerReady.Received.Subscribe(d => EnqueueWorldPacket(d));

            sessionLayer.Move.Received.Subscribe(d => EnqueueWorldPacket(d));
        }
예제 #19
0
파일: SerieDAO.cs 프로젝트: PoloRdz/cfdi
        public void ActivarSerie(int id)
        {
            SqlConnection cnn = DBConnectionFactory.GetOpenConnection();
            SqlCommand    cmd = new SqlCommand("PG_AC_SERIE", cnn);

            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.AddWithValue("@PP_ID_SERIE", id);
            try
            {
                int affectedRows = cmd.ExecuteNonQuery();
                if (affectedRows == 0)
                {
                    throw new Exception("La serie no ha sido activada");
                }
            }
            catch (Exception e)
            {
                logger.Error(e, e.Message);
                throw e;
            }
            finally
            {
                cmd.Dispose();
                cnn.Dispose();
            }
        }
예제 #20
0
        public Zona getZona(int idZona)
        {
            SqlConnection cnn = DBConnectionFactory.GetOpenConnection();
            SqlCommand    cmd = new SqlCommand("PG_SK_ZONA", cnn);

            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.AddWithValue("@PP_K_ZONA", idZona);
            SqlDataReader reader = null;
            Zona          zona   = new Zona();

            try
            {
                reader = cmd.ExecuteReader();
                if (!reader.HasRows)
                {
                    return(null);
                }
                reader.Read();
                zona = getZonaFromReader(reader);
                return(zona);
            }
            catch (Exception e)
            {
                logger.Error(e, e.Message);
                throw e;
            }
            finally
            {
                reader.Close();
                cmd.Dispose();
                cnn.Dispose();
            }
        }
예제 #21
0
파일: SerieDAO.cs 프로젝트: PoloRdz/cfdi
        public Serie getSerie(int id)
        {
            SqlConnection cnn = DBConnectionFactory.GetOpenConnection();
            SqlCommand    cmd = new SqlCommand("PG_SK_SERIE", cnn);

            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.AddWithValue("@PP_ID_SERIE", id);
            Serie         serie  = null;
            SqlDataReader reader = null;

            try
            {
                reader = cmd.ExecuteReader();
                if (!reader.HasRows)
                {
                    throw new NotFoundException("No se ha encontrado la serie con id: " + id);
                }
                reader.Read();
                serie = getSerieFromReader(reader);
                return(serie);
            }
            catch (Exception e)
            {
                logger.Error(e, e.Message);
                throw e;
            }
            finally
            {
                reader.Close();
                cmd.Dispose();
                cnn.Dispose();
            }
        }
예제 #22
0
        public int InsertarZona(Zona zona)
        {
            SqlConnection cnn = DBConnectionFactory.GetOpenConnection();
            SqlCommand    cmd = new SqlCommand("PG_IN_ZONA", cnn);

            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.AddWithValue("@PP_K_ZONA", 0).Direction = ParameterDirection.InputOutput;
            cmd.Parameters.AddWithValue("@PP_ZONA_NOMBRE", zona.zona);
            cmd.Parameters.AddWithValue("@PP_DESCRIPCTION", zona.descripcion);
            cmd.Parameters.AddWithValue("@PP_IDENTIFICADOR", zona.identificador);
            int resultado;

            try
            {
                resultado = cmd.ExecuteNonQuery();
                if (resultado > 0)
                {
                    zona.idZona = int.Parse(cmd.Parameters["@PP_K_ZONA"].Value.ToString());
                }
                return(resultado);
            }
            catch (Exception e)
            {
                logger.Error(e, e.Message);
                throw e;
            }
            finally
            {
                cmd.Dispose();
                cnn.Dispose();
            }
        }
예제 #23
0
        protected int BaseTransaction(DbTransaction transaction)
        {
            try
            {
                connection = DBConnectionFactory.Instance(contextName);
                DBConnectionOperation.ConnectionOpen(connection);
                command             = connection.CreateCommand();
                command.Transaction = transaction;

                command.CommandText = runQuery;
                if (parameterList != null && parameterList.Count > 0)
                {
                    foreach (var loopParameter in parameterList)
                    {
                        DbParameter parameter = command.CreateParameter();
                        parameter.ParameterName = loopParameter.Key.ToString();
                        parameter.Value         = loopParameter.Value;
                        command.Parameters.Add(parameter);
                    }
                }
                return(command.ExecuteNonQuery());
            }
            catch (Exception ex)
            {
                DBConnectionOperation.ConnectionClose(connection);
                throw ex;
            }
        }
예제 #24
0
        public int ActualizarZona(Zona zona)
        {
            SqlConnection cnn = DBConnectionFactory.GetOpenConnection();
            SqlCommand    cmd = new SqlCommand("PG_UP_ZONA", cnn);

            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.AddWithValue("@PP_K_ZONA", zona.idZona);
            cmd.Parameters.AddWithValue("@PP_ZONA_NOMBRE", zona.zona);
            cmd.Parameters.AddWithValue("@PP_DESCRIPCTION", zona.descripcion);
            cmd.Parameters.AddWithValue("@PP_IDENTIFICADOR", zona.identificador);
            int resultado;

            try
            {
                resultado = cmd.ExecuteNonQuery();
                return(resultado);
            }
            catch (Exception e)
            {
                logger.Error(e, e.Message);
                throw e;
            }
            finally
            {
                cmd.Dispose();
                cnn.Dispose();
            }
        }
        public void TestBadParameters()
        {
            var factory = new DBConnectionFactory();

            Assert.ThrowsException <ArgumentNullException>(() => factory.CreateConnection(null, default));
            Assert.ThrowsException <ArgumentOutOfRangeException>(() => factory.CreateConnection(String.Empty, (DatabaseType)42));
        }
예제 #26
0
        public int EliminarZona(int idZona)
        {
            SqlConnection cnn = DBConnectionFactory.GetOpenConnection();
            SqlCommand    cmd = new SqlCommand("PG_DL_ZONA", cnn);

            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.AddWithValue("@PP_K_ZONA", idZona);
            int resultado;

            try
            {
                resultado = cmd.ExecuteNonQuery();
                return(resultado);
            }
            catch (Exception e)
            {
                logger.Error(e, e.Message);
                throw e;
            }
            finally
            {
                cmd.Dispose();
                cnn.Dispose();
            }
        }
예제 #27
0
        public UnidadOperativa ObtenerUnidadOperativa(int idUnidadOperativa)
        {
            SqlConnection cnn = DBConnectionFactory.GetOpenConnection();
            SqlCommand    cmd = new SqlCommand("PG_SK_UNIDAD_OPERATIVA_V2", cnn);

            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.AddWithValue("@PP_ID_UNIDAD_OPERATIVA", idUnidadOperativa);
            SqlDataReader   reader = null;
            UnidadOperativa uos    = null;

            try
            {
                reader = cmd.ExecuteReader();
                if (reader.HasRows)
                {
                    uos = new UnidadOperativa();
                    while (reader.Read())
                    {
                        uos = GetUnidadOperativaFromReader(reader);
                    }
                }
                return(uos);
            }
            catch (Exception e)
            {
                logger.Error(e, e.Message);
                throw e;
            }
            finally
            {
                reader.Close();
                cmd.Dispose();
                cnn.Dispose();
            }
        }
예제 #28
0
        public int ObtenerZonasTotal()
        {
            SqlConnection cnn = DBConnectionFactory.GetOpenConnection();
            SqlCommand    cmd = new SqlCommand("PG_SK_ZONAS_TOTAL", cnn);

            cmd.CommandType = CommandType.StoredProcedure;
            int           zonasTotal;
            SqlDataReader reader = null;

            try
            {
                reader = cmd.ExecuteReader();
                reader.Read();
                zonasTotal = reader.GetInt32(0);
                return(zonasTotal);
            }
            catch (Exception e)
            {
                logger.Error(e, e.Message);
                throw e;
            }
            finally
            {
                cmd.Dispose();
                cnn.Dispose();
            }
        }
예제 #29
0
        public void SaveThumbnail(int id, string fileName, System.IO.Stream strm)
        {
            var product = this.DB.Products.Where(a => a.ProductID == id).FirstOrDefault();

            if (product == null)
            {
                throw new Exception("Product is not found");
            }

            TransactionOptions topts = new System.Transactions.TransactionOptions();

            topts.Timeout        = TimeSpan.FromSeconds(60);
            topts.IsolationLevel = System.Transactions.IsolationLevel.Serializable;
            using (TransactionScope trxScope = new TransactionScope(TransactionScopeOption.Required, topts))
                using (DbConnection conn = DBConnectionFactory.GetRIAppDemoConnection())
                {
                    System.IO.BinaryReader br = new System.IO.BinaryReader(strm);
                    byte[]     bytes          = br.ReadBytes(64 * 1024);
                    string     fldname        = "ThumbNailPhoto";
                    BlobStream bstrm          = new BlobStream(conn as SqlConnection, "[SalesLT].[Product]", fldname, string.Format("WHERE [ProductID]={0}", id));
                    bstrm.InitColumn();
                    bstrm.Open();
                    while (bytes != null && bytes.Length > 0)
                    {
                        bstrm.Write(bytes, 0, bytes.Length);
                        bytes = br.ReadBytes(64 * 1024);;
                    }
                    bstrm.Close();
                    br.Close();
                    trxScope.Complete();
                }

            product.ThumbnailPhotoFileName = fileName;
            this.DB.SubmitChanges();
        }
예제 #30
0
        public bool UpdateCertificado(Certificado cert)
        {
            SqlConnection cnn = DBConnectionFactory.GetOpenConnection();
            SqlCommand    cmd = new SqlCommand("PG_UP_CERTIFICADO", cnn);

            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.AddWithValue("@PP_ID_CERTIFICADO", cert.idCertificado);
            cmd.Parameters.AddWithValue("@PP_D_CERTIFICADO", cert.descripcion);
            cmd.Parameters.AddWithValue("@PP_C_CERTIFICADO", cert.identificador);
            cmd.Parameters.AddWithValue("@PP_CERTIFICADO", cert.cert);
            cmd.Parameters.AddWithValue("@PP_RUTA_CERTIFICADO", cert.rutaCert);
            cmd.Parameters.AddWithValue("@PP_LLAVE", cert.key);
            cmd.Parameters.AddWithValue("@PP_CONTRASENA", cert.contrasena);
            cmd.Parameters.AddWithValue("@PP_LOGO", "logo_" + cert.cert);
            cmd.Parameters.AddWithValue("@PP_FECHA_EXPIRACION", cert.fechaExpiracion);
            try
            {
                int id = cmd.ExecuteNonQuery();
                if (id == 0)
                {
                    throw new Exception("No fue posible actualizar el certificado");
                }
                return(true);
            }
            catch (Exception e)
            {
                logger.Error(e, e.Message);
                throw e;
            }
            finally
            {
                cmd.Dispose();
                cnn.Dispose();
            }
        }