private async Task Upsert(RecurrenceEntity pgRecurrence, TaskServiceApp.Entities.Models.PlannedRecurrenceEntity mongoPlannedRecurrence) { mongoPlannedRecurrence.Recurrences.Add(new TaskServiceApp.Entities.Models.RecurrenceEntity { TaskUid = pgRecurrence.Task.Uid, DateTime = DateTime.SpecifyKind(pgRecurrence.DateTime, DateTimeKind.Utc), }); await _mongoPlannedRecurrences.UpsertAsync(mongoPlannedRecurrence); }
private async Task <PlannedRecurrenceEntity> SaveRecurrence(PlannedRecurrenceEntity entity, RecurrenceEntity recurrence) { bool success; do { entity.Recurrences.Add(recurrence); PlannedRecurrenceEntity currentEntity; (success, currentEntity) = await _plannedRecurrenceRepository .TryUpdateVersionPropsAsync(entity, x => x.Recurrences); if (!success) { entity = currentEntity; } } while (!success); return(entity); }