コード例 #1
0
ファイル: Program.cs プロジェクト: skygit1123/cqrs-api
        public static void Main(string[] args)
        {
            var config = new ConfigurationBuilder()
                         .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
                         .AddJsonFile("appsettings.local.json", optional: false, reloadOnChange: true)
                         .Build();

            Log.Logger = new LoggerConfiguration()
                         .Enrich.FromLogContext()
                         .ReadFrom.Configuration(config)
                         .CreateLogger();

            try
            {
                Log.Information("Starting up");
                var host = CreateHostBuilder(args).Build();
                DataAccessExtensions.InitializedDB(host.Services);
                host.Run();
            }
            catch (Exception ex)
            {
                Log.Fatal(ex, "Application start-up failed");
            }
            finally
            {
                Log.CloseAndFlush();
            }
        }
コード例 #2
0
        public void GetValueOrNullTest_LongToInt()
        {
            long longus = 25L;

            var result = DataAccessExtensions.GetValueOrNull <int>(longus);

            Assert.IsTrue(result == 25);
        }
コード例 #3
0
        public void GetValueOrNullTest_ShortToShort()
        {
            short shortus = 25;

            var result = DataAccessExtensions.GetValueOrNull <short>(shortus);

            Assert.IsTrue(result == 25);
        }
コード例 #4
0
        public void GetValueOrNullTest_DoubleToShort()
        {
            double intus = 25;

            var result = DataAccessExtensions.GetValueOrNull <short>(intus);

            Assert.IsTrue(result == 25);
        }
コード例 #5
0
        public void GetValueOrNullTest_IntToInt()
        {
            long intus = 25;

            var result = DataAccessExtensions.GetValueOrNull <int>(intus);

            Assert.IsTrue(result == 25);
        }
        /// <inheritdoc />
        public int CreateAblieferndeStelle(string bezeichnung, string kuerzel, List <int> tokenIdList, List <string> kontrollstelleList,
                                           string currentUserId)
        {
            if (kontrollstelleList == null)
            {
                kontrollstelleList = new List <string>();
            }

            const string query =
                "INSERT INTO AblieferndeStelle (Bezeichnung, Kuerzel, Kontrollstellen, CreatedBy, ModifiedBy) OUTPUT INSERTED.AblieferndeStelleId VALUES (@p1, @p2, @p3, (SELECT EmailAddress FROM ApplicationUser WHERE ID = @p4), (SELECT EmailAddress FROM ApplicationUser WHERE ID = @p4))";

            var parameterList = new List <SqlParameter>
            {
                new SqlParameter
                {
                    Value         = bezeichnung,
                    ParameterName = "p1",
                    SqlDbType     = SqlDbType.VarChar
                },
                new SqlParameter
                {
                    Value         = kuerzel,
                    ParameterName = "p2",
                    SqlDbType     = SqlDbType.VarChar
                },
                new SqlParameter
                {
                    Value         = string.Join(",", kontrollstelleList),
                    ParameterName = "p3",
                    SqlDbType     = SqlDbType.VarChar
                },
                new SqlParameter
                {
                    Value         = currentUserId,
                    ParameterName = "p4",
                    SqlDbType     = SqlDbType.NVarChar
                }
            };

            var result = DataAccessExtensions.CreateNewItem(connectionString, query, parameterList);

            var ablieferndeStelleId = Convert.ToInt32(result);

            if (tokenIdList == null)
            {
                return(ablieferndeStelleId);
            }

            // Alle Tokens zuordnen
            var queryInsertToken = GetQueryForCleanAndInsertTokens(ablieferndeStelleId, tokenIdList);

            DataAccessExtensions.ExecuteQuery(connectionString, queryInsertToken);

            return(ablieferndeStelleId);
        }
        /// <inheritdoc />
        public AmtTokenDto CreateToken(string token, string bezeichnung)
        {
            if (string.IsNullOrEmpty(token))
            {
                return(null);
            }

            if (string.IsNullOrEmpty(bezeichnung))
            {
                return(null);
            }

            if (!TokenIsUnique(token))
            {
                return(null);
            }

            var newToken = new AmtTokenDto
            {
                TokenId     = 0,
                Token       = token,
                Bezeichnung = bezeichnung
            };

            const string query =
                "INSERT INTO AblieferndeStelleToken (Token, Bezeichnung) OUTPUT INSERTED.TokenId VALUES (@p1, @p2)";

            var parameterList = new List <SqlParameter>
            {
                new SqlParameter
                {
                    Value         = token,
                    ParameterName = "p1",
                    SqlDbType     = SqlDbType.NVarChar
                },
                new SqlParameter
                {
                    Value         = bezeichnung,
                    ParameterName = "p2",
                    SqlDbType     = SqlDbType.VarChar
                }
            };

            var result = DataAccessExtensions.CreateNewItem(connectionString, query, parameterList);

            if (result == null)
            {
                return(null);
            }

            newToken.TokenId = Convert.ToInt32(result);
            return(newToken);
        }
コード例 #8
0
        public void GetValueOrNullTest_Null()
        {
            var result = DataAccessExtensions.GetValueOrNull <short>(null);

            Assert.IsTrue(result == null);
        }
コード例 #9
0
        bool IDownloadTokenDataAccess.CreateToken(string token, int recordId, DownloadTokenType tokenType, DateTime tokenExpiryTime, string ipAdress,
                                                  string userId)
        {
            if (string.IsNullOrEmpty(token))
            {
                return(false);
            }

            if (recordId <= 0)
            {
                return(false);
            }

            if (string.IsNullOrEmpty(ipAdress))
            {
                return(false);
            }

            const string query =
                "INSERT INTO DownloadToken (Token, ExpiryTime, IpAdress, recordId, UserId, TokenType) VALUES (@token, @expiryTime, @ipAddress, @recordId, @userId, @tokenType)";

            var parameterList = new List <SqlParameter>
            {
                new SqlParameter
                {
                    Value         = token,
                    ParameterName = "token",
                    SqlDbType     = SqlDbType.NVarChar
                },
                new SqlParameter
                {
                    Value         = tokenExpiryTime,
                    ParameterName = "expiryTime",
                    SqlDbType     = SqlDbType.DateTime2
                },
                new SqlParameter
                {
                    Value         = ipAdress,
                    ParameterName = "ipAddress",
                    SqlDbType     = SqlDbType.NVarChar
                },
                new SqlParameter
                {
                    Value         = recordId,
                    ParameterName = "recordId",
                    SqlDbType     = SqlDbType.Int
                },
                new SqlParameter
                {
                    Value         = userId,
                    ParameterName = "userId",
                    SqlDbType     = SqlDbType.NVarChar
                },
                new SqlParameter
                {
                    Value         = tokenType.ToString(),
                    ParameterName = "tokenType",
                    SqlDbType     = SqlDbType.NVarChar
                }
            };

            return(DataAccessExtensions.CreateNewItem(connectionString, query, parameterList) != null);
        }
        /// <inheritdoc />
        public void UpdateAblieferndeStelle(int ablieferndeStelleId, string bezeichnung, string kuerzel, List <int> tokenIdList,
                                            List <string> kontrollstelleList, string currentUserId)
        {
            if (ablieferndeStelleId == 0)
            {
                return;
            }

            if (string.IsNullOrEmpty(bezeichnung) || string.IsNullOrEmpty(kuerzel))
            {
                return;
            }

            if (kontrollstelleList == null)
            {
                kontrollstelleList = new List <string>();
            }

            using (var cn = new SqlConnection(connectionString))
            {
                cn.Open();

                using (var cmd = cn.CreateCommand())
                {
                    cmd.CommandText +=
                        "UPDATE AblieferndeStelle SET Bezeichnung = @p1, Kuerzel = @p2, Kontrollstellen = @p3, ModifiedBy = (SELECT EmailAddress FROM ApplicationUser WHERE ID = @p4), ModifiedOn = sysdatetime() WHERE AblieferndeStelleId = @p5";
                    cmd.Parameters.Add(new SqlParameter
                    {
                        Value         = bezeichnung,
                        ParameterName = "p1",
                        SqlDbType     = SqlDbType.NVarChar
                    });
                    cmd.Parameters.Add(new SqlParameter
                    {
                        Value         = kuerzel,
                        ParameterName = "p2",
                        SqlDbType     = SqlDbType.VarChar
                    });
                    cmd.Parameters.Add(new SqlParameter
                    {
                        Value         = string.Join(",", kontrollstelleList),
                        ParameterName = "p3",
                        SqlDbType     = SqlDbType.NVarChar
                    });
                    cmd.Parameters.Add(new SqlParameter
                    {
                        Value         = currentUserId,
                        ParameterName = "p4",
                        SqlDbType     = SqlDbType.NVarChar
                    });
                    cmd.Parameters.Add(new SqlParameter
                    {
                        Value         = ablieferndeStelleId,
                        ParameterName = "p5",
                        SqlDbType     = SqlDbType.Int
                    });

                    cmd.ExecuteNonQuery();
                }
            }

            // Alle Tokens neu zuordnen
            var queryInsertToken = GetQueryForCleanAndInsertTokens(ablieferndeStelleId, tokenIdList);

            DataAccessExtensions.ExecuteQuery(connectionString, queryInsertToken);
        }