protected override void PersistUpdatedItem(IInvoice entity) { ((Entity)entity).UpdatingEntity(); var factory = new InvoiceFactory(entity.Items, entity.Orders); var dto = factory.BuildDto(entity); Database.Update(dto); _invoiceLineItemRepository.SaveLineItem(entity.Items, entity.Key); entity.ResetDirtyProperties(); }
protected override void PersistNewItem(IInvoice entity) { ((Entity)entity).AddingEntity(); var factory = new InvoiceFactory(entity.Items, new OrderCollection()); var dto = factory.BuildDto(entity); Database.Insert(dto); entity.Key = dto.Key; Database.Insert(dto.InvoiceIndexDto); ((Invoice)entity).ExamineId = dto.InvoiceIndexDto.Id; _invoiceLineItemRepository.SaveLineItem(entity.Items, entity.Key); entity.ResetDirtyProperties(); }