public async Task DeleteFavoriteDistributionListMemberDataAsync([FromBody] FavoriteDistributionListMemberData favoriteDistributionListMemberData) { try { string userPrincipalName = this.HttpContext.User.FindFirst(ClaimTypes.Upn)?.Value.ToLower(); if (string.IsNullOrEmpty(userPrincipalName)) { this.telemetryClient.TrackTrace($"There's no user principal name claim.", SeverityLevel.Error); this.HttpContext.Response.ContentType = "text/plain"; this.HttpContext.Response.StatusCode = (int)HttpStatusCode.Unauthorized; await this.HttpContext.Response.WriteAsync("There's no user principal name claim."); } favoriteDistributionListMemberData.UserPrincipalName = userPrincipalName; FavoriteDistributionListMemberTableEntity favoriteDistributionListMemberDataEntity = await this.favoriteDistributionListMemberDataRepository.GetAsync( favoriteDistributionListMemberData.UserPrincipalName.ToLower(), favoriteDistributionListMemberData.PinnedUserId + favoriteDistributionListMemberData.DistributionListID); if (favoriteDistributionListMemberDataEntity != null) { await this.favoriteDistributionListMemberDataRepository.DeleteAsync(favoriteDistributionListMemberDataEntity); this.telemetryClient.TrackEvent($"Deleted favorite user : {JsonConvert.SerializeObject(favoriteDistributionListMemberData)}"); } else { this.telemetryClient.TrackEvent($"Did not find favorite user to delete : {JsonConvert.SerializeObject(favoriteDistributionListMemberData)}"); } this.HttpContext.Response.ContentType = "text/plain"; this.HttpContext.Response.StatusCode = (int)HttpStatusCode.OK; await this.HttpContext.Response.WriteAsync("Unpinned user successfully."); } catch (Exception ex) { this.telemetryClient.TrackTrace($"An error occurred in DeleteFavoriteDistributionListMemberDataAsync: {ex.Message}, Parameters:{JsonConvert.SerializeObject(favoriteDistributionListMemberData)}", SeverityLevel.Error); this.telemetryClient.TrackException(ex); this.HttpContext.Response.ContentType = "text/plain"; this.HttpContext.Response.StatusCode = (int)HttpStatusCode.InternalServerError; await this.HttpContext.Response.WriteAsync("An error occurred while calling the downstream API\n" + ex.Message); } }
public async Task <IActionResult> DeleteFavoriteDistributionListMemberDataAsync([FromBody] FavoriteDistributionListMemberData favoriteDistributionListMemberData) { try { favoriteDistributionListMemberData.UserObjectId = this.UserObjectId; FavoriteDistributionListMemberTableEntity favoriteDistributionListMemberDataEntity = await this.favoriteDistributionListMemberDataRepository .GetFavoriteMemberFromStorageAsync(favoriteDistributionListMemberData.PinnedUserId + favoriteDistributionListMemberData.DistributionListId, favoriteDistributionListMemberData.UserObjectId); if (favoriteDistributionListMemberDataEntity != null) { await this.favoriteDistributionListMemberDataRepository.DeleteFavoriteMemberFromStorageAsync(favoriteDistributionListMemberDataEntity); } return(this.Ok()); } catch (Exception ex) { this.logger.LogError(ex, $"An error occurred in DeleteFavoriteDistributionListMemberDataAsync: {ex.Message}"); throw; } }