Example #1
0
        /// <summary>
        /// Insert user into Users table of DB
        /// </summary>
        /// <param name="usersInputParams">It contains emailId of users</param>
        /// <returns>UserId:- Unique id of user</returns>
        public int?InsertUsersInfo(UsersInputParams usersInputParams)
        {
            int?   lastInsertedId = -1;
            string query          = $@"insert into Users (EmailId)
                                          values (@v_emailId);
                              select last_insert_rowid();";
            var    dbParams       = GetDbParamsFromEmailId(usersInputParams.EmailId);

            using (var connection = new SQLiteConnection(_connString))
            {
                lastInsertedId = connection.Query <int>(query, dbParams, commandType: CommandType.Text)?.FirstOrDefault();
            }
            return(lastInsertedId);
        }
Example #2
0
        public IHttpActionResult Post([FromBody] UsersInputParams usersInputParams)
        {
            var usersInfo = _userBL.GetUsersInfoFromEmailId(usersInputParams.EmailId);

            if (usersInfo?.EmailId != null)
            {
                return(Ok(usersInfo.UserId));
            }
            var lastInsertedId = _userBL.InsertUsersInfo(usersInputParams);

            if (lastInsertedId != null && lastInsertedId > 0)
            {
                return(Ok(lastInsertedId));
            }
            else
            {
                return(BadRequest());
            }
        }
Example #3
0
 /// <summary>
 /// It will insert user info into databse
 /// </summary>
 /// <param name="usersInputParams">UserInfo like emailId</param>
 /// <returns>UserId:- unique id of user</returns>
 public int?InsertUsersInfo(UsersInputParams usersInputParams)
 {
     //No need to go through cache layer as we are inserting new object(databse row) and there is nothing in cache
     //although we can go through cache layer, if we want to store object in cache as soon as we add data into database
     return(_usersRepository.InsertUsersInfo(usersInputParams));
 }