Example #1
0
        public async Task <ActionResult <int> > PostClientaccount(Clientaccount clientaccount)
        {
            var cmd = _context.Database.GetDbConnection().CreateCommand();

            cmd.CommandText = "ADD_CLIENT_ACCOUNT";

            cmd.CommandType = CommandType.StoredProcedure;

            var idparam = new SqlParameter("ACCOUNTID", SqlDbType.Int)
            {
                Direction = ParameterDirection.Output
            };

            cmd.Parameters.Add(new SqlParameter("PACCTNAME", clientaccount.Acctname));
            cmd.Parameters.Add(new SqlParameter("PBALANCE", clientaccount.Balance));
            cmd.Parameters.Add(new SqlParameter("PCREDITLIMIT", clientaccount.Creditlimit));
            cmd.Parameters.Add(idparam);

            await cmd.Connection.OpenAsync();

            await cmd.ExecuteNonQueryAsync();

            await cmd.Connection.CloseAsync();

            return((int)idparam.Value);
        }
Example #2
0
        public async Task <ActionResult <Clientaccount> > GetClientaccount(int id)
        {
            Clientaccount clientaccount;

            var cmd = _context.Database.GetDbConnection().CreateCommand();

            cmd.CommandText = "GET_CLIENT_ACCOUNT_BY_ID";

            cmd.CommandType = CommandType.StoredProcedure;

            var acctnameparam = new SqlParameter("@ACCTNAME", SqlDbType.NVarChar, 100)
            {
                Direction = ParameterDirection.Output
            };
            var balanceparam = new SqlParameter("@BALANCE", SqlDbType.Money)
            {
                Direction = ParameterDirection.Output
            };
            var creditparam = new SqlParameter("@CREDITLIMIT", SqlDbType.Money)
            {
                Direction = ParameterDirection.Output
            };

            cmd.Parameters.Add(new SqlParameter("PACCOUNTID", id));
            cmd.Parameters.AddRange(new SqlParameter[] { acctnameparam, balanceparam, creditparam });

            await cmd.Connection.OpenAsync();

            await cmd.ExecuteNonQueryAsync();

            using (DbDataReader reader = cmd.ExecuteReader())
            {
                clientaccount = new Clientaccount()
                {
                    Accountid = id
                };

                while (reader.Read())
                {
                    clientaccount.Authorisedperson.Add(new Authorisedperson()
                    {
                        Userid    = (int)reader["USERID"],
                        Firstname = (string)reader["FIRSTNAME"],
                        Surname   = (string)reader["SURNAME"],
                        Email     = (string)reader["EMAIL"],
                        Password  = (string)reader["PASSWORD"],
                        Accountid = (int)reader["ACCOUNTID"]
                    });
                }
            }

            await cmd.Connection.CloseAsync();

            clientaccount.Acctname    = (string)acctnameparam.Value;
            clientaccount.Balance     = (decimal)balanceparam.Value;
            clientaccount.Creditlimit = (decimal)creditparam.Value;

            return(clientaccount);
        }