private IProject ReadProject(IEnumerable <IService> services, XmlReader reader) { var elements = new List <IElement>(); ICurentProjectService currentProject = services.GetService <ICurentProjectService>(); var projects = ReadElements <IProjectFactory>(services, XmlIds.Projects, XmlIds.Project, reader); var firstProject = projects.First() as IProject; currentProject.CurrentProject = firstProject; elements.AddRange(ReadElements <IPaymentIntervalFactory>(services, XmlIds.Intervals, XmlIds.Interval, reader)); elements.AddRange(ReadElements <IPayPatternFactory>(services, XmlIds.PayPatterns, XmlIds.PayPattern, reader)); elements.AddRange(ReadElements <ICategoryFactory>(services, XmlIds.Categories, XmlIds.Category, reader)); elements.AddRange(ReadElements <IPaymentFactory>(services, XmlIds.Payments, XmlIds.Payment, reader)); elements.AddRange(ReadElements <IMonthFactory>(services, XmlIds.Months, XmlIds.Month, reader)); elements.AddRange(ReadElements <ITransactionFactory>(services, XmlIds.Transactions, XmlIds.Transaction, reader)); elements.AddRange(ReadElements <IYearFactory>(services, XmlIds.Years, XmlIds.Year, reader)); reader.Close(); ConnectIdsToElements(firstProject); return(firstProject); }
public ElementFactory(ICurentProjectService currentProject) { Project = currentProject; }