Beispiel #1
0
        //Devart.Data.PostgreSql.PgSqlMonitor mon = new Devart.Data.PostgreSql.PgSqlMonitor();

        public static int GetNextSecuentialId(int pintNodeId, int pintTableId)
        {
            SigesoftEntitiesModel dbContext = new SigesoftEntitiesModel();

            secuential objSecuential = (from a in dbContext.secuential
                                        where a.i_TableId == pintTableId && a.i_NodeId == pintNodeId
                                        select a).SingleOrDefault();

            // Actualizar el campo con el nuevo valor a efectos de reservar el ID autogenerado para evitar colisiones entre otros nodos
            if (objSecuential != null)
            {
                objSecuential.i_SecuentialId = objSecuential.i_SecuentialId + 1;
            }
            else
            {
                objSecuential                = new secuential();
                objSecuential.i_NodeId       = pintNodeId;
                objSecuential.i_TableId      = pintTableId;
                objSecuential.i_SecuentialId = 0;
                dbContext.AddTosecuential(objSecuential);
            }

            dbContext.SaveChanges();

            return(objSecuential.i_SecuentialId.Value);
        }