private async Task <bool> UpdateAnimeDetails(IAnimeDetails details, string username, string password, bool canCache = true, bool isupdate = false) { try { var updateRequest = _webHttpWebRequestFactory.Create(); updateRequest.CreateRequest(isupdate ? string.Format(EditShowUrl, details.AnimeId) : string.Format(AddShowUrl, details.AnimeId)); updateRequest.UserAgent = _userAgent; updateRequest.SetCredentials(username, password); updateRequest.Method = WebRequestMethods.Http.Post; updateRequest.ContentType = "application/x-www-form-urlencoded"; var requestStream = updateRequest.GetRequestStream(); var requestWriter = new StreamWriter(requestStream); requestWriter.Write($"data={_jsonMapper.ConvertAnimeDetailsToXml(details)}"); requestWriter.Close(); var response = GetResponse(updateRequest); if (response.Contains("Error")) { Log.Warning("Failed to update {AnimeId} for {username}. Response received was {Response}", details.AnimeId, username, response); return(false); } Log.Information("Successfully completed the update of {AnimeId} for {username}", details.AnimeId, username); return(true); } catch (Exception ex) { Log.Error(ex, "Error occured while trying to update {AnimeId} for {username}", details.AnimeId, username); return(false); } }