Skip to content

Instantly share code, notes, and snippets.

View LazyTarget's full-sized avatar

Peter Åslund LazyTarget

  • Consid AB
  • Stockholm
View GitHub Profile
@LazyTarget
LazyTarget / trello_remove_card_attachments.py
Last active May 5, 2021 18:09
trello-py: Remove all attachments from card
# Requirements (command line)
# https://github.com/tghw/trello-py
#pip install trello --version 0.9.6
# Parameters
#api_key = <API-KEY>
#api_token = <API-TOKEN>
card_id = "Vg0mHtr7"
@LazyTarget
LazyTarget / HasStringValueConverter.cs
Created August 17, 2020 09:38
Json.NET deserialize generic value property as class
public class HasStringValueConverter<TObject> : JsonConverter<TObject>
where TObject : IHasStringValue, new()
{
public override bool CanRead { get; } = true;
public override bool CanWrite { get; } = true;
public override void WriteJson(JsonWriter writer, TObject value, JsonSerializer serializer)
{
writer.WriteValue(value?.Value);
}
@LazyTarget
LazyTarget / SessionDataService.cs
Last active August 16, 2017 12:36
SessionDataService - 4. cancel task
public SessionData GetSessionData(SessionRequest request, CancellationTokenSource cts, TimeSpan timeout)
{
var response = new SessionData();
var ct = cts?.Token ?? CancellationToken.None;
var parallelOptions = new ParallelOptions() { CancellationToken = ct };
var frameAgreement = RunTaskWithTimeout(() => _thirdPartyWs.GetFrameAgreementDetail(request.FrameAgreementId), cts, timeout);
var agreements = frameAgreement.Agreements;
if (ct.CanBeCanceled && ct.IsCancellationRequested)
ct.ThrowIfCancellationRequested();
@LazyTarget
LazyTarget / SessionDataService.cs
Last active August 16, 2017 11:42
SessionDataService - 3. cancel
public SessionData GetSessionData(SessionRequest request, CancellationToken ct)
{
var response = new SessionData();
var parallelOptions = new ParallelOptions() { CancellationToken = ct };
var frameAgreement = _thirdPartyWs.GetFrameAgreementDetail(request.FrameAgreementId);
var agreements = frameAgreement.Agreements;
if (ct.CanBeCanceled && ct.IsCancellationRequested)
ct.ThrowIfCancellationRequested();
Parallel.ForEach(agreements, parallelOptions, (agreement) =>
@LazyTarget
LazyTarget / SessionDataService.cs
Last active August 16, 2017 11:04
SessionDataService - 2. parallel
public SessionData GetSessionData(SessionRequest request)
{
var response = new SessionData();
var frameAgreement = _thirdPartyWs.GetFrameAgreementDetail(request.FrameAgreementId);
var agreements = frameAgreement.Agreements;
Parallel.ForEach(agreements, (agreement) =>
{
var agreementDto = new AgreementDto();
response.Agreements.Add(agreementDto);
@LazyTarget
LazyTarget / SessionDataService.cs
Last active August 16, 2017 11:08
SessionDataService - 1. original
public SessionData GetSessionData(SessionRequest request)
{
var response = new SessionData();
var frameAgreement = _thirdPartyWs.GetFrameAgreementDetail(request.FrameAgreementId);
var agreements = frameAgreement.Agreements;
foreach (var agreement in agreements)
{
var agreementDto = new AgreementDto();
response.Agreements.Add(agreementDto);