public void SaveEvents(Event[] events) { foreach (var eventItem in events) { var mongoEvent = new MongoDbEvent(eventItem); m_eventDataSource.SaveEvent(mongoEvent); if (eventItem.TaskId.HasValue) { var tasksDataSource = new MongoDbTasksDataSource(); var task = tasksDataSource.GetTask(eventItem.TaskId.Value); switch ((InputType)eventItem.InputType) { case InputType.TaskStatusChange: task = ChangeTaskStatus(eventItem, task); break; case InputType.ImageId: task.ImageId = eventItem.Text; break; case InputType.SignatureId: task.SignatureId = eventItem.Text; break; case InputType.UserComment: task.UserComment = eventItem.Text; break; } tasksDataSource.SaveTask(task); } } }
public void SaveEntity(Task[] tasks) { foreach (var task in tasks) { if (TaskIsValid(task)) { task.LastModified = DateTime.Now; m_tasksDataSource.SaveTask(task); if ((TaskStatus)task.TaskStatus == TaskStatus.Created) { var eventManager = new EventManager(); var events = new List <Event>(); events.Add(CreateTaskCreationEvent(task)); events.Add(CreateAssignTaskEvent(task)); eventManager.SaveEvents(events.ToArray()); } } else { throw new ArgumentNullException("The Creation of Task failed."); } } }