protected override void PersistNewItem(Task entity) { entity.AddingEntity(); //ensure the task type exists var taskType = Database.SingleOrDefault <TaskTypeDto>("Where alias = @alias", new { alias = entity.TaskType.Alias }); if (taskType == null) { var taskTypeId = Convert.ToInt32(Database.Insert(new TaskTypeDto { Alias = entity.TaskType.Alias })); entity.TaskType.Id = taskTypeId; } else { entity.TaskType.Id = taskType.Id; } var factory = new TaskFactory(); var dto = factory.BuildDto(entity); var id = Convert.ToInt32(Database.Insert(dto)); entity.Id = id; entity.ResetDirtyProperties(); }
protected override void PersistUpdatedItem(Task entity) { entity.UpdatingEntity(); var factory = new TaskFactory(); var dto = factory.BuildDto(entity); Database.Update(dto); entity.ResetDirtyProperties(); }