コード例 #1
0
        private async Task <string> GetIdOfMnemo(MnemoTransferDto mnemo)
        {
            string            query      = "SELECT id FROM MnemoTable WHERE userId=@userId AND word=@word AND translate=@translate";
            DynamicParameters parameters = new DynamicParameters();

            parameters.Add("@userId", mnemo.UserId, DbType.String);
            parameters.Add("@word", mnemo.Word, DbType.String);
            parameters.Add("@translate", mnemo.Translate, DbType.String);
            return((await this._context.ConnectionContext.QueryAsync(query, parameters)).FirstOrDefault().id);
        }
コード例 #2
0
        private static bool IsForToday(MnemoTransferDto mnemo)
        {
            var daysPassed = (DateTime.Now - mnemo.Date).TotalDays;

            if (daysPassed < 7 || (daysPassed > 14 && daysPassed < 16) || (daysPassed > 30 && daysPassed < 31))
            {
                return(true);
            }

            return(false);
        }
コード例 #3
0
        public async Task SetReadStatus(MnemoTransferDto mnemo)
        {
            string            query      = @"UPDATE MnemoTable SET isReadToday='" + true.ToString().ToLowerInvariant() + "' WHERE userId=@userId AND word=@word AND translate=@translate";
            DynamicParameters parameters = new DynamicParameters();

            parameters.Add("@userId", mnemo.UserId, DbType.String);
            parameters.Add("@word", mnemo.Word, DbType.String);
            parameters.Add("@translate", mnemo.Translate, DbType.String);
            this._readMnemo.AddToday(await this.GetIdOfMnemo(mnemo));
            await this.queryAsync(query, parameters);
        }
コード例 #4
0
        public async Task <IActionResult> CreateMnemo(MnemoTransferDto mnemo)
        {
            if (mnemo is null)
            {
                return(BadRequest("Didn't get mnemo."));
            }

            try
            {
                mnemo.Date = DateTime.Now;
                return(Created("current", await this._repos.CreateMnemo(mnemo)));
            }
            catch (ArgumentException exc)
            {
                return(BadRequest(exc.Message));
            }
        }
コード例 #5
0
        public async Task <IActionResult> SetRead(MnemoTransferDto mnemo)
        {
            if (mnemo is null)
            {
                return(BadRequest("Didn't get mnemo."));
            }

            try
            {
                await this._repos.SetReadStatus(mnemo);

                return(Ok());
            }
            catch (ArgumentException ex)
            {
                return(BadRequest(ex.Message));
            }
        }
コード例 #6
0
        public async Task <MnemoTransferDto> CreateMnemo(MnemoTransferDto mnemo)
        {
            string query = @"INSERT INTO MnemoTable(id, userId, word, context, translate, pictureUrl, mnemo, date)" +
                           " VALUES(@id, @userId, @word, @context, @translate, @pictureUrl, @mnemo, @date)";
            DynamicParameters parameters = new DynamicParameters();

            parameters.Add("@id", Guid.NewGuid().ToString(), DbType.String);
            parameters.Add("@userId", mnemo.UserId, DbType.String);
            parameters.Add("@word", mnemo.Word, DbType.String);
            parameters.Add("@context", mnemo.Context, DbType.String);
            parameters.Add("@translate", mnemo.Translate, DbType.String);
            parameters.Add("@pictureUrl", mnemo.PictureUrl, DbType.String);
            parameters.Add("@mnemo", mnemo.Mnemo, DbType.String);
            parameters.Add("@date", mnemo.Date.ToString(CultureInfo.CurrentCulture), DbType.String);
            await this.queryAsync(query, parameters);

            return(mnemo);
        }