/// <summary> /// Stores or update user response details data in Microsoft Azure Table storage. /// </summary> /// <param name="entity">Holds user response detail entity data.</param> /// <returns>A task that represents user response entity data is saved or updated.</returns> private async Task <TableResult> StoreOrUpdateEntityAsync(UserResponseEntity entity) { await this.EnsureInitializedAsync(); TableOperation addOrUpdateOperation = TableOperation.InsertOrReplace(entity); return(await this.ResponsesCloudTable.ExecuteAsync(addOrUpdateOperation)); }
/// <summary> /// Update user request details to Microsoft Azure Table storage. /// </summary> /// <param name="activity">Represents activity for current turn of bot.</param> /// <param name="userRequestDetails">User new request detail.</param> /// <returns>Represent a task queued for operation.</returns> public async Task <bool> UpdateUserRequestDetailsAsync(IInvokeActivity activity, AddUserResponseRequestDetail userRequestDetails) { if (userRequestDetails != null && activity != null) { var userResponse = new UserResponseEntity() { QuestionLabel = userRequestDetails.Label, QuestionText = userRequestDetails.Question, ResponseText = userRequestDetails.Response, UserId = activity.From.AadObjectId, LastUpdatedDate = DateTime.UtcNow, ResponseId = userRequestDetails.ResponseId, }; return(await this.userResponseStorageProvider.UpsertUserResponseAsync(userResponse)); } return(false); }
/// <summary> /// Store user request details to Microsoft Azure Table storage. /// </summary> /// <param name="aadObjectId">Represents Azure active directory object id of user for current turn of bot.</param> /// <param name="userRequestDetails">User new request detail.</param> /// <returns>Represent a task queued for operation.</returns> public async Task <bool> AddNewUserRequestDetailsAsync(string aadObjectId, AddUserResponseRequestDetail userRequestDetails) { if (userRequestDetails != null) { var userResponse = new UserResponseEntity() { QuestionLabel = userRequestDetails.Label, QuestionText = userRequestDetails.Question, ResponseText = userRequestDetails.Response, ResponseId = Guid.NewGuid().ToString(), UserId = aadObjectId, LastUpdatedDate = DateTime.UtcNow, }; return(await this.userResponseStorageProvider.UpsertUserResponseAsync(userResponse)); } return(false); }
public async Task<IActionResult> PostAsync([FromBody] UserResponseEntity userResponseEntity) { try { if (string.IsNullOrEmpty(userResponseEntity?.UserId)) { this.logger.LogError("Error while creating user response details data in Microsoft Azure Table storage."); return this.GetErrorResponse(StatusCodes.Status400BadRequest, "Error while creating user response details data in Microsoft Azure Table storage."); } var claims = this.GetUserClaims(); this.RecordEvent(RecordUserHTTPPostCall, claims.FromId); return this.Ok(await this.userResponseStorageProvider.UpsertUserResponseAsync(userResponseEntity)); } catch (Exception ex) { this.logger.LogError(ex, "Error while making call to user response service."); throw; } }
/// <summary> /// Delete user response details data in Microsoft Azure Table storage. /// </summary> /// <param name="userResponseIds">Holds user response Id data.</param> /// <returns>A task that represents user response entity data is saved or updated.</returns> public async Task <bool> DeleteEntityAsync(IEnumerable <string> userResponseIds) { if (userResponseIds == null) { throw new ArgumentNullException(nameof(userResponseIds)); } await this.EnsureInitializedAsync(); var entity = new UserResponseEntity(); foreach (var userResponseId in userResponseIds) { string responseIdCondition = TableQuery.GenerateFilterCondition(RowKey, QueryComparisons.Equal, userResponseId); TableQuery <UserResponseEntity> query = new TableQuery <UserResponseEntity>().Where(responseIdCondition); var queryResult = await this.ResponsesCloudTable.ExecuteQuerySegmentedAsync(query, null); entity = queryResult?.Results[0]; TableOperation deleteOperation = TableOperation.Delete(entity); var result = await this.ResponsesCloudTable.ExecuteAsync(deleteOperation); } return(true); }
public JsonResult Login(FormCollection formCol) { string loginUrl = string.Empty; try { string domain = ConfigurationManager.AppSettings["domain"].ToString(); loginUrl = string.Format(ConfigurationManager.AppSettings["loginUrl"].ToString(), domain); string userName = formCol["userName"]; string Password = formCol["Password"]; bool result = false; string retmsg = string.Empty; userName = userName.Trim(); if (!string.IsNullOrEmpty(userName) && !string.IsNullOrEmpty(Password)) { UserRequestEntity user = new UserRequestEntity(); user.userCode = userName; user.passWord = Password; user.type = 1; user.sysInfo = "web"; DataDAL biz = new DataDAL(); UserResponseEntity response = new UserResponseEntity(); RetMsg msg = biz.GetUserInfo(loginUrl, user); if (!msg.IsSysError) { response = DataJsonSerializer <UserResponseEntity> .JsonToEntity(msg.Message); if (response.StatusCode == 200) { Session["userCode"] = response.Data.UserCode; Session["userName"] = response.Data.UserName; Session["SessionId"] = response.Data.SessionId; result = true; //sessionId不为空,用户登录成功 } else { retmsg = response.ErrorMsg; } } else { retmsg = msg.Message; } } else { retmsg = "用户名和密码不能为空"; } return(Json(new { Result = result, Msg = retmsg }, JsonRequestBehavior.AllowGet)); } catch (Exception ex) { return(Json(new { Result = false, Msg = ex.Message }, JsonRequestBehavior.AllowGet)); } }
/// <summary> /// Stores or update user response details data in Microsoft Azure Table storage. /// </summary> /// <param name="userResponseEntity">Holds user response detail entity data.</param> /// <returns>A task that represents user response entity data is saved or updated.</returns> public async Task <bool> UpsertUserResponseAsync(UserResponseEntity userResponseEntity) { var result = await this.StoreOrUpdateEntityAsync(userResponseEntity); return(result.HttpStatusCode == (int)HttpStatusCode.NoContent); }