示例#1
0
        //public domain.sm.User getUserByUserName(String username)
        //{
        //    OracleQuery query = buildGetUserByUserNameQuery(username);
        //    reader executeReader = delegate() { return query.Command.ExecuteReader(); };
        //    OracleDataReader reader = (OracleDataReader)_cxn.query(query, executeReader);
        //    return toUserFromDataReader(reader);
        //}

        //internal OracleQuery buildGetUserByUserNameQuery(String username)
        //{
        //    string sql = "SELECT USER_ID, FIRST_NAME, LAST_NAME, USER_TYPE, STATUS, EMAIL_ADDRESS, OPLOCK, ACTIVE, " +
        //        "DOB, ICN, SSN, STATION_NO, DUZ, EMAIL_NOTIFICATION, DEFAULT_MESSAGE_FILTER, LAST_EMAIL_NOTIFICATION, " +
        //        "NSSN, PROVIDER, EXTERNAL_USER_NAME FROM SMS.sms_user WHERE ACTIVE=1 AND STATUS = :status AND EXTERNAL_USER_NAME = :userName";

        //    OracleQuery query = new OracleQuery();
        //    query.Command = new OracleCommand(sql);

        //    OracleParameter statusParam = new OracleParameter("status", OracleDbType.Decimal);
        //    statusParam.Value = domain.sm.enums.UserStatusEnum.OPT_IN;
        //    query.Command.Parameters.Add(statusParam);

        //    OracleParameter userNameParam = new OracleParameter("userName", OracleDbType.Varchar2, 50);
        //    userNameParam.Value = username;
        //    query.Command.Parameters.Add(userNameParam);

        //    return query;
        //}

        public domain.sm.Clinician getClinicianById(Int32 userId)
        {
            OracleQuery      query         = buildGetUserByIdQuery(userId);
            reader           executeReader = delegate() { return(query.Command.ExecuteReader()); };
            OracleDataReader reader        = (OracleDataReader)_cxn.query(query, executeReader);

            return(toUserFromDataReader(reader));
        }
示例#2
0
        public DateTime getSystemTime()
        {
            OracleQuery request        = buildGetSystemTimeQuery();
            scalar      resultDelegate = delegate() { return(request.Command.ExecuteScalar()); };

            return((DateTime)_cxn.query(request, resultDelegate));
        }
示例#3
0
        public bool isValidUser(String icn)
        {
            OracleQuery query       = buildIsValidUserQuery(icn);
            reader      selectQuery = delegate() { return(query.Command.ExecuteReader()); };

            return(toIsValidUser((OracleDataReader)_cxn.query(query, selectQuery)));
        }
示例#4
0
        internal MessageActivity createMessageActivity(MessageActivity activity)
        {
            OracleQuery query       = buildCreateMessageActivityQuery(activity);
            nonQuery    insertQuery = delegate() { return(query.Command.ExecuteNonQuery()); };

            _cxn.query(query, insertQuery);
            activity.Id = ((Oracle.DataAccess.Types.OracleDecimal)query.Command.Parameters["outId"].Value).ToInt32();
            return(activity);
        }
示例#5
0
        internal void deleteAddressee(Int32 addresseeId)
        {
            OracleQuery request      = buildDeleteAddresseeQuery(addresseeId);
            nonQuery    qry          = delegate() { return(request.Command.ExecuteNonQuery()); };
            Int32       rowsAffected = (Int32)_cxn.query(request, qry);

            if (rowsAffected != 1)
            {
                throw new MdoException("Unable to delete addressee");
            }
        }
示例#6
0
        public domain.sm.Folder getFolder(Int32 folderId)
        {
            OracleQuery      request  = buildGetFolderQuery(folderId);
            reader           rdr      = delegate() { return(request.Command.ExecuteReader()); };
            OracleDataReader response = (OracleDataReader)_cxn.query(request, rdr);

            return(toFolder(response));
        }
示例#7
0
        public domain.sm.MessageAttachment createAttachment(string attachmentName, byte[] attachment, string mimeType)
        {
            OracleQuery request = buildCreateAttachmentQuery(attachmentName, attachment, mimeType);
            nonQuery    qry     = delegate() { return((Int32)request.Command.ExecuteNonQuery()); };

            if ((Int32)_cxn.query(request, qry) != 1)
            {
                throw new MdoException("Unable to insert new message attachment");
            }
            MessageAttachment result = new MessageAttachment()
            {
                AttachmentName = attachmentName, MimeType = mimeType
            };

            result.Id = ((Oracle.DataAccess.Types.OracleDecimal)request.Command.Parameters["outId"].Value).ToInt32();
            return(result);
        }
示例#8
0
        /// <summary>
        /// Fetch a VADIR formatted MOS report for a patient given the EDIPI or Name, SSN and DOB
        /// </summary>
        /// <param name="patient"></param>
        /// <returns>TextReport with report text set to VADIR report</returns>
        public TextReport getMOSReport(Patient patient)
        {
            if (!isValidMosPatient(patient))
            {
                throw new ArgumentException("Invalid patient. Need name, SSN and DOB or EDIPI");
            }

            OracleQuery query = new OracleQuery();

            query.Command             = new OracleCommand();
            query.Command.CommandText = "BLUE_BUTTON.FETCHREPORT";
            query.Command.CommandType = System.Data.CommandType.StoredProcedure;

            //OracleParameter idParam = new System.Data.OracleClient.OracleParameter("VA_ID_IN", OracleType.Number);
            OracleParameter idParam = new OracleParameter("VA_ID_IN", OracleDbType.Decimal);

            idParam.Direction = System.Data.ParameterDirection.Input;
            idParam.Value     = Convert.ToDecimal(patient.EDIPI);
            query.Command.Parameters.Add(idParam);

            //OracleParameter lNameParam = new System.Data.OracleClient.OracleParameter("LNAME_IN", OracleType.VarChar, 26);
            OracleParameter lNameParam = new OracleParameter("LNAME_IN", OracleDbType.Varchar2, 26);

            lNameParam.Direction = System.Data.ParameterDirection.Input;
            lNameParam.Value     = "";
            query.Command.Parameters.Add(lNameParam);

            //OracleParameter ssnParam = new System.Data.OracleClient.OracleParameter("SSN_IN", OracleType.VarChar, 9);
            OracleParameter ssnParam = new OracleParameter("SSN_IN", OracleDbType.Varchar2, 9);

            ssnParam.Direction = System.Data.ParameterDirection.Input;
            ssnParam.Value     = "";
            query.Command.Parameters.Add(ssnParam);

            //OracleParameter dobParam = new System.Data.OracleClient.OracleParameter("DOB_IN", OracleType.DateTime);
            OracleParameter dobParam = new OracleParameter("DOB_IN", OracleDbType.Date);

            dobParam.Direction = System.Data.ParameterDirection.Input;
            dobParam.Value     = DBNull.Value;
            query.Command.Parameters.Add(dobParam);

            //OracleParameter returnParam = new OracleParameter("v_Return", OracleType.Clob);
            OracleParameter returnParam = new OracleParameter("v_Return", OracleDbType.Clob);

            returnParam.Direction = System.Data.ParameterDirection.ReturnValue;
            query.Command.Parameters.Add(returnParam);

            using (_cxn)
            {
                _cxn.connect();

                executeReader    executeReader = delegate() { return(query.Command.ExecuteReader()); };
                OracleDataReader reader        = (OracleDataReader)_cxn.query(query, executeReader);

                if (query.Command.Parameters["v_Return"] == null || query.Command.Parameters["v_Return"].Value == DBNull.Value)
                {
                    return(null);
                }
                string text = ((Oracle.DataAccess.Types.OracleClob)query.Command.Parameters["v_Return"].Value).Value.ToString();
                return(new TextReport()
                {
                    Text = text
                });
            }
        }