Exemplo n.º 1
0
        public JobSystemDefaultData Build()
        {
            var defaultData = new JobSystemDefaultData();

            _listItemCategories.ForEach(c => defaultData.ListItemCategories.Add(c));
            _jobTypes.ForEach(jt => defaultData.JobTypes.Add(jt));
            _cerificateTypes.ForEach(ct => defaultData.CertificateTypes.Add(ct));
            _jobItemWorkStatusItems.ForEach(si => defaultData.JobItemWorkStatusItems.Add(si));
            _jobItemInitialStatusItems.ForEach(si => defaultData.JobItemInitialStatusItems.Add(si));
            _jobItemStatusItems.ForEach(si => defaultData.JobItemStatusItems.Add(si));
            _jobItemWorkTypes.ForEach(wt => defaultData.JobItemWorkTypes.Add(wt));
            _jobItemCategories.ForEach(c => defaultData.JobItemCategories.Add(c));
            _paymentTerms.ForEach(pt => defaultData.PaymentTerms.Add(pt));
            _taxCodes.ForEach(tc => defaultData.TaxCodes.Add(tc));
            _currencies.ForEach(c => defaultData.Currencies.Add(c));
            _bankDetails.ForEach(bd => defaultData.BankDetails.Add(bd));
            _entityIdLookups.ForEach(e => defaultData.EntityIdLookups.Add(e));
            return(defaultData);
        }
        public void InsertDefaultData(JobSystemDefaultData defaultData)
        {
            if (!NHibernateSession.Current.Transaction.IsActive)
            {
                throw new InvalidOperationException("A transaction must be in progress before default data can be inserted");
            }
            var session = NHibernateSession.Current;

            foreach (var listItemCategory in defaultData.ListItemCategories)
            {
                session.Save(listItemCategory, listItemCategory.Id);
            }
            foreach (var type in defaultData.JobTypes)
            {
                var listItem = type.Item2;
                listItem.Category = session.Get <ListItemCategory>(type.Item1);
                session.Save(listItem);
            }
            foreach (var type in defaultData.CertificateTypes)
            {
                var listItem = type.Item2;
                listItem.Category = session.Get <ListItemCategory>(type.Item1);
                session.Save(listItem);
            }
            foreach (var location in defaultData.JobItemLocations)
            {
                var listItem = location.Item2;
                listItem.Category = session.Get <ListItemCategory>(location.Item1);
                session.Save(listItem);
            }
            foreach (var location in defaultData.JobItemInitialLocations)
            {
                var listItem = location.Item2;
                listItem.Category = session.Get <ListItemCategory>(location.Item1);
                session.Save(listItem);
            }
            foreach (var statusItem in defaultData.JobItemWorkStatusItems)
            {
                var listItem = statusItem.Item2;
                listItem.Category = session.Get <ListItemCategory>(statusItem.Item1);
                session.Save(listItem);
            }
            foreach (var statusItem in defaultData.JobItemInitialStatusItems)
            {
                var listItem = statusItem.Item2;
                listItem.Category = session.Get <ListItemCategory>(statusItem.Item1);
                session.Save(listItem);
            }
            foreach (var statusItem in defaultData.JobItemStatusItems)
            {
                var listItem = statusItem.Item2;
                listItem.Category = session.Get <ListItemCategory>(statusItem.Item1);
                session.Save(listItem);
            }
            foreach (var workType in defaultData.JobItemWorkTypes)
            {
                var listItem = workType.Item2;
                listItem.Category = session.Get <ListItemCategory>(workType.Item1);
                session.Save(listItem);
            }
            foreach (var category in defaultData.JobItemCategories)
            {
                var listItem = category.Item2;
                listItem.Category = session.Get <ListItemCategory>(category.Item1);
                session.Save(listItem);
            }
            foreach (var paymentTerm in defaultData.PaymentTerms)
            {
                var listItem = paymentTerm.Item2;
                listItem.Category = session.Get <ListItemCategory>(paymentTerm.Item1);
                session.Save(listItem);
            }
            foreach (var taxCode in defaultData.TaxCodes)
            {
                session.Save(taxCode);
            }
            foreach (var currency in defaultData.Currencies)
            {
                session.Save(currency);
            }
            foreach (var bankDetails in defaultData.BankDetails)
            {
                session.Save(bankDetails);
            }
            foreach (var entityIdLookup in defaultData.EntityIdLookups)
            {
                session.Save(entityIdLookup);
            }
        }