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); }
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); }
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); }
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)); } }
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)); } }
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); }