コード例 #1
0
ファイル: Class1.cs プロジェクト: VitaliyPusan/pitneytest
 public void TestDataRetrieval()
 {
     var url    = new Uri("http://foundation-qa.horizon.pitneycloud.com/api/v1/user/auth/guam");
     var userId = "950f9e6a-2ce9-44f2-9f25-31e5caad60a0@pb";
     var target = new DataRetrieval();
     var result = target.GetToken(url, userId);
 }
コード例 #2
0
        /// <summary>
        /// Gets a page sends information.
        /// </summary>
        /// <param name="pageSize">Size of the page to get.</param>
        /// <param name="pageNum">The page to get.</param>
        /// <returns>SendInfoCollection of the data page.</returns>
        public static SendInfoCollection GetSends(int pageSize, int pageNum)
        {
            using (SqlConnection conn = MantaDB.GetSqlConnection())
            {
                SqlCommand cmd = conn.CreateCommand();
                cmd.CommandText    = @"DECLARE @sends table (RowNum int, 
					  mta_send_internalId int)

INSERT INTO @sends
SELECT [sends].RowNumber, [sends].mta_send_internalId
FROM (SELECT (ROW_NUMBER() OVER(ORDER BY mta_send_createdTimestamp DESC)) as RowNumber, man_mta_send.mta_send_internalId
FROM man_mta_send with(nolock)) [sends]
WHERE [sends].RowNumber >= " + ((pageNum * pageSize) - pageSize + 1) + " AND [sends].RowNumber <= " + (pageSize * pageNum) + @"

SELECT [send].*, 
	mta_send_messages AS 'Messages',
	mta_send_accepted AS 'Accepted',
	mta_send_rejected AS 'Rejected',
	([send].mta_send_messages - (mta_send_accepted + mta_send_rejected)) AS 'Waiting',
	(SELECT COUNT(*) FROM man_mta_transaction as [tran] with(nolock) JOIN man_mta_msg as [msg] ON [tran].mta_msg_id = [msg].mta_msg_id WHERE [msg].mta_send_internalId = [send].mta_send_internalId AND [tran].mta_transactionStatus_id = 5) AS 'Throttled',
	(SELECT COUNT(*) FROM man_mta_transaction as [tran] with(nolock) JOIN man_mta_msg as [msg] ON [tran].mta_msg_id = [msg].mta_msg_id WHERE [msg].mta_send_internalId = [send].mta_send_internalId AND [tran].mta_transactionStatus_id = 1) AS 'Deferred',
	(SELECT MAX(mta_transaction_timestamp) FROM man_mta_transaction as [tran] with(nolock) JOIN  man_mta_msg as [msg] ON [tran].mta_msg_id = [msg].mta_msg_id WHERE [msg].mta_send_internalId = [send].mta_send_internalId) AS 'LastTransactionTimestamp'
FROM man_mta_send as [send] with(nolock)
WHERE [send].mta_send_internalId in (SELECT [s].mta_send_internalId FROM @sends as [s])
ORDER BY [send].mta_send_createdTimestamp DESC";
                cmd.CommandTimeout = 90;                 // Query can take a while to run due to the size of the Transactions table.
                return(new SendInfoCollection(DataRetrieval.GetCollectionFromDatabase <SendInfo>(cmd, CreateAndFillSendInfo)));
            }
        }
コード例 #3
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                DataRetrieval retrieve = new DataRetrieval();

                List <PlayerRoster> playerRoster = retrieve.SelectAllPlayers();

                if (Session["login"].ToString() == "loggedIn")
                {
                    PlayerRosterGridView.AutoGenerateEditButton   = true;
                    PlayerRosterGridView.AutoGenerateDeleteButton = true;
                    SavePlayerChanges.Visible = true;
                    if ((bool)Session["PlayerChanges"] == false)
                    {
                        SavePlayerChanges.Enabled = false;
                        SavePlayerChanges.Visible = false;
                    }
                    else
                    {
                        SavePlayerChanges.Enabled = true;
                    }

                    AddPlayer.Visible = true;
                }
                if (Cache["PlayerRoster"] == null)
                {
                    Cache.Insert("PlayerRoster", playerRoster);
                }
                PlayerRosterGridView.DataSource = (List <PlayerRoster>)Cache["PlayerRoster"];
                PlayerRosterGridView.DataBind();
            }
        }
コード例 #4
0
        public void GetBuildsForProjectShouldReturnAllOfTheBuildsForASpecificProject()
        {
            var dr = new DataRetrieval();
            var targetQATestList = dr.GetBuildsForProject(_firstProject.Id);

            Assert.AreEqual(targetQATestList.Count, _firstProduct.Tests.Count);
        }
コード例 #5
0
ファイル: Place.cs プロジェクト: kkeeler/glennsite
        public void LoadPlaceInfo(char placesId)
        {
            try
            {
                // declare variables
                DataTable placesInfo;

                // setup the parameter
                List <DAParameter> placesParam = new List <DAParameter>
                {
                    new DAParameter("@PlacesId", ParameterDirection.Input, SqlDbType.Char, 1, (object)placesId)
                };

                // retrieve the suspect information
                placesInfo = DataRetrieval.QueryDataResults("ED.GetPlaceInfo", DataRetrieval.ConnectionSql, placesParam);

                // load the suspect information
                Id = Char.Parse(placesInfo.Rows[0]["PlacesId"].ToString());
                PlaceDescription  = placesInfo.Rows[0]["PlaceDesc"].ToString();
                LocationId        = 0;
                LocationName      = "";
                AreaId            = 0;
                AreaName          = "";
                WeaponId          = 0;
                WeaponName        = "None";
                OddMaleSuspect    = null;
                EvenMaleSuspect   = null;
                OddFemaleSuspect  = null;
                EvenFemaleSuspect = null;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
コード例 #6
0
ファイル: VirtualMtaDB.cs プロジェクト: simongh/MantaMTA
        /// <summary>
        /// Gets information about VirtualMTA sends for the specified send.
        /// </summary>
        /// <param name="sendID">ID of the send to get information for.</param>
        /// <returns>Information about the usage of each VirtualMTA in the send.</returns>
        public static VirtualMtaSendInfo[] GetSendVirtualMTAStats(string sendID)
        {
            using (SqlConnection conn = MantaDB.GetSqlConnection())
            {
                SqlCommand cmd = conn.CreateCommand();
                cmd.CommandText = @"
--// Get the internal Send ID
DECLARE @internalSendId int
SELECT @internalSendId = [snd].mta_send_internalId
FROM man_mta_send as [snd] WITH(nolock)
WHERE [snd].mta_send_id = @sndID

DECLARE @usedIpAddressIds table(ip_ipAddress_id int)
--// Get the IP addresses used by the send
INSERT INTO @usedIpAddressIds
SELECT DISTINCT(ip_ipAddress_id)
FROM man_mta_transaction as [tran] WITH(nolock)
JOIN man_mta_msg as [msg] with(nolock) ON [tran].mta_msg_id = [msg].mta_msg_id
WHERE [msg].mta_send_internalId = @internalSendId

--// Get the actual data
SELECT [ip].*,
	(SELECT COUNT(*) FROM man_mta_transaction as [tran] with(nolock) JOIN man_mta_msg as [msg] with(nolock) ON [tran].mta_msg_id = [msg].mta_msg_id WHERE [tran].ip_ipAddress_id = [ip].ip_ipAddress_id AND [msg].mta_send_internalId = @internalSendId AND [tran].mta_transactionStatus_id = 4) AS 'Accepted',
	(SELECT COUNT(*) FROM man_mta_transaction as [tran] with(nolock) JOIN man_mta_msg as [msg] with(nolock) ON [tran].mta_msg_id = [msg].mta_msg_id WHERE [tran].ip_ipAddress_id = [ip].ip_ipAddress_id AND [msg].mta_send_internalId = @internalSendId AND ([tran].mta_transactionStatus_id = 2 OR [tran].mta_transactionStatus_id = 3 OR [tran].mta_transactionStatus_id = 6)) AS 'Rejected',	
	(SELECT COUNT(*) FROM man_mta_transaction as [tran] with(nolock) JOIN man_mta_msg as [msg] with(nolock) ON [tran].mta_msg_id = [msg].mta_msg_id WHERE [tran].ip_ipAddress_id = [ip].ip_ipAddress_id AND [msg].mta_send_internalId = @internalSendId AND [tran].mta_transactionStatus_id = 5) AS 'Throttled',
	(SELECT COUNT(*) FROM man_mta_transaction as [tran] with(nolock) JOIN man_mta_msg as [msg] with(nolock) ON [tran].mta_msg_id = [msg].mta_msg_id WHERE [tran].ip_ipAddress_id = [ip].ip_ipAddress_id AND [msg].mta_send_internalId = @internalSendId AND [tran].mta_transactionStatus_id = 1) AS 'Deferred'
FROM man_ip_ipAddress as [ip]
WHERE [ip].ip_ipAddress_id IN (SELECT * FROM @usedIpAddressIds)";
                cmd.Parameters.AddWithValue("@sndID", sendID);
                return(DataRetrieval.GetCollectionFromDatabase <VirtualMtaSendInfo>(cmd, CreateAndFillVirtualMtaSendInfo).ToArray());
            }
        }
コード例 #7
0
        public void GetAnswers()
        {
            // declare variables
            DataTable answers;                          // data table to store answers to the questions

            try
            {
                // setup the parameter for the answer
                List <DAParameter> answerParam = new List <DAParameter>
                {
                    new DAParameter("@QuestionId", ParameterDirection.Input, SqlDbType.Int, (object)QuestionId)
                };

                // retrieve answers for the question
                answers = DataRetrieval.QueryDataResults("[ED].[GetQuestionAnswers]", DataRetrieval.ConnectionSql, answerParam);

                if (answers.Rows.Count > 0)
                {
                    // store the answers
                    for (int rowCount = 0; rowCount < answers.Rows.Count; rowCount++)
                    {
                        Answers.Add(new Answer(QuestionId, Int32.Parse(answers.Rows[rowCount]["AnswerId"].ToString()),
                                               answers.Rows[rowCount]["AnswerDesc"].ToString()));
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
コード例 #8
0
        /// <summary>
        /// This builds the array to store the place identifiers which will be used throughout the process of building the crime scene
        /// </summary>
        public void BuildPlacesIdArray()
        {
            // define variables
            DataTable placesData;

            try
            {
                // get the place identifiers
                placesData = DataRetrieval.QueryDataResults("ED.GetPlaceId", DataRetrieval.ConnectionSql, true);

                // if records are returned then build the array
                if (placesData.Rows.Count > 0)
                {
                    // define the # of elements in the array
                    places = new char[placesData.Rows.Count];

                    // store the number of places
                    numberPlaces = placesData.Rows.Count;

                    // put the place identifiers in the array
                    for (int count = 0; count <= placesData.Rows.Count - 1; count++)
                    {
                        places[count] = Char.Parse(placesData.Rows[count]["PlacesId"].ToString());
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
コード例 #9
0
        private async void LoginButton_Click(object sender, RoutedEventArgs e)
        {
            var loginUrl    = Configuration.LoginUrl;
            var loginServer = Configuration.LoginServer;

            var url = new Uri(string.Format(loginUrl, loginServer));

            var dataRetrieval = new DataRetrieval();

            Cursor = Cursors.Wait;
            var token = await dataRetrieval.GetTokenAsync(url, UserId);

            Cursor = Cursors.Arrow;

            if (token == null)
            {
                MessageBox.Show("Invalid username. Try again.", "Login error", MessageBoxButton.OK);
            }
            else
            {
                var mainWindow = new MainWindow(token, dataRetrieval);
                //mainWindow.Show();
                Close();
            }
        }
コード例 #10
0
 public async void TestDataRetrieval()
 {
     var url = new Uri("http://foundation-qa.horizon.pitneycloud.com/api/v1/user/auth/guam");
     var userId = "950f9e6a-2ce9-44f2-9f25-31e5caad60a0@pb";
     var target = new DataRetrieval();
     var result = await target.GetTokenAsync(url, userId);
     Assert.AreNotEqual(result, null);
 }
コード例 #11
0
 public LoginViewModel(DataRetrieval dataRetrieval, AuthContext authContext)
 {
     _dataRetrieval = dataRetrieval;
     _authContext   = authContext;
     LoginCommand   = new DelegateCommand(LoginExecuted, LoginCanExecute);
     UserName       = "******";
     Password       = "******";
 }
コード例 #12
0
 public LoginViewModel(DataRetrieval dataRetrieval, AuthContext authContext)
 {
     _dataRetrieval = dataRetrieval;
     _authContext = authContext;
     LoginCommand = new DelegateCommand(LoginExecuted, LoginCanExecute);
     UserName = "******";
     Password = "******";
 }
コード例 #13
0
        public void GetProductsForBuildShouldReturnAllOfTheProductsForASpecificBuild()
        {
            var dr = new DataRetrieval();
            var targetQATestList = dr.GetProductsForBuild(_firstBuild.Id);

            Assert.AreEqual(targetQATestList.Count,
                            _firstProduct.Tests.Count);
        }
コード例 #14
0
 public async void TestDataRetrievalGetTokenByLoginPassword()
 {
     var url = new Uri("http://foundation-qa.horizon.pitneycloud.com/api/v1/user/auth/guam");
     var userId = "*****@*****.**";
     var password = "******";
     var target = new DataRetrieval();
     var result = await target.GetTokenAsync(url, userId, password);
     Assert.AreNotEqual(result, null);
 }
コード例 #15
0
ファイル: Class1.cs プロジェクト: VitaliyPusan/pitneytest
 public void TestDataRetrievalGetTransactions()
 {
     var transactionsUrl = new Uri("http://shipping-qa.horizon.pitneycloud.com/api/v1/transactions");
     var tokenUrl        = new Uri("http://foundation-qa.horizon.pitneycloud.com/api/v1/user/auth/guam");
     var userId          = "950f9e6a-2ce9-44f2-9f25-31e5caad60a0@pb";
     var target          = new DataRetrieval();
     var token           = target.GetToken(tokenUrl, userId);
     var transactions    = target.GetTransactions(transactionsUrl, token);
 }
コード例 #16
0
        public async void TestDataRetrieval()
        {
            var url    = new Uri("http://foundation-qa.horizon.pitneycloud.com/api/v1/user/auth/guam");
            var userId = "950f9e6a-2ce9-44f2-9f25-31e5caad60a0@pb";
            var target = new DataRetrieval();
            var result = await target.GetTokenAsync(url, userId);

            Assert.AreNotEqual(result, null);
        }
コード例 #17
0
 public async void TestDataRetrievalGetTransactions()
 {
     var transactionsUrl = new Uri("http://shipping-qa.horizon.pitneycloud.com/api/v1/transactions");
     var tokenUrl = new Uri("http://foundation-qa.horizon.pitneycloud.com/api/v1/user/auth/guam");
     var userId = "950f9e6a-2ce9-44f2-9f25-31e5caad60a0@pb";
     var target = new DataRetrieval();
     var token = await target.GetTokenAsync(tokenUrl, userId);
     var transactions = await target.GetTransactionsAsync(transactionsUrl, token);
     Assert.AreNotEqual(transactions, null);
 }
コード例 #18
0
        public async void TestDataRetrievalGetTokenByLoginPassword()
        {
            var url      = new Uri("http://foundation-qa.horizon.pitneycloud.com/api/v1/user/auth/guam");
            var userId   = "*****@*****.**";
            var password = "******";
            var target   = new DataRetrieval();
            var result   = await target.GetTokenAsync(url, userId, password);

            Assert.AreNotEqual(result, null);
        }
コード例 #19
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                DataRetrieval      retrieve = new DataRetrieval();
                List <CoachRoster> roster   = retrieve.SelectAllCoaches();

                AdminUser user = (AdminUser)Session["AdminUSer"];

                if (Session["login"].ToString() == "loggedIn" && user.Role != "coach")
                {
                    SaveCoachChanges.Visible = true;
                    if ((bool)Session["CoachChanges"] == false)
                    {
                        SaveCoachChanges.Enabled = false;
                        SaveCoachChanges.Visible = false;
                    }
                    else
                    {
                        SaveCoachChanges.Enabled = true;
                        SaveCoachChanges.Visible = true;
                    }
                    AddCoach.Visible = true;
                    CoachRosterGridView.AutoGenerateEditButton   = true;
                    CoachRosterGridView.AutoGenerateDeleteButton = true;
                }



                if (Cache["CoachRoster"] == null)
                {
                    Cache.Insert("CoachRoster", roster);
                }

                CoachRosterGridView.DataSource = (List <CoachRoster>)Cache["CoachRoster"];
                CoachRosterGridView.DataBind();
            }

            if (Session["login"].ToString() != "loggedIn")
            {
                _hideColumn(4);
                _hideColumn(5);
            }
            else if (Session["login"].ToString() == "loggedIn")
            {
                AdminUser user = (AdminUser)Session["AdminUser"];

                if (user.Role == "coach")
                {
                    _hideColumn(4);
                    _hideColumn(5);
                }
            }
        }
コード例 #20
0
        public MainViewModel(DataRetrieval dataRetrieval, AuthContext authContext)
        {
            _dataRetrieval = dataRetrieval;
            _authContext   = authContext;

            Items          = new ObservableCollection <ContentModel>();
            LoginCommand   = new DelegateCommand(() => NavigationService.Navigate(typeof(LoginView)));
            RefreshCommand = new DelegateCommand(LoadDataAsync);

            LoadDataAsync();
        }
コード例 #21
0
        /// <summary>
        /// Gets a Sends Metadata from the database.
        /// </summary>
        /// <param name="sendID"></param>
        /// <returns></returns>
        public static SendMetadataCollection GetSendMetaData(int internalSendID)
        {
            using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["SqlServer"].ConnectionString))
            {
                SqlCommand cmd = conn.CreateCommand();
                cmd.CommandText = @"SELECT *
FROM man_mta_sendMeta
WHERE mta_send_internalId = @sndID";
                cmd.Parameters.AddWithValue("@sndID", internalSendID);
                return(new SendMetadataCollection(DataRetrieval.GetCollectionFromDatabase <SendMetadata>(cmd, CreateAndFillSendMetadata)));
            }
        }
コード例 #22
0
        /// <summary>
        /// Gets a summary of the transactions made in the last one hour.
        /// </summary>
        /// <returns>Transaction Summary</returns>
        public static SendTransactionSummaryCollection GetLastHourTransactionSummary()
        {
            using (SqlConnection conn = MantaDB.GetSqlConnection())
            {
                SqlCommand cmd = conn.CreateCommand();
                cmd.CommandText = @"SELECT [tran].mta_transactionStatus_id, COUNT(*) AS 'Count'
FROM man_mta_transaction as [tran] WITH(nolock)
WHERE [tran].mta_transaction_timestamp >= DATEADD(HOUR, -1, GETUTCDATE())
GROUP BY [tran].mta_transactionStatus_id";
                return(new SendTransactionSummaryCollection(DataRetrieval.GetCollectionFromDatabase <SendTransactionSummary>(cmd, CreateAndFillTransactionSummary)));
            }
        }
コード例 #23
0
        /// <summary>
        /// Retrieves all BounceRules from the database.
        /// </summary>
        /// <returns>A BounceRulesCollection of all the Rules.</returns>
        internal static BounceRulesCollection GetBounceRules()
        {
            using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["SqlServer"].ConnectionString))
            {
                SqlCommand cmd = conn.CreateCommand();
                cmd.CommandText = @"
SELECT *
FROM man_evn_bounceRule
ORDER BY evn_bounceRule_executionOrder ASC";
                return(new BounceRulesCollection(DataRetrieval.GetCollectionFromDatabase <BounceRule>(cmd, CreateAndFillBounceRuleFromRecord)));
            }
        }
コード例 #24
0
        /// <summary>
        /// Gets a summary of a virtual MTAs transaction history.
        /// </summary>
        /// <param name="ipAddressId"></param>
        /// <returns></returns>
        public static SendTransactionSummaryCollection GetSendSummaryForIpAddress(int ipAddressId)
        {
            using (SqlConnection conn = MantaDB.GetSqlConnection())
            {
                SqlCommand cmd = conn.CreateCommand();
                cmd.CommandText = @"SELECT mta_transactionStatus_id, COUNT(*) AS 'Count'
FROM man_mta_transaction
WHERE ip_ipAddress_id = @ipAddressId
GROUP BY mta_transactionStatus_id";
                cmd.Parameters.AddWithValue("@ipAddressId", ipAddressId);
                return(new SendTransactionSummaryCollection(DataRetrieval.GetCollectionFromDatabase <SendTransactionSummary>(cmd, CreateAndFillSendTransactionSummaryFromRecord)));
            }
        }
コード例 #25
0
        public void GetBuildLoadsTheCorrectBuild()
        {
            var dr = new DataRetrieval();
            var targetBuild = dr.GetBuild(_firstBuild.Id);

            Assert.AreEqual(targetBuild.Id,
                            _firstBuild.Id);
            Assert.AreEqual(targetBuild.Name,
                            _firstBuild.Name);
            Assert.AreEqual(targetBuild.Description,
                            _firstBuild.Description);
            Assert.AreEqual(targetBuild.ProjectId,
                            _firstBuild.ProjectId);
        }
コード例 #26
0
        public IServiceProvider ConfigureServices(IServiceCollection services)
        {
            services.AddControllers();
            services.AddSwaggerGen(x =>
            {
                x.SwaggerDoc("v1", new OpenApiInfo {
                    Title = "Eventflow Demo - API", Version = "v1"
                });
                x.OperationFilter <SwaggerAuthorizationHeaderParameterOperationFilter>();
            });

            services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_3_0);
            ContainerBuilder containerBuilder   = new ContainerBuilder();
            string           rabbitMqConnection = Environment.GetEnvironmentVariable("RABBITMQCONNECTION");
            string           elasticSearchUrl   = Environment.GetEnvironmentVariable("ELASTICSEARCHURL");

            Uri node = new Uri(elasticSearchUrl);
            ConnectionSettings settings = new ConnectionSettings(node);
            var dataRetrieval           = new DataRetrieval()
            {
                Enabled = true
            };

            settings.DisableDirectStreaming();

            ElasticClient elasticClient = new ElasticClient(settings);

            EventFlowOptions.New
            .UseAutofacContainerBuilder(containerBuilder)
            .AddDefaults(typeof(Employee).Assembly)
            .ConfigureEventStore()
            .ConfigureElasticsearch(() => elasticClient)
            .PublishToRabbitMq(
                RabbitMqConfiguration.With(new Uri(rabbitMqConnection),
                                           true, 5, "eventflow"))
            .RegisterServices(sr => sr.Register <IScopedContext, ScopedContext>(Lifetime.Scoped))
            .RegisterServices(sr => sr.RegisterType(typeof(EmployeeLocator)))
            .UseElasticsearchReadModel <EmployeeReadModel, EmployeeLocator>()
            .RegisterServices(sr => sr.RegisterType(typeof(TransactionLocator)))
            .UseElasticsearchReadModel <TransactionReadModel, TransactionLocator>()
            .ConfigureDataRetrieval(dataRetrieval, typeof(EmployeeReadModel).Assembly)
            .AddAspNetCore();

            containerBuilder.Populate(services);
            var _tenantIndex = new ElasticSearchIndex(elasticSearchUrl);

            _tenantIndex.CreateIndex("employeeindex", elasticSearchUrl);
            services.AddSingleton(_tenantIndex.ElasticClient);
            return(new AutofacServiceProvider(containerBuilder.Build()));
        }
コード例 #27
0
        /// <summary>
        /// Gets information about the speed of sending over the last one hour.
        /// </summary>
        /// <returns>SendSpeedInfo</returns>
        public static SendSpeedInfo GetLastHourSendSpeedInfo()
        {
            using (SqlConnection conn = MantaDB.GetSqlConnection())
            {
                SqlCommand cmd = conn.CreateCommand();
                cmd.CommandText = @"
SELECT COUNT(*) AS 'Count', [tran].mta_transactionStatus_id, CONVERT(smalldatetime, [tran].mta_transaction_timestamp) as 'mta_transaction_timestamp'
FROM man_mta_transaction as [tran] WITH (nolock)
WHERE [tran].mta_transaction_timestamp >= DATEADD(HOUR, -1, GETUTCDATE())
GROUP BY [tran].mta_transactionStatus_id, CONVERT(smalldatetime, [tran].mta_transaction_timestamp)
ORDER BY CONVERT(smalldatetime, [tran].mta_transaction_timestamp)";
                return(new SendSpeedInfo(DataRetrieval.GetCollectionFromDatabase <SendSpeedInfoItem>(cmd, CreateAndFillSendSpeedInfoItemFromRecord)));
            }
        }
コード例 #28
0
ファイル: Suspect.cs プロジェクト: kkeeler/glennsite
        /// <summary>
        /// Loads the information about the suspect such as their name, sex, occupation, etc.
        /// </summary>
        public void LoadSuspectInfo(int suspectId)
        {
            try
            {
                // declare variables
                DataTable suspectInfo;

                // setup the parameter
                List <DAParameter> suspectParam = new List <DAParameter>
                {
                    new DAParameter("@SuspectId", ParameterDirection.Input, SqlDbType.Int, (object)suspectId)
                };

                // retrieve the suspect information
                suspectInfo = DataRetrieval.QueryDataResults("ED.GetSuspectInfo", DataRetrieval.ConnectionSql, suspectParam);

                // load the suspect information
                Id                         = Int32.Parse(suspectInfo.Rows[0]["SuspectId"].ToString());
                FirstName                  = suspectInfo.Rows[0]["SuspectFName"].ToString();
                LastName                   = suspectInfo.Rows[0]["SuspectLName"].ToString();
                Occupation                 = suspectInfo.Rows[0]["SuspectOccupation"].ToString();
                Relationship               = suspectInfo.Rows[0]["SuspectRelationship"].ToString();
                MarriedId                  = Int32.Parse(suspectInfo.Rows[0]["SuspectMarriedId"].ToString());
                Sex                        = Char.Parse(suspectInfo.Rows[0]["SuspectSex"].ToString());
                SexName                    = Sex == 'M' ? "Male" : "Female";
                IsVictim                   = false;
                IsMurderer                 = false;
                VictimPlace                = 'X';
                MurdererPlace              = 'X';
                MurderWeapon               = 0;
                MurderWeaponName           = "None";
                AlibiPlace                 = null;
                AlibiShowLocation          = false;
                AlibiShowArea              = false;
                AlibiShowPlace             = false;
                AlibiShowOddMaleSuspect    = false;
                AlibiShowEvenMaleSuspect   = false;
                AlibiShowOddFemaleSuspect  = false;
                AlibiShowEvenFemaleSuspect = false;

                // load the questions for the suspect
                PopulateSuspectQuestions(suspectId);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
コード例 #29
0
        public void GetProductLoadsTheCorrectProduct()
        {
            var dr = new DataRetrieval();
            var targetProduct = dr.GetProduct(_firstProduct.Id);

            Assert.AreEqual(targetProduct.Id,
                            _firstProduct.Id);
            Assert.AreEqual(targetProduct.Name,
                            _firstProduct.Name);
            Assert.AreEqual(targetProduct.Description,
                            _firstProduct.Description);
            Assert.AreEqual(targetProduct.BuildId,
                            _firstProduct.BuildId);
            Assert.AreEqual(targetProduct.MasterProductListId,
                            _firstProduct.MasterProductListId);
        }
コード例 #30
0
        protected void BtnLogin_Click(object sender, EventArgs e)
        {
            var user = AdminUserDataLayer.LogIn(UserName.Text, Password.Text);

            if (user.GetType() == typeof(AdminUser))
            {
                AdminUser admin = (AdminUser)user;
                Session["AdminUser"] = admin;
                Session["Name"]      = admin.FirstName + " " + admin.LastName;
                Session["login"]     = "******";
                HttpCookie cookie = Request.Cookies["AdminUser"];

                if (checkboxRemeber.Checked)
                {
                    if (cookie == null)
                    {
                        cookie = new HttpCookie("AdminUser");
                    }

                    cookie["username"] = UserName.Text;
                    cookie["password"] = Password.Text;
                    cookie.Expires     = DateTime.Now.AddDays(30);
                    Response.Cookies.Add(cookie);
                }
                else
                {
                    if (cookie != null)
                    {
                        cookie.Expires = DateTime.Now.AddDays(-1);
                        Response.Cookies.Add(cookie);
                    }
                }
                Server.Transfer("Default.aspx");
            }
            else
            {
                if (user.ToString() == "Account Locked. Please Contact Administrator")
                {
                    DataRetrieval      retrieve = new DataRetrieval();
                    List <CoachRoster> roster   = retrieve.SelectAllCoaches();
                    Cache["CoachRoster"] = roster;
                }
                InvalidLabel.Text      = user.ToString();
                InvalidLabel.ForeColor = System.Drawing.Color.Red;
            }
        }
コード例 #31
0
        /// <summary>
        /// Get the total number of suspects
        /// </summary>
        public void GetNumberSuspects()
        {
            // declare variables
            DataTable suspectData;

            try
            {
                // get the number of suspects
                suspectData = DataRetrieval.QueryDataResults("ED.GetNumberSuspects", DataRetrieval.ConnectionSql, true);

                // store the number of suspects
                numberSuspects = Int32.Parse(suspectData.Rows[0]["NumberSuspects"].ToString());
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
コード例 #32
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="sendID"></param>
        /// <returns></returns>
        public static SendInfo GetSend(string sendID)
        {
            using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["SqlServer"].ConnectionString))
            {
                SqlCommand cmd = conn.CreateCommand();
                cmd.CommandText = @"SELECT [snd].*,
	mta_send_messages AS 'Messages',
	mta_send_accepted AS 'Accepted',
	mta_send_rejected AS 'Rejected',
	([snd].mta_send_messages - (mta_send_accepted + mta_send_rejected)) AS 'Waiting',
	(SELECT COUNT(*) FROM man_mta_transaction as [tran] with(nolock) JOIN man_mta_msg as [msg] with(nolock) ON [tran].mta_msg_id = [msg].mta_msg_id WHERE [msg].mta_send_internalId = [snd].mta_send_internalId AND [tran].mta_transactionStatus_id = 5) AS 'Throttled',
	(SELECT COUNT(*) FROM man_mta_transaction as [tran] with(nolock) JOIN man_mta_msg as [msg] with(nolock) ON [tran].mta_msg_id = [msg].mta_msg_id WHERE [msg].mta_send_internalId = [snd].mta_send_internalId AND [tran].mta_transactionStatus_id = 1) AS 'Deferred',
	(SELECT MAX(mta_transaction_timestamp) FROM man_mta_transaction as [tran] with(nolock) JOIN  man_mta_msg as [msg] with(nolock) ON [tran].mta_msg_id = [msg].mta_msg_id WHERE [msg].mta_send_internalId = [snd].mta_send_internalId) AS 'LastTransactionTimestamp'
FROM man_mta_send as [snd] with(nolock)
WHERE [snd].mta_send_id = @sndID";
                cmd.Parameters.AddWithValue("@sndID", sendID);
                return(DataRetrieval.GetSingleObjectFromDatabase <SendInfo>(cmd, CreateAndFillSendInfo));
            }
        }
コード例 #33
0
        public MainWindow(AccessToken token, DataRetrieval dataRetrieval)
        {
            DataRetrieval = dataRetrieval;
            Token = token;

            InitializeComponent();

            _expandableItemControls = new List<ExpandableItemControl>
            {
                EicToday,
                EicYesterday,
                EicLastWeek,
                EicOlder
            };

            LoadDataAsync();

            Show();
        }
コード例 #34
0
        public MainWindow(AccessToken token, DataRetrieval dataRetrieval)
        {
            DataRetrieval = dataRetrieval;
            Token         = token;

            InitializeComponent();

            _expandableItemControls = new List <ExpandableItemControl>
            {
                EicToday,
                EicYesterday,
                EicLastWeek,
                EicOlder
            };

            LoadDataAsync();

            Show();
        }
コード例 #35
0
ファイル: Suspect.cs プロジェクト: kkeeler/glennsite
        /// <summary>
        /// Populates the questions for this suspect
        /// </summary>
        /// <param name="suspectId"></param>
        public void PopulateSuspectQuestions(int suspectId)
        {
            // declare variables
            DataTable questions;                        // data table to store the questions

            try
            {
                // setup the parameter for the question
                List <DAParameter> questionParam = new List <DAParameter>
                {
                    new DAParameter("@SuspectId", ParameterDirection.Input, SqlDbType.Int, (object)suspectId)
                };

                // retrieve questions for the suspect
                questions = DataRetrieval.QueryDataResults("[ED].[GetSuspectQuestions]", DataRetrieval.ConnectionSql, questionParam);

                // loop through the questions and assign them to the suspect
                if (questions.Rows.Count > 0)
                {
                    // intialize generic list for questions
                    SuspectQuestions = new List <Question>();

                    // load questions for the suspect
                    for (int rowCount = 0; rowCount < questions.Rows.Count; rowCount++)
                    {
                        SuspectQuestions.Add(new Question(Int32.Parse(questions.Rows[rowCount]["SuspectId"].ToString()),
                                                          Int32.Parse(questions.Rows[rowCount]["QuestionId"].ToString()), questions.Rows[rowCount]["QuestionDesc"].ToString()));
                    }

                    // now get the answers for the questions
                    foreach (Question q in SuspectQuestions)
                    {
                        q.GetAnswers();
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
コード例 #36
0
        /// <summary>
        /// Gets information about the speed of a send.
        /// </summary>
        /// <param name="sendID">ID of the send to get speed information about.</param>
        /// <returns>SendSpeedInfo</returns>
        public static SendSpeedInfo GetSendSpeedInfo(string sendID)
        {
            using (SqlConnection conn = MantaDB.GetSqlConnection())
            {
                SqlCommand cmd = conn.CreateCommand();
                cmd.CommandText = @"
DECLARE @internalSendID int
SELECT @internalSendID = mta_send_internalId
FROM man_mta_send
WHERE mta_send_id = @sndID

SELECT COUNT(*) AS 'Count', [tran].mta_transactionStatus_id, CONVERT(smalldatetime, [tran].mta_transaction_timestamp) as 'mta_transaction_timestamp'
FROM man_mta_transaction as [tran] with(nolock)
JOIN man_mta_msg AS [msg] with(nolock) ON [tran].mta_msg_id = [msg].mta_msg_id
WHERE [msg].mta_send_internalId = @internalSendID
GROUP BY [tran].mta_transactionStatus_id, CONVERT(smalldatetime, [tran].mta_transaction_timestamp)
ORDER BY CONVERT(smalldatetime, [tran].mta_transaction_timestamp)";
                cmd.Parameters.AddWithValue("@sndID", sendID);
                return(new SendSpeedInfo(DataRetrieval.GetCollectionFromDatabase <SendSpeedInfoItem>(cmd, CreateAndFillSendSpeedInfoItemFromRecord)));
            }
        }
コード例 #37
0
        /// <summary>
        /// Gets all of the sends with messages waiting to be sent.
        /// </summary>
        /// <returns>SendInfoCollection of all relevent sends.</returns>
        public static SendInfoCollection GetSendsInProgress()
        {
            using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["SqlServer"].ConnectionString))
            {
                SqlCommand cmd = conn.CreateCommand();
                cmd.CommandText    = @"
SELECT [send].*, 
	mta_send_messages AS 'Messages',
	mta_send_accepted AS 'Accepted',
	mta_send_rejected AS 'Rejected',
	([send].mta_send_messages - (mta_send_accepted + mta_send_rejected)) AS 'Waiting',
	(SELECT COUNT(*) FROM man_mta_transaction as [tran] JOIN man_mta_msg as [msg] ON [tran].mta_msg_id = [msg].mta_msg_id WHERE [msg].mta_send_internalId = [send].mta_send_internalId AND [tran].mta_transactionStatus_id = 5) AS 'Throttled',
	(SELECT COUNT(*) FROM man_mta_transaction as [tran] JOIN man_mta_msg as [msg] ON [tran].mta_msg_id = [msg].mta_msg_id WHERE [msg].mta_send_internalId = [send].mta_send_internalId AND [tran].mta_transactionStatus_id = 1) AS 'Deferred',
	(SELECT MAX(mta_transaction_timestamp) FROM man_mta_transaction as [tran] JOIN  man_mta_msg as [msg] ON [tran].mta_msg_id = [msg].mta_msg_id WHERE [msg].mta_send_internalId = [send].mta_send_internalId) AS 'LastTransactionTimestamp'
FROM man_mta_send as [send]
WHERE ([send].mta_send_messages - (mta_send_accepted + mta_send_rejected)) > 0
ORDER BY [send].mta_send_createdTimestamp DESC";
                cmd.CommandTimeout = 90;                 // Query can take a while to run due to the size of the Transactions table.
                return(new SendInfoCollection(DataRetrieval.GetCollectionFromDatabase <SendInfo>(cmd, CreateAndFillSendInfo)));
            }
        }
コード例 #38
0
        /// <summary>
        /// This will generate the crime scene
        /// </summary>
        public void CreateCrimeScene()
        {
            try
            {
                // initialize variables
                Suspects = new List <Suspect>();
                Places   = new List <Place>();

                // set database connection
                DataRetrieval.SetSqlConnection(ConfigurationManager.ConnectionStrings["DefaultConnection"].ToString());

                // build an array to store place id
                BuildPlacesIdArray();

                // get the number of suspects
                GetNumberSuspects();

                // populate the basic suspect information (name, sex, occupation, etc)
                PopulateSuspectInfo();

                // determine who the victim is
                DetermineVictim();

                // populate basic place information (name of place, etc)
                PopulatePlaceInfo();

                // determine who the murderer is
                DetermineMurderer();

                // put suspects in places
                PutSuspectsInTheirPlace();

                // build the suspect alibi
                GetSuspectAlibi();
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
コード例 #39
0
ファイル: Program.cs プロジェクト: mmoalin/Val
        static void Main(string[] args)
        {
            //MapTransformations<BasicTableModel> mapTransformations = new MapTransformations<BasicTableModel>(WhichTable.PIMMaterialMaster);
            DataRetrieval <BasicTableModel> retData = new DataRetrieval <BasicTableModel>();
            //var items = retData.GetData(mapTransformations.GetSqlStatement());

            string PIMColumns            = "ENTITY.EXTERNALID, ENTITY.ENTITYTYPENAME, ATTRIBUTE.ATTRIBUTEID AS ATTRIBUTE_ATTRIBUTEID, ATTRIBUTE.ATTRIBUTETYPE, ATTRIBUTE.ATTRIBUTENAME,	ATTVALUES.VALUEID, ATTVALUES.VALUE, [PIM_DEV].dbo.PadNumericValuesWithZeros(ATTVALUES.VALUE) as 'Padded Mat Codes', ";
            string SAPERPColumns         = "PIMI12_MaterialMaster.MATERIALNUMBER_MATNR_MARA, PIMI12_MaterialMaster.[PRODCTDESC_ZZPRODUCT_DESCR_MARA] ";
            string FromANdJoinsStatement = "FROM dbo.PIMI08_ENTITY_FULL AS ENTITY INNER JOIN dbo.PIMI08_ATTRIBUTE_FULL AS ATTRIBUTE ON ENTITY.EXTERNALID = ATTRIBUTE.EXTERNALID LEFT OUTER JOIN dbo.PIMI08_VALUES_FULL AS ATTVALUES ON ATTVALUES.EXTERNALID = ATTRIBUTE.EXTERNALID AND ATTVALUES.ATTRIBUTEID = ATTRIBUTE.ATTRIBUTEID AND ATTVALUES.DEPTH = ATTRIBUTE.DEPTH AND ATTVALUES.ARCOATTRIBUTESEQUENCE = ATTRIBUTE.ARCOATTRIBUTESEQUENCE left join " +
                                           "[dbo].[PIMI12_ERP_MATERIAL_MASTER] PIMI12_MaterialMaster " +
                                           " on PIMI12_MaterialMaster.MATERIALNUMBER_MATNR_MARA = [PIM_DEV].dbo.PadNumericValuesWithZeros(ATTVALUES.VALUE)";
            string WhereStatement = "where ( ENTITY.EXTERNALID = 'PIMM00000000052892') and ( ATTRIBUTE.ATTRIBUTENAME = 'Product Description' or ATTRIBUTE.ATTRIBUTENAME = 'Sap Material code') ";
            string testQuery      = "SELECT " + PIMColumns + SAPERPColumns + FromANdJoinsStatement + WhereStatement;
            var    items          = retData.GetData(testQuery);

            foreach (var t in items)
            {
                Console.WriteLine("ExternalID: " + t.EXTERNALID + '\n' + "ENTITYTYPENAME: " + t.ENTITYTYPENAME + '\n' + "ATTRIBUTENAME: " + t.ATTRIBUTENAME + '\n' + "VALUE: "
                                  + t.VALUE + '\n' + "PRODCTDESC_ZZPRODUCT_DESCR_MARA: " + t.PRODCTDESC_ZZPRODUCT_DESCR_MARA);
            }
            Console.ReadLine();
        }
コード例 #40
0
        public void LoadProjectLoadsCorrectProject()
        {
            ISessionFactory sessionFactory = SessionFactoryFactory.CreateSessionFactory();
            TestDataFactory testDataFac = new TestDataFactory();

            var productDefinitionList = testDataFac.GenerateTestProductDefinitionList(4);
            var qaTestDefinitionList = new List<QATestDefinition>();

            foreach (ProductDefinition product in productDefinitionList)
            {
                qaTestDefinitionList.AddRange(testDataFac.GenerateTestQATestDefinitionList(product, 3));
            }

            List<Project> projectList = testDataFac.PopulateTestData(productDefinitionList, qaTestDefinitionList, 1);

            using (var session = sessionFactory.OpenSession())
            {
                using (var transaction = session.BeginTransaction())
                {
                    foreach (ProductDefinition pd in productDefinitionList)
                    {
                        session.Save(pd);
                    }
                    foreach (QATestDefinition qad in qaTestDefinitionList)
                    {
                        session.Save(qad);
                    }
                    foreach (Project pj in projectList)
                    {
                        session.Save(pj);
                    }
                    transaction.Commit();
                }
            }

            DataRetrieval dr = new DataRetrieval();
            var loadedProj = dr.GetProject(projectList[0].Id);
        }
コード例 #41
0
ファイル: Login.xaml.cs プロジェクト: Zaknafeyn/pitneytest
        private async void LoginButton_Click(object sender, RoutedEventArgs e)
        {
            var loginUrl = Configuration.LoginUrl;
            var loginServer = Configuration.LoginServer;

            var url = new Uri(string.Format(loginUrl, loginServer));

            var dataRetrieval = new DataRetrieval();

            Cursor = Cursors.Wait;
            var token = await dataRetrieval.GetTokenAsync(url, UserId);
            Cursor = Cursors.Arrow;

            if (token == null)
            {
                MessageBox.Show("Invalid username. Try again.", "Login error", MessageBoxButton.OK);
            }
            else
            {
                var mainWindow = new MainWindow(token, dataRetrieval);
                //mainWindow.Show();
                Close();
            }
        }
コード例 #42
0
        public void GetProjectShouldLoadTheCorrectProject()
        {
            var dr = new DataRetrieval();
            var targetProject = dr.GetProject(_firstProject.Id);

            Assert.AreEqual(targetProject.Id,
                            _firstProject.Id);
            Assert.AreEqual(targetProject.Name,
                            _firstProject.Name);
            Assert.AreEqual(targetProject.CreatedOn.ToShortTimeString(),
                            _firstProject.CreatedOn.ToShortTimeString());
        }
コード例 #43
0
        public void GetQATestLoadsTheCorrectQATest()
        {
            var dr = new DataRetrieval();
            var targetQATest = dr.GetQATest(_firstQATest.Id);

            Assert.AreEqual(targetQATest.Id,
                            _firstQATest.Id);
            Assert.AreEqual(targetQATest.Name,
                            _firstQATest.Name);
            Assert.AreEqual(targetQATest.Description,
                            _firstQATest.Description);
            Assert.AreEqual(targetQATest.ProductId,
                            _firstQATest.ProductId);
            Assert.AreEqual(targetQATest.MasterTestListId,
                            _firstQATest.MasterTestListId);
        }