Esempio n. 1
2
        public static int UpdateRestorer(NpgsqlConnection connection, WorkflowRuntimeModel status, Guid oldLock)
        {
            var command = String.Format("UPDATE {0} SET \"RestorerId\" = @restorer, \"Lock\" = @newlock WHERE \"RuntimeId\" = @id AND \"Lock\" = @oldlock", ObjectName);
            var p1      = new NpgsqlParameter("restorer", NpgsqlDbType.Varchar)
            {
                Value = status.RestorerId
            };
            var p2 = new NpgsqlParameter("newlock", NpgsqlDbType.Uuid)
            {
                Value = status.Lock
            };
            var p3 = new NpgsqlParameter("id", NpgsqlDbType.Varchar)
            {
                Value = status.RuntimeId
            };
            var p4 = new NpgsqlParameter("oldlock", NpgsqlDbType.Uuid)
            {
                Value = oldLock
            };

            return(ExecuteCommand(connection, command, p1, p2, p3, p4));
        }
Esempio n. 2
0
        public async Task <bool> DeleteFoldersBySite(Guid siteGuid)
        {
            NpgsqlParameter[] arParams = new NpgsqlParameter[1];

            arParams[0]       = new NpgsqlParameter("siteguid", NpgsqlTypes.NpgsqlDbType.Varchar, 36);
            arParams[0].Value = siteGuid.ToString();

            StringBuilder sqlCommand = new StringBuilder();

            sqlCommand.Append("DELETE FROM mp_sitefolders ");
            sqlCommand.Append("WHERE ");
            sqlCommand.Append("siteguid = :siteguid ");
            sqlCommand.Append(";");

            int rowsAffected = await AdoHelper.ExecuteNonQueryAsync(
                writeConnectionString,
                CommandType.Text,
                sqlCommand.ToString(),
                arParams);

            return(rowsAffected > -1);
        }
Esempio n. 3
0
        public void FillPatient(CPatient patient)
        {
            conn.Open();
            NpgsqlTransaction t    = conn.BeginTransaction();
            NpgsqlCommand     comm = new NpgsqlCommand("\"FillPatient2\"", conn);
            NpgsqlParameter   pid  = new NpgsqlParameter("pid", NpgsqlTypes.NpgsqlDbType.Integer);

            pid.Direction = ParameterDirection.Input;
            comm.Parameters.Add(pid);
            comm.Parameters[0].Value = patient.pid;
            comm.CommandType         = CommandType.StoredProcedure;

            try
            {
                var result = comm.ExecuteScalar();
            }
            finally
            {
                t.Commit();
                conn.Close();
            }
        }
Esempio n. 4
0
        /// <summary>
        /// if mysql return MySqlParameter[] pars
        /// if sqlerver return SqlParameter[] pars ...
        /// </summary>
        /// <param name="parameters"></param>
        /// <returns></returns>
        public override IDataParameter[] ToIDbDataParameter(params SugarParameter[] parameters)
        {
            if (parameters == null || parameters.Length == 0)
            {
                return(null);
            }
            NpgsqlParameter[] result = new NpgsqlParameter[parameters.Length];
            int index = 0;

            foreach (var parameter in parameters)
            {
                if (parameter.Value == null)
                {
                    parameter.Value = DBNull.Value;
                }
                var sqlParameter = new NpgsqlParameter();
                sqlParameter.ParameterName = parameter.ParameterName;
                sqlParameter.Size          = parameter.Size;
                sqlParameter.Value         = parameter.Value;
                sqlParameter.DbType        = parameter.DbType;
                sqlParameter.Direction     = parameter.Direction;
                if (sqlParameter.Direction == 0)
                {
                    sqlParameter.Direction = ParameterDirection.Input;
                }
                result[index] = sqlParameter;
                if (sqlParameter.Direction.IsIn(ParameterDirection.Output, ParameterDirection.InputOutput, ParameterDirection.ReturnValue))
                {
                    if (this.OutputParameters == null)
                    {
                        this.OutputParameters = new List <IDataParameter>();
                    }
                    this.OutputParameters.RemoveAll(it => it.ParameterName == sqlParameter.ParameterName);
                    this.OutputParameters.Add(sqlParameter);
                }
                ++index;
            }
            return(result);
        }
        //*********************************************************************
        //
        // GetSingleModuleDefinition Method
        //
        // The GetSingleModuleDefinition method returns a NpgsqlDataReader containing details
        // about a specific module definition from the ModuleDefinitions table.
        //
        // Other relevant sources:
        //     + <a href="GetSingleModuleDefinition.htm" style="color:green">GetSingleModuleDefinition Stored Procedure</a>
        //
        //*********************************************************************

        public NpgsqlDataReader GetSingleModuleDefinition(int defId)
        {
            // Create Instance of Connection and Command Object
            NpgsqlConnection myConnection = new NpgsqlConnection(ConfigurationSettings.AppSettings["NpgsqlConnectionString"]);
            NpgsqlCommand    myCommand    = new NpgsqlCommand("GetSingleModuleDefinition(:ModuleDefID)", myConnection);

            // Mark the Command as a SPROC
            myCommand.CommandType = CommandType.StoredProcedure;

            // Add Parameters to SPROC
            NpgsqlParameter parameterModuleDefID = new NpgsqlParameter("ModuleDefID", DbType.Int32);

            parameterModuleDefID.Value = defId;
            myCommand.Parameters.Add(parameterModuleDefID);

            // Execute the command
            myConnection.Open();
            NpgsqlDataReader result = myCommand.ExecuteReader(CommandBehavior.CloseConnection);

            // Return the datareader
            return(result);
        }
Esempio n. 6
0
        /// <summary>
        /// Hàm lấy quyền người dùng theo mã nhân viên và ký hiệu chức năng
        /// </summary>
        /// <param name="stridnhanvien">Mã nhân viên kiểu string</param>
        /// <param name="strmenuname">Ký hiệu chức năng kiểu string</param>
        /// <returns>quyennguoidung</returns>
        public quyennguoidung GetByIDNhanVienvsMenuName(string stridnhanvien, string strmenuname)
        {
            quyennguoidung objquyennguoidung = new quyennguoidung();
            string         strFun            = "fn_quyennguoidung_checkexitrolebymenuname";

            try
            {
                NpgsqlParameter[] prmArr = new NpgsqlParameter[2];
                prmArr[0]       = new NpgsqlParameter("idnhanvien", NpgsqlDbType.Varchar);
                prmArr[0].Value = stridnhanvien;
                prmArr[1]       = new NpgsqlParameter("kyhieucn", NpgsqlDbType.Varchar);
                prmArr[1].Value = strmenuname;
                DataSet dsquyennguoidung = mDataAccess.ExecuteDataSet(strFun, CommandType.StoredProcedure, prmArr);
                if ((dsquyennguoidung != null) && (dsquyennguoidung.Tables.Count > 0))
                {
                    if (dsquyennguoidung.Tables[0].Rows.Count > 0)
                    {
                        DataRow dr = dsquyennguoidung.Tables[0].Rows[0];
                        try { objquyennguoidung.id = Convert.ToInt32("0" + dr["id"].ToString()); }
                        catch { objquyennguoidung.id = 0; }
                        objquyennguoidung.idnhanvien = dr["idnhanvien"].ToString();
                        try { objquyennguoidung.idmenu = Convert.ToInt32("0" + dr["idmenu"].ToString()); }
                        catch { objquyennguoidung.idmenu = 0; }
                        objquyennguoidung.kyhieucn   = dr["kyhieucn"].ToString();
                        objquyennguoidung.tenquyendl = dr["tenquyendl"].ToString();
                        objquyennguoidung.quyendl    = dr["quyendl"].ToString();
                        objquyennguoidung.status     = Convert.ToBoolean(dr["status"].ToString());
                        objquyennguoidung.mota       = dr["mota"].ToString();
                        return(objquyennguoidung);
                    }
                    return(null);
                }
                return(null);
            }
            catch
            {
                return(null);
            }
        }
Esempio n. 7
0
        /// <summary>
        /// Selects all Files for a Player from the mp_MediaFile table.
        /// </summary>
        /// <param name="trackID">The ID of the Player.</param>
        /// <returns>An IDataReader containing the Media File(s) data.</returns>
        public static IDataReader SelectByPlayer(int playerId)
        {
            StringBuilder sqlCommand = new StringBuilder();

            sqlCommand.Append("SELECT  * ");
            sqlCommand.Append("FROM	mp_mediafile ");
            sqlCommand.Append("WHERE ");
            sqlCommand.Append("trackid IN (SELECT trackid FROM mp_mediatrack WHERE playerid = :playerid) ");
            sqlCommand.Append(";");

            NpgsqlParameter[] arParams = new NpgsqlParameter[1];

            arParams[0]           = new NpgsqlParameter("playerid", NpgsqlTypes.NpgsqlDbType.Integer);
            arParams[0].Direction = ParameterDirection.Input;
            arParams[0].Value     = playerId;

            return(NpgsqlHelper.ExecuteReader(
                       ConnectionString.GetReadConnectionString(),
                       CommandType.Text,
                       sqlCommand.ToString(),
                       arParams));
        }
Esempio n. 8
0
        /// <summary>
        /// Deletes a row from the mp_SurveyQuestionOptions table. Returns true if row deleted.
        /// </summary>
        /// <param name="questionOptionGuid"> questionOptionGuid </param>
        /// <returns>bool</returns>
        public static bool Delete(
            Guid questionOptionGuid)
        {
            StringBuilder sqlCommand = new StringBuilder();

            sqlCommand.Append("DELETE FROM mp_surveyquestionoptions ");
            sqlCommand.Append("WHERE ");
            sqlCommand.Append("questionoptionguid = :questionoptionguid ");
            sqlCommand.Append(";");

            NpgsqlParameter[] arParams = new NpgsqlParameter[1];

            arParams[0]           = new NpgsqlParameter("questionoptionguid", NpgsqlTypes.NpgsqlDbType.Char, 36);
            arParams[0].Direction = ParameterDirection.Input;
            arParams[0].Value     = questionOptionGuid.ToString();
            int rowsAffected = NpgsqlHelper.ExecuteNonQuery(ConnectionString.GetWriteConnectionString(),
                                                            CommandType.Text,
                                                            sqlCommand.ToString(),
                                                            arParams);

            return(rowsAffected > -1);
        }
Esempio n. 9
0
        public void GetStringWithQuoteWithParameter()
        {
            NpgsqlCommand command = new NpgsqlCommand("select * from tablea where field_text = :value;", _conn);

            String          test  = "Text with ' single quote";
            NpgsqlParameter param = new NpgsqlParameter();

            param.ParameterName = "value";
            param.DbType        = DbType.String;
            //param.NpgsqlDbType = NpgsqlDbType.Text;
            param.Size  = test.Length;
            param.Value = test;
            command.Parameters.Add(param);

            NpgsqlDataReader dr = command.ExecuteReader();

            dr.Read();

            String result = dr.GetString(1);

            Assert.AreEqual(test, result);
        }
Esempio n. 10
0
        public async Task <bool> DeleteUserRolesByRole(int roleId)
        {
            StringBuilder sqlCommand = new StringBuilder();

            sqlCommand.Append("DELETE FROM mp_userroles ");
            sqlCommand.Append("WHERE ");
            sqlCommand.Append("roleid = :roleid ");
            sqlCommand.Append(";");

            NpgsqlParameter[] arParams = new NpgsqlParameter[1];

            arParams[0]       = new NpgsqlParameter("roleid", NpgsqlTypes.NpgsqlDbType.Integer);
            arParams[0].Value = roleId;

            int rowsAffected = await AdoHelper.ExecuteNonQueryAsync(
                writeConnectionString,
                CommandType.Text,
                sqlCommand.ToString(),
                arParams);

            return(rowsAffected > -1);
        }
Esempio n. 11
0
        /// <summary>
        /// Executes non query with multipal output.
        /// </summary>
        /// <param name="storedProcedureName">Strored procedure name.</param>
        /// <param name="inputParamColl">Accept Key Value collection for parameters.</param>
        /// <param name="outputParamColl">Output Key Value collection for parameters.</param>
        /// <returns>List Key Value collection</returns>
        public List <KeyValuePair <string, object> > ExecuteNonQueryWithMultipleOutputStringObject(string storedProcedureName, List <KeyValuePair <string, object> > inputParamColl, List <KeyValuePair <string, object> > outputParamColl)
        {
            using (NpgsqlConnection conn = new NpgsqlConnection(ConnectionString))
            {
                NpgsqlCommand command = new NpgsqlCommand();
                command.Connection  = conn;
                command.CommandText = storedProcedureName;
                command.CommandType = CommandType.StoredProcedure;

                foreach (KeyValuePair <string, object> kvp in inputParamColl)
                {
                    NpgsqlParameter sqlParaMeter = new NpgsqlParameter();
                    sqlParaMeter.IsNullable    = true;
                    sqlParaMeter.ParameterName = kvp.Key;
                    sqlParaMeter.Value         = kvp.Value;
                    command.Parameters.Add(sqlParaMeter);
                }

                foreach (KeyValuePair <string, object> kvp in outputParamColl)
                {
                    NpgsqlParameter sqlParaMeter = new NpgsqlParameter();
                    sqlParaMeter.IsNullable    = true;
                    sqlParaMeter.ParameterName = kvp.Key;
                    sqlParaMeter.Value         = kvp.Value;
                    sqlParaMeter.Direction     = ParameterDirection.InputOutput;
                    sqlParaMeter.Size          = 256;
                    command.Parameters.Add(sqlParaMeter);
                }

                conn.Open();
                command.ExecuteNonQuery();
                List <KeyValuePair <string, object> > lstRetValues = new List <KeyValuePair <string, object> >();
                for (int i = 0; i < outputParamColl.Count; i++)
                {
                    lstRetValues.Add(new KeyValuePair <string, object>(i.ToString(), command.Parameters[inputParamColl.Count + i].Value.ToString()));
                }
                return(lstRetValues);
            }
        }
Esempio n. 12
0
        /// <summary>
        /// Executes non query.
        /// </summary>
        /// <param name="storedProcedureName">Store procedure name.</param>
        /// <param name="parameterCollection">Accept key value collection for parameters. <KeyValuePair<string, string>> </param>
        public void ExecuteNonQuery(string storedProcedureName, List <KeyValuePair <string, object> > parameterCollection)
        {
            using (NpgsqlConnection conn = new NpgsqlConnection(ConnectionString))
            {
                NpgsqlCommand command = new NpgsqlCommand();
                command.Connection  = conn;
                command.CommandText = storedProcedureName;
                command.CommandType = CommandType.StoredProcedure;

                for (int i = 0; i < parameterCollection.Count; i++)
                {
                    NpgsqlParameter sqlParaMeter = new NpgsqlParameter();
                    sqlParaMeter.IsNullable    = true;
                    sqlParaMeter.ParameterName = parameterCollection[i].Key;
                    sqlParaMeter.Value         = parameterCollection[i].Value;
                    command.Parameters.Add(sqlParaMeter);
                }

                conn.Open();
                command.ExecuteNonQuery();
            }
        }
Esempio n. 13
0
        public static bool DeleteBySite(int siteId)
        {
            NpgsqlParameter[] arParams = new NpgsqlParameter[1];

            arParams[0]           = new NpgsqlParameter("siteid", NpgsqlTypes.NpgsqlDbType.Integer);
            arParams[0].Direction = ParameterDirection.Input;
            arParams[0].Value     = siteId;

            StringBuilder sqlCommand = new StringBuilder();

            sqlCommand.Append("DELETE FROM mp_contactformmessage ");
            sqlCommand.Append("WHERE ");
            sqlCommand.Append("siteguid IN (SELECT siteguid FROM mp_sites WHERE siteid = :siteid) ");
            sqlCommand.Append(";");

            int rowsAffected = NpgsqlHelper.ExecuteNonQuery(ConnectionString.GetWriteConnectionString(),
                                                            CommandType.Text,
                                                            sqlCommand.ToString(),
                                                            arParams);

            return(rowsAffected > -1);
        }
        public async Task <User> GetAccountAsync(Guid accountGuid, CancellationToken ct = default)
        {
            await using var cmd = this.m_authorization.Connection.CreateCommand();
            if (cmd.Connection.State != ConnectionState.Open)
            {
                await cmd.Connection.OpenAsync(ct).ConfigureAwait(false);
            }

            cmd.CommandType = CommandType.StoredProcedure;
            cmd.CommandText = NetworkApi_GetAccountByID;

            var param = new NpgsqlParameter("userid", NpgsqlDbType.Uuid)
            {
                Value = accountGuid
            };

            cmd.Parameters.Add(param);

            await using var reader = await cmd.ExecuteReaderAsync(ct).ConfigureAwait(false);

            return(await this.GetAccountAsync(reader, ct).ConfigureAwait(false));
        }
Esempio n. 15
0
        public void GetValueFromEmptyResultset()
        {
            var command = new NpgsqlCommand("select * from data where field_text = :value;", Conn);

            const string test  = "Text single quote";
            var          param = new NpgsqlParameter();

            param.ParameterName = "value";
            param.DbType        = DbType.String;
            //param.NpgsqlDbType = NpgsqlDbType.Text;
            param.Size  = test.Length;
            param.Value = test;
            command.Parameters.Add(param);

            using (var dr = command.ExecuteReader())
            {
                dr.Read();
                // This line should throw the invalid operation exception as the datareader will
                // have an empty resultset.
                Console.WriteLine(dr.IsDBNull(1));
            }
        }
        public async Task <User> GetAccountByEmailAsync(string emailAddress, CancellationToken ct = default)
        {
            await using var cmd = this.m_authorization.Connection.CreateCommand();
            if (cmd.Connection.State != ConnectionState.Open)
            {
                await cmd.Connection.OpenAsync(ct).ConfigureAwait(false);
            }

            cmd.CommandType = CommandType.StoredProcedure;
            cmd.CommandText = NetworkApi_GetAccountByEmail;

            var email = new NpgsqlParameter("email", NpgsqlDbType.Text)
            {
                Value = emailAddress
            };

            cmd.Parameters.Add(email);

            await using var reader = await cmd.ExecuteReaderAsync(ct).ConfigureAwait(false);

            return(await this.GetAccountAsync(reader, ct).ConfigureAwait(false));
        }
        /// <summary>
        /// Hàm lấy hóa đơn nhập mới nhất theo ngày tạo(chặn cuối) và mã nhà cung cấp
        /// </summary>
        /// <param name="sngaytao">Ngày tạo kiểu string format: yyyy/MM/dd</param>
        /// <param name="sidnhacc">Mã nhà cung cấp kiểu string</param>
        /// <returns>tblphieunhapkho</returns>
        public tblphieunhapkho GetNewFirstByNgayTaovsIDKH(string sngaytao, string sidnhacc)
        {
            tblphieunhapkho objtblphieunhapkho = new tblphieunhapkho();
            string          strFun             = "fn_tblphieunhapkho_getnewfirst";

            try
            {
                NpgsqlParameter[] prmArr = new NpgsqlParameter[2];
                prmArr[0]       = new NpgsqlParameter("ngaytao", NpgsqlDbType.Varchar);
                prmArr[0].Value = sngaytao;
                prmArr[1]       = new NpgsqlParameter("iid_nhacc", NpgsqlDbType.Varchar);
                prmArr[1].Value = sidnhacc;
                DataSet dstblhoadonban = mDataAccess.ExecuteDataSet(strFun, CommandType.StoredProcedure, prmArr);
                if ((dstblhoadonban != null) && (dstblhoadonban.Tables.Count > 0))
                {
                    if (dstblhoadonban.Tables[0].Rows.Count > 0)
                    {
                        DataRow dr = dstblhoadonban.Tables[0].Rows[0];
                        objtblphieunhapkho.id          = dr["id"].ToString();
                        objtblphieunhapkho.id_nguoicap = dr["id_nguoicap"].ToString();
                        try { objtblphieunhapkho.ngaytao = Convert.ToDateTime(dr["ngaytao"].ToString()); }
                        catch { objtblphieunhapkho.ngaytao = new DateTime(1900, 1, 1); }
                        try { objtblphieunhapkho.tienthanhtoan = Convert.ToDouble("0" + dr["tienthanhtoan"].ToString()); }
                        catch { objtblphieunhapkho.tienthanhtoan = 0; }
                        objtblphieunhapkho.noinhap = dr["noinhap"].ToString();
                        objtblphieunhapkho.ghichu  = dr["ghichu"].ToString();
                        try { objtblphieunhapkho.chietkhau = Convert.ToDouble("0" + dr["chietkhau"].ToString()); }
                        catch { objtblphieunhapkho.chietkhau = 0; }
                        return(objtblphieunhapkho);
                    }
                    return(null);
                }
                return(null);
            }
            catch
            {
                return(null);
            }
        }
Esempio n. 18
0
        /// <summary>
        /// Gets an IDataReader with the row from the doan_MediaPlayers table that exists for a Module.
        /// </summary>
        /// <param name="moduleID">The ID of the Module.</param>
        /// <returns>The data for the Medai Player as an IDataReader object.</returns>
        public static IDataReader SelectByModule(int moduleId)
        {
            StringBuilder sqlCommand = new StringBuilder();

            sqlCommand.Append("SELECT  * ");
            sqlCommand.Append("FROM	mp_mediaplayer ");
            sqlCommand.Append("WHERE ");
            sqlCommand.Append("moduleid = :moduleid ");
            sqlCommand.Append(";");

            NpgsqlParameter[] arParams = new NpgsqlParameter[1];

            arParams[0]           = new NpgsqlParameter("moduleid", NpgsqlTypes.NpgsqlDbType.Integer);
            arParams[0].Direction = ParameterDirection.Input;
            arParams[0].Value     = moduleId;

            return(NpgsqlHelper.ExecuteReader(
                       ConnectionString.GetReadConnectionString(),
                       CommandType.Text,
                       sqlCommand.ToString(),
                       arParams));
        }
        /// <summary>
        /// Hàm lấy tiền còn nợ của các toa trước
        /// </summary>
        /// <param name="dtngaytao">Ngày tạo hóa đơn kiểu DateTime</param>
        /// <returns>double: Số tiền còn nợ của các toa trước</returns>
        public double GetTienConNo(string sidnhacc, DateTime dtngaytao)
        {
            string strProc = "fn_tblphieunhapkho_gettienconno";

            try
            {
                NpgsqlParameter[] prmArr = new NpgsqlParameter[3];
                prmArr[0]           = new NpgsqlParameter("idnhacc", NpgsqlDbType.Varchar);
                prmArr[0].Value     = sidnhacc;
                prmArr[1]           = new NpgsqlParameter("ngaytao", NpgsqlDbType.Varchar);
                prmArr[1].Value     = dtngaytao.ToString("yyyy/MM/dd HH:mm:ss");
                prmArr[2]           = new NpgsqlParameter("ireturn", NpgsqlDbType.Text);
                prmArr[2].Direction = ParameterDirection.Output;
                mDataAccess.ExecuteQuery(strProc, CommandType.StoredProcedure, prmArr);
                string sKQ = prmArr[2].Value.ToString().Trim();
                return(Convert.ToDouble(sKQ));
            }
            catch
            {
                return(0);
            }
        }
        //
        // MODULE DEFINITIONS
        //

        //*********************************************************************
        //
        // GetModuleDefinitions() Method <a name="GetModuleDefinitions"></a>
        //
        // The GetModuleDefinitions method returns a list of all module type
        // definitions for the portal.
        //
        // Other relevant sources:
        //     + <a href="GetModuleDefinitions.htm" style="color:green">GetModuleDefinitions Stored Procedure</a>
        //
        //*********************************************************************

        public NpgsqlDataReader GetModuleDefinitions(int portalId)
        {
            // Create Instance of Connection and Command Object
            NpgsqlConnection myConnection = new NpgsqlConnection(ConfigurationSettings.AppSettings["NpgsqlConnectionString"]);
            NpgsqlCommand    myCommand    = new NpgsqlCommand("GetModuleDefinitions(:PortalID)", myConnection);

            // Mark the Command as a SPROC
            myCommand.CommandType = CommandType.StoredProcedure;

            // Add Parameters to SPROC
            NpgsqlParameter parameterPortalId = new NpgsqlParameter("PortalID", DbType.Int32);

            parameterPortalId.Value = portalId;
            myCommand.Parameters.Add(parameterPortalId);

            // Open the database connection and execute the command
            myConnection.Open();
            NpgsqlDataReader dr = myCommand.ExecuteReader(CommandBehavior.CloseConnection);

            // Return the datareader
            return(dr);
        }
Esempio n. 21
0
        public static async Task <int> DeleteByProcessIdAsync(NpgsqlConnection connection, Guid processId, List <string> timersIgnoreList = null, NpgsqlTransaction transaction = null)
        {
            var pProcessId = new NpgsqlParameter("processid", NpgsqlDbType.Uuid)
            {
                Value = processId
            };

            if (timersIgnoreList != null && timersIgnoreList.Any())
            {
                // ReSharper disable once BitwiseOperatorOnEnumWithoutFlags
                var pTimerIgnoreList = new NpgsqlParameter("timerIgnoreList", NpgsqlDbType.Array | NpgsqlDbType.Varchar) //-V3059
                {
                    Value = timersIgnoreList.ToArray()
                };

                return(await ExecuteCommandAsync(connection,
                                                 $"DELETE FROM {ObjectName} WHERE \"ProcessId\" = @processid AND \"Name\" != ALL(@timerIgnoreList)", transaction, pProcessId, pTimerIgnoreList).ConfigureAwait(false));
            }

            return(await ExecuteCommandAsync(connection,
                                             $"DELETE FROM {ObjectName} WHERE \"ProcessId\" = @processid", transaction, pProcessId).ConfigureAwait(false));
        }
Esempio n. 22
0
        /* последовательная версия*/
        public void UpdateProtocol(CProtocol protocol, DateTime date)
        {
            conn.Open();

            NpgsqlTransaction t    = conn.BeginTransaction();
            NpgsqlCommand     comm = new NpgsqlCommand("\"UpdateProtocol\"", conn);

            NpgsqlParameter pid  = new NpgsqlParameter("pid", NpgsqlTypes.NpgsqlDbType.Integer);
            NpgsqlParameter dat  = new NpgsqlParameter("dat", NpgsqlTypes.NpgsqlDbType.Date);
            NpgsqlParameter text = new NpgsqlParameter("text", NpgsqlTypes.NpgsqlDbType.Varchar);


            pid.Direction  = ParameterDirection.Input;
            dat.Direction  = ParameterDirection.Input;
            text.Direction = ParameterDirection.Input;


            comm.Parameters.Add(pid);
            comm.Parameters.Add(dat);
            comm.Parameters.Add(text);

            comm.Parameters[0].Value = protocol.sid;
            comm.Parameters[1].Value = date.Date;
            comm.Parameters[2].Value = protocol.text;

            comm.CommandType = CommandType.StoredProcedure;

            try
            {
                var result = comm.ExecuteScalar();
                //protocol.text = (string)result;
            }
            finally
            {
                t.Commit();
                conn.Close();
            }
            return;  // ???
        }
Esempio n. 23
0
        /// <summary>
        /// Gets a count of rows in the mp_ContentTemplate table.
        /// </summary>
        public static int GetCount(Guid siteGuid)
        {
            StringBuilder sqlCommand = new StringBuilder();

            sqlCommand.Append("SELECT  Count(*) ");
            sqlCommand.Append("FROM	mp_contenttemplate ");
            sqlCommand.Append("WHERE ");
            sqlCommand.Append("siteguid = :siteguid ");
            sqlCommand.Append(";");

            NpgsqlParameter[] arParams = new NpgsqlParameter[1];

            arParams[0]           = new NpgsqlParameter("siteguid", NpgsqlTypes.NpgsqlDbType.Char, 36);
            arParams[0].Direction = ParameterDirection.Input;
            arParams[0].Value     = siteGuid.ToString();

            return(Convert.ToInt32(NpgsqlHelper.ExecuteScalar(
                                       ConnectionString.GetReadConnectionString(),
                                       CommandType.Text,
                                       sqlCommand.ToString(),
                                       arParams)));
        }
Esempio n. 24
0
        /* извлекает список пациентов за указанную дату, вызов хранимой процедуры*/
        public void SPCheckDB()
        {
            conn.Open();
            NpgsqlTransaction t    = conn.BeginTransaction();
            NpgsqlCommand     comm = new NpgsqlCommand("\\", conn);
            NpgsqlParameter   prm  = new NpgsqlParameter("pid", NpgsqlTypes.NpgsqlDbType.Integer);

            prm.Direction = ParameterDirection.Input;
            comm.Parameters.Add(prm);
            comm.Parameters[0].Value = 15;
            comm.CommandType         = CommandType.StoredProcedure;
            int pid = 0;

            try
            {
                pid = (int)comm.ExecuteScalar();
            }
            finally
            {
                conn.Close();
            }
        }
Esempio n. 25
0
        public static bool DeleteBySite(Guid siteGuid)
        {
            NpgsqlParameter[] arParams = new NpgsqlParameter[1];

            arParams[0]           = new NpgsqlParameter("siteguid", NpgsqlTypes.NpgsqlDbType.Char, 36);
            arParams[0].Direction = ParameterDirection.Input;
            arParams[0].Value     = siteGuid.ToString();


            StringBuilder sqlCommand = new StringBuilder();

            sqlCommand.Append("DELETE FROM mp_paypallog ");
            sqlCommand.Append("WHERE ");
            sqlCommand.Append("siteguid = :siteguid ");
            sqlCommand.Append(";");
            int rowsAffected = NpgsqlHelper.ExecuteNonQuery(ConnectionString.GetWriteConnectionString(),
                                                            CommandType.Text,
                                                            sqlCommand.ToString(),
                                                            arParams);

            return(rowsAffected > -1);
        }
Esempio n. 26
0
    public async Task Array_of_single_bits()
    {
        using var conn = await OpenConnectionAsync();

        using var cmd = new NpgsqlCommand("SELECT @p::BIT(1)[]", conn);
        var expected = new[] { true, false };
        var p        = new NpgsqlParameter("p", NpgsqlDbType.Array | NpgsqlDbType.Bit)
        {
            Value = expected
        };

        cmd.Parameters.Add(p);
        p.Value          = expected;
        using var reader = await cmd.ExecuteReaderAsync();

        reader.Read();
        var x = reader.GetValue(0);

        Assert.That(reader.GetValue(0), Is.EqualTo(expected));
        Assert.That(reader.GetFieldValue <bool[]>(0), Is.EqualTo(expected));
        Assert.That(reader.GetFieldType(0), Is.EqualTo(typeof(Array)));
    }
Esempio n. 27
0
        /// <summary>
        /// Gets an IDataReader with one row from the mp_PayPalLog table.
        /// </summary>
        /// <param name="rowGuid"> rowGuid </param>
        public static IDataReader GetOne(Guid rowGuid)
        {
            NpgsqlParameter[] arParams = new NpgsqlParameter[1];

            arParams[0]           = new NpgsqlParameter("rowguid", NpgsqlTypes.NpgsqlDbType.Char, 36);
            arParams[0].Direction = ParameterDirection.Input;
            arParams[0].Value     = rowGuid.ToString();

            StringBuilder sqlCommand = new StringBuilder();

            sqlCommand.Append("SELECT  * ");
            sqlCommand.Append("FROM	mp_paypallog ");
            sqlCommand.Append("WHERE ");
            sqlCommand.Append("rowguid = :rowguid ");
            sqlCommand.Append(";");

            return(NpgsqlHelper.ExecuteReader(
                       ConnectionString.GetReadConnectionString(),
                       CommandType.Text,
                       sqlCommand.ToString(),
                       arParams));
        }
Esempio n. 28
0
        public async Task <DbDataReader> GetOne(string folderName)
        {
            NpgsqlParameter[] arParams = new NpgsqlParameter[1];

            arParams[0]       = new NpgsqlParameter("foldername", NpgsqlTypes.NpgsqlDbType.Varchar, 255);
            arParams[0].Value = folderName;

            StringBuilder sqlCommand = new StringBuilder();

            sqlCommand.Append("SELECT * ");
            sqlCommand.Append("FROM	mp_sitefolders ");
            sqlCommand.Append("WHERE ");
            sqlCommand.Append("foldername = :foldername ");
            sqlCommand.Append(";");


            return(await AdoHelper.ExecuteReaderAsync(
                       readConnectionString,
                       CommandType.Text,
                       sqlCommand.ToString(),
                       arParams));
        }
Esempio n. 29
0
        /// <summary>
        /// Validates and calculates the length, but does not consult the length cache or stores
        /// in it. Used by other type handlers which delegate to TextHandler.
        /// </summary>
        internal int DoValidateAndGetLength(object value, NpgsqlParameter parameter = null)
        {
            var asString = value as string;

            if (asString != null)
            {
                return(parameter == null || parameter.Size == 0 || parameter.Size >= asString.Length
                  ? Encoding.UTF8.GetByteCount(asString)
                  : Encoding.UTF8.GetByteCount(asString.ToCharArray(), 0, parameter.Size));
            }

            var asCharArray = value as char[];

            if (asCharArray != null)
            {
                return(parameter == null || parameter.Size == 0 || parameter.Size >= asCharArray.Length
                  ? Encoding.UTF8.GetByteCount(asCharArray)
                  : Encoding.UTF8.GetByteCount(asCharArray, 0, parameter.Size));
            }

            throw new InvalidCastException("Can't write type as text: " + value.GetType());
        }
Esempio n. 30
0
        public async Task GlobalMapping()
        {
            using var adminConn = await OpenConnectionAsync();

            await using var _ = await GetTempTypeName(adminConn, out var type);

            using (var conn = await OpenConnectionAsync())
            {
                await conn.ExecuteNonQueryAsync($"CREATE TYPE {type} AS ENUM ('sad', 'ok', 'happy')");

                NpgsqlConnection.GlobalTypeMapper.MapEnum <Mood>(type);
                conn.ReloadTypes();
                const Mood expected = Mood.Ok;
                using (var cmd = new NpgsqlCommand($"SELECT @p::{type}", conn))
                {
                    var p = new NpgsqlParameter {
                        ParameterName = "p", Value = expected
                    };
                    cmd.Parameters.Add(p);
                    using (var reader = await cmd.ExecuteReaderAsync())
                    {
                        reader.Read();

                        Assert.That(reader.GetFieldType(0), Is.EqualTo(typeof(Mood)));
                        Assert.That(reader.GetFieldValue <Mood>(0), Is.EqualTo(expected));
                        Assert.That(reader.GetValue(0), Is.EqualTo(expected));
                    }
                }
            }

            // Unmap
            NpgsqlConnection.GlobalTypeMapper.UnmapEnum <Mood>(type);

            using (var conn = await OpenConnectionAsync())
            {
                // Enum should have been unmapped and so will return as text
                Assert.That(await conn.ExecuteScalarAsync($"SELECT 'ok'::{type}"), Is.EqualTo("ok"));
            }
        }
Esempio n. 31
0
 public void NoOutputParameters()
 {
     var p = new NpgsqlParameter("p", DbType.String) { Direction = ParameterDirection.Output };
     _params.Add(p);
     Assert.That(() => SqlQueryParser.ParseRawQuery("SELECT @p", true, _params, _queries), Throws.Exception);
 }
Esempio n. 32
0
        public void MultiqueryWithParams()
        {
            var p1 = new NpgsqlParameter("p1", DbType.String);
            _params.Add(p1);
            var p2 = new NpgsqlParameter("p2", DbType.String);
            _params.Add(p2);
            var p3 = new NpgsqlParameter("p3", DbType.String);
            _params.Add(p3);

            SqlQueryParser.ParseRawQuery("SELECT @p3, @p1; SELECT @p2, @p3", true, _params, _queries);

            Assert.That(_queries, Has.Count.EqualTo(2));
            Assert.That(_queries[0].InputParameters[0], Is.SameAs(p3));
            Assert.That(_queries[0].InputParameters[1], Is.SameAs(p1));
            Assert.That(_queries[1].InputParameters[0], Is.SameAs(p2));
            Assert.That(_queries[1].InputParameters[1], Is.SameAs(p3));
        }
Esempio n. 33
0
		/// <summary>
		/// Creates input parameter
		/// </summary>
		/// <param name="paramName"></param>
		/// <param name="dbType"></param>
		/// <param name="objValue"></param>
		/// <returns></returns>
		private static NpgsqlParameter CreateInputParam(string paramName, NpgsqlDbType dbType, object objValue)
		{
			NpgsqlParameter param = new NpgsqlParameter(paramName, dbType);
			if (objValue == null)
			{
				objValue = String.Empty;
			}
			param.Value = objValue;
			return param;
		}
Esempio n. 34
0
		/// <summary>
		/// Finds inactive Profiles by user name
		/// </summary>
		/// <param name="authenticationOption"></param>
		/// <param name="usernameToMatch"></param>
		/// <param name="userInactiveSinceDate"></param>
		/// <param name="pageIndex"></param>
		/// <param name="pageSize"></param>
		/// <param name="totalRecords"></param>
		/// <returns></returns>
		public override ProfileInfoCollection FindInactiveProfilesByUserName(ProfileAuthenticationOption authenticationOption,
		                                                                     string usernameToMatch,
		                                                                     DateTime userInactiveSinceDate, int pageIndex,
		                                                                     int pageSize, out int totalRecords)
		{
			StringBuilder insertQuery = GenerateTempInsertQueryForGetProfiles(authenticationOption);
			insertQuery.Append(" AND u.UserName LIKE LOWER(@UserName) AND u.LastActivityDate <= @InactiveSinceDate");
			NpgsqlParameter[] args = new NpgsqlParameter[2];
			args[0] = CreateInputParam("@InactiveSinceDate", NpgsqlDbType.Timestamp, userInactiveSinceDate.ToUniversalTime());
			args[1] = CreateInputParam("@UserName", NpgsqlDbType.Text, usernameToMatch);
			return GetProfilesForQuery(args, pageIndex, pageSize, insertQuery, out totalRecords);
		}
Esempio n. 35
0
		/// <summary>
		/// Finds Profiles by user name
		/// </summary>
		/// <param name="authenticationOption"></param>
		/// <param name="usernameToMatch"></param>
		/// <param name="pageIndex"></param>
		/// <param name="pageSize"></param>
		/// <param name="totalRecords"></param>
		/// <returns></returns>
		public override ProfileInfoCollection FindProfilesByUserName(ProfileAuthenticationOption authenticationOption,
		                                                             string usernameToMatch, int pageIndex, int pageSize,
		                                                             out int totalRecords)
		{
			StringBuilder insertQuery = GenerateTempInsertQueryForGetProfiles(authenticationOption);
			insertQuery.Append(" AND u.UserName LIKE LOWER(@UserName)");
			NpgsqlParameter[] args = new NpgsqlParameter[1];
			args[0] = CreateInputParam("@UserName", NpgsqlDbType.Text, usernameToMatch);
			return GetProfilesForQuery(args, pageIndex, pageSize, insertQuery, out totalRecords);
		}
Esempio n. 36
0
		/// <summary>
		/// Gets Profiles for Query
		/// </summary>
		/// <param name="insertArgs"></param>
		/// <param name="pageIndex"></param>
		/// <param name="pageSize"></param>
		/// <param name="insertQuery"></param>
		/// <param name="totalRecords"></param>
		/// <returns></returns>
		private ProfileInfoCollection GetProfilesForQuery(NpgsqlParameter[] insertArgs, int pageIndex, int pageSize,
		                                                  StringBuilder insertQuery, out int totalRecords)
		{
			if (pageIndex < 0)
			{
				throw new ArgumentException("pageIndex");
			}
			if (pageSize < 1)
			{
				throw new ArgumentException("pageSize");
			}

			long lowerBound = (long) pageIndex*pageSize;
			long upperBound = lowerBound + pageSize - 1;
			if (upperBound > Int32.MaxValue)
			{
				throw new ArgumentException("pageIndex and pageSize");
			}

			NpgsqlConnection conn = null;
			NpgsqlDataReader reader = null;
			NpgsqlCommand cmd = null;
			try
			{
				conn = new NpgsqlConnection(_NpgsqlConnectionString);
				conn.Open();

				StringBuilder cmdStr = new StringBuilder(200);
				// Create a temp table TO store the select results
				cmd =
					new NpgsqlCommand(
						"CREATE TABLE #PageIndexForProfileUsers(IndexId int IDENTITY (0, 1) NOT NULL, UserId varchar(36))", conn);
				cmd.CommandTimeout = CommandTimeout;
				cmd.ExecuteBlind();
				cmd.Dispose();

				insertQuery.Append(" ORDER BY UserName");
				cmd = new NpgsqlCommand(insertQuery.ToString(), conn);
				cmd.CommandTimeout = CommandTimeout;
				if (insertArgs != null)
				{
					foreach (NpgsqlParameter arg in insertArgs)
					{
						cmd.Parameters.Add(arg);
					}
				}

				cmd.ExecuteBlind();
				cmd.Dispose();

				cmdStr = new StringBuilder(200);
				cmdStr.Append("SELECT u.UserName, u.IsAnonymous, u.LastActivityDate, p.LastUpdatedDate FROM vw_aspnet_Users u, ").
					Append(_table);
				cmdStr.Append(" p, #PageIndexForProfileUsers i WHERE u.UserId = p.UserId AND p.UserId = i.UserId AND i.IndexId >= ");
				cmdStr.Append(lowerBound).Append(" AND i.IndexId <= ").Append(upperBound);
				cmd = new NpgsqlCommand(cmdStr.ToString(), conn);
				cmd.CommandTimeout = CommandTimeout;

				reader = cmd.ExecuteReader(CommandBehavior.SequentialAccess);
				ProfileInfoCollection profiles = new ProfileInfoCollection();
				while (reader.Read())
				{
					string username;
					DateTime dtLastActivity, dtLastUpdated = DateTime.UtcNow;
					bool isAnon;

					username = reader.GetString(0);
					isAnon = reader.GetBoolean(1);
					dtLastActivity = DateTime.SpecifyKind(reader.GetDateTime(2), DateTimeKind.Utc);
					dtLastUpdated = DateTime.SpecifyKind(reader.GetDateTime(3), DateTimeKind.Utc);
					profiles.Add(new ProfileInfo(username, isAnon, dtLastActivity, dtLastUpdated, 0));
				}
				totalRecords = profiles.Count;

				if (reader != null)
				{
					reader.Close();
					reader = null;
				}

				cmd.Dispose();

				cmd = new NpgsqlCommand("DROP TABLE #PageIndexForProfileUsers", conn);
				cmd.ExecuteBlind();

				return profiles;
			}
			finally
			{
				if (reader != null)
				{
					reader.Close();
				}

				if (cmd != null)
				{
					cmd.Dispose();
				}

				if (conn != null)
				{
					conn.Close();
					conn = null;
				}
			}
		}