public async Task <ActionResult <TSReaction> > GetReaction() { string userID = GlobalFunctions.CmdGetValueFromClaim(User.Claims, "UserID", 10); await TS.AddActivityLog(userID, "Requested Reaction", MethodBase.GetCurrentMethod()); SymmKeyAndIV ClientSymmKeyAndIV = new SymmKeyAndIV { Key = GlobalFunctions.CmdGetValueFromClaim(User.Claims, "ClientSymmKey", 5), IV = GlobalFunctions.CmdGetValueFromClaim(User.Claims, "ClientSymmIV", 10) }; if (!string.IsNullOrEmpty(ClientSymmKeyAndIV.Key)) { TSReactionEntity reactionEntity = await TS.FindReaction(userID, true, string.Empty); if (reactionEntity != null) { TSReaction result = reactionEntity.toTSReaction(); GlobalFunctions.CmdEncryptEntitySymm(result, ClientSymmKeyAndIV); return(result); } else { return(new TSReaction()); } } else { return(new TSReaction()); } }
public CosmosDocReaction(TSReaction tsReaction) { UserID = tsReaction.UserID; ID = tsReaction.ID; LikeOrDislike = tsReaction.LikeOrDislike; DocType = (int)DocTypeEnum.Reaction; GeneratePK(); }
public static async Task CmdAddOrUpdateReaction(TSReaction ParTSReaction) { httpClient.DefaultRequestHeaders.Accept.Clear(); httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", LocalData.CurrJWT); GlobalFunctions.CmdTrimEntity(ParTSReaction); TSReaction tsReactionForSend = GlobalFunctions.CopyObject <TSReaction>(ParTSReaction); LocalData.currReaction = await httpClient.MyPostJsonGetJsonAsync("reaction/add", tsReactionForSend); httpClient.DefaultRequestHeaders.Accept.Clear(); }
public TSReactionEntity(TSReaction tsReaction) { PartitionKey = tsReaction.UserID; RowKey = tsReaction.ReactionID.ToString(); LikeOrDislike = tsReaction.LikeOrDislike; }
public async Task <ActionResult <TSReaction> > Add( [HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = "reaction/add")] HttpRequest req, ILogger log) { List <WebApiUserTypesEnum> localAllowedRoles = new List <WebApiUserTypesEnum> { WebApiUserTypesEnum.Authorized, WebApiUserTypesEnum.Admin }; ClaimsPrincipal User = MyTokenValidator.Authenticate(req, localAllowedRoles, TodosCosmos.LocalFunctions.AddThisCaller(new List <string>(), MethodBase.GetCurrentMethod())); Guid userID = Guid.Parse(LocalFunctions.CmdGetValueFromClaim(User.Claims, "UserID", 10, TodosCosmos.LocalFunctions.AddThisCaller(new List <string>(), MethodBase.GetCurrentMethod()))); TSReaction tsReaction = await MyFromBody <TSReaction> .FromBody(req, TodosCosmos.LocalFunctions.AddThisCaller(new List <string>(), MethodBase.GetCurrentMethod())); tsReaction.UserID = userID; await CosmosAPI.cosmosDBClientActivity.AddActivityLog(userID, "Add or update Reaction", TodosCosmos.LocalFunctions.AddThisCaller(new List <string>(), MethodBase.GetCurrentMethod())); string userName = LocalFunctions.CmdGetValueFromClaim(User.Claims, "UserName", 10, TodosCosmos.LocalFunctions.AddThisCaller(new List <string>(), MethodBase.GetCurrentMethod())); if (!tsReaction.UserID.Equals(Guid.Empty)) { if (userName.Equals("demouser")) { return(new TSReaction()); } } CosmosDocReaction oldReaction = await CosmosAPI.cosmosDBClientReaction.FindReaction(tsReaction.UserID, TodosCosmos.LocalFunctions.AddThisCaller(new List <string>(), MethodBase.GetCurrentMethod())); if (oldReaction is null) { tsReaction.ID = Guid.NewGuid(); bool b = await CosmosAPI.cosmosDBClientReaction.AddReaction(tsReaction, TodosCosmos.LocalFunctions.AddThisCaller(new List <string>(), MethodBase.GetCurrentMethod())); if (b) { if (tsReaction.LikeOrDislike) { await CosmosAPI.cosmosDBClientSetting.UpdateSettingCounter(Guid.Empty, "LikesCount", true, TodosCosmos.LocalFunctions.AddThisCaller(new List <string>(), MethodBase.GetCurrentMethod())); } else { await CosmosAPI.cosmosDBClientSetting.UpdateSettingCounter(Guid.Empty, "DislikesCount", true, TodosCosmos.LocalFunctions.AddThisCaller(new List <string>(), MethodBase.GetCurrentMethod())); } } } else { tsReaction.ID = oldReaction.ID; if (oldReaction.LikeOrDislike != tsReaction.LikeOrDislike) { if (oldReaction.LikeOrDislike) { await CosmosAPI.cosmosDBClientSetting.UpdateSettingCounter(Guid.Empty, "LikesCount", false, TodosCosmos.LocalFunctions.AddThisCaller(new List <string>(), MethodBase.GetCurrentMethod())); } else { await CosmosAPI.cosmosDBClientSetting.UpdateSettingCounter(Guid.Empty, "DislikesCount", false, TodosCosmos.LocalFunctions.AddThisCaller(new List <string>(), MethodBase.GetCurrentMethod())); } bool b = await CosmosAPI.cosmosDBClientReaction.UpdateReaction(tsReaction, TodosCosmos.LocalFunctions.AddThisCaller(new List <string>(), MethodBase.GetCurrentMethod())); if (b) { if (tsReaction.LikeOrDislike) { await CosmosAPI.cosmosDBClientSetting.UpdateSettingCounter(Guid.Empty, "LikesCount", true, TodosCosmos.LocalFunctions.AddThisCaller(new List <string>(), MethodBase.GetCurrentMethod())); } else { await CosmosAPI.cosmosDBClientSetting.UpdateSettingCounter(Guid.Empty, "DislikesCount", true, TodosCosmos.LocalFunctions.AddThisCaller(new List <string>(), MethodBase.GetCurrentMethod())); } } } } CosmosDocReaction reactionEntity = await CosmosAPI.cosmosDBClientReaction.FindReaction(tsReaction.UserID, TodosCosmos.LocalFunctions.AddThisCaller(new List <string>(), MethodBase.GetCurrentMethod())); if (reactionEntity != null) { return(reactionEntity.toTSReaction()); } else { return(new TSReaction()); } }
public async Task <TSReaction> GetReaction(TSReaction tsReaction, List <string> CallTrace) { return((await cosmosDBClientBase.GetItemAsync(new CosmosDocReaction(tsReaction), pkPrefix, LocalFunctions.AddThisCaller(CallTrace, MethodBase.GetCurrentMethod()))).toTSReaction()); }
public async Task <bool> UpdateReaction(TSReaction tsReaction, List <string> CallTrace) { return(await cosmosDBClientBase.UpdateItemAsync(new CosmosDocReaction(tsReaction), LocalFunctions.AddThisCaller(CallTrace, MethodBase.GetCurrentMethod()))); }
public async Task <ActionResult <TSReaction> > AddReaction([FromBody] TSReaction TSReaction) { TSReaction.UserID = GlobalFunctions.CmdGetValueFromClaim(User.Claims, "UserID", 10); await TS.AddActivityLog(TSReaction.UserID, "Add or update Reaction", MethodBase.GetCurrentMethod()); string userName = GlobalFunctions.CmdGetValueFromClaim(User.Claims, "UserName", 10); if (!string.IsNullOrEmpty(TSReaction.UserID)) { if (userName.Equals("demouser")) { return(new TSReaction()); } } TSReactionEntity oldReaction = await TS.FindReaction(TSReaction.UserID, true, string.Empty); if (oldReaction is null) { string a = await TS.GetNewID("AllUsers", "LastReactionID", false); TSReaction.ReactionID = int.Parse(a); bool b = await TS.AddReaction(TSReaction); if (b) { await GlobalFunctions.NotifyAdmin("New Reaction " + userName + " " + TSReaction.LikeOrDislike); if (TSReaction.LikeOrDislike) { await TS.UpdateSettingCounter("AllUsers", "LikesCount", true); } else { await TS.UpdateSettingCounter("AllUsers", "DislikesCount", true); } } } else { if (oldReaction.LikeOrDislike != TSReaction.LikeOrDislike) { if (oldReaction.LikeOrDislike) { await TS.UpdateSettingCounter("AllUsers", "LikesCount", false); } else { await TS.UpdateSettingCounter("AllUsers", "DislikesCount", false); } bool b = await TS.UpdateReaction(TSReaction); if (b) { await GlobalFunctions.NotifyAdmin("Reaction update to " + TSReaction.LikeOrDislike + " " + userName); if (TSReaction.LikeOrDislike) { await TS.UpdateSettingCounter("AllUsers", "LikesCount", true); } else { await TS.UpdateSettingCounter("AllUsers", "DislikesCount", true); } } } } SymmKeyAndIV ClientSymmKeyAndIV = new SymmKeyAndIV { Key = GlobalFunctions.CmdGetValueFromClaim(User.Claims, "ClientSymmKey", 5), IV = GlobalFunctions.CmdGetValueFromClaim(User.Claims, "ClientSymmIV", 10) }; if (!string.IsNullOrEmpty(ClientSymmKeyAndIV.Key)) { TSReactionEntity reactionEntity = await TS.FindReaction(TSReaction.UserID, true, string.Empty); if (reactionEntity != null) { TSReaction result = reactionEntity.toTSReaction(); GlobalFunctions.CmdEncryptEntitySymm(result, ClientSymmKeyAndIV); return(result); } else { return(new TSReaction()); } } else { return(new TSReaction()); } }