Пример #1
0
 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);
 }
Пример #2
0
        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);
        }