Beispiel #1
0
        private ImportRecordTypesResponse ImportRecordTypes(IDictionary <int, ImportRecordMetadata> metadata, LogController controller,
                                                            CustomisationImportResponse response)
        {
            var thisResponse = new ImportRecordTypesResponse();

            var numberToDo      = metadata.Count();
            var numberCompleted = 0;

            for (var i = 0; i < metadata.Count(); i++)
            {
                var keyValue       = metadata.ElementAt(i);
                var excelRow       = keyValue.Key;
                var recordMetadata = keyValue.Value;
                try
                {
                    controller.UpdateProgress(numberCompleted++, numberToDo, string.Format("Importing {0}", EntityTabName));
                    var isUpdate = RecordService.RecordTypeExists(recordMetadata.SchemaName);
                    RecordService.CreateOrUpdate(recordMetadata);
                    if (!isUpdate)
                    {
                        thisResponse.AddCreatedRecordType(recordMetadata.SchemaName);
                        response.AddResponseItem(recordMetadata.GetPrimaryFieldMetadata(), false);
                    }
                    response.AddResponseItem(excelRow, recordMetadata, isUpdate);
                }
                catch (Exception ex)
                {
                    response.AddResponseItem(excelRow, recordMetadata, ex);
                }
            }
            return(thisResponse);
        }
Beispiel #2
0
        private ImportRecordTypesResponse ImportRecordTypes(IDictionary <int, ImportRecordMetadata> metadata, LogController controller,
                                                            CustomisationImportResponse response)
        {
            var thisResponse = new ImportRecordTypesResponse();

            var numberToDo      = metadata.Count();
            var numberCompleted = 0;

            for (var i = 0; i < metadata.Count(); i++)
            {
                var keyValue       = metadata.ElementAt(i);
                var excelRow       = keyValue.Key;
                var recordMetadata = keyValue.Value;
                try
                {
                    controller.UpdateProgress(numberCompleted++, numberToDo, string.Format("Importing {0}", EntityTabName));
                    var isUpdate = RecordService.RecordTypeExists(recordMetadata.SchemaName);
                    RecordService.CreateOrUpdate(recordMetadata);
                    if (!isUpdate)
                    {
                        thisResponse.AddCreatedRecordType(recordMetadata.SchemaName);
                        response.AddImportedItem(recordMetadata.GetPrimaryFieldMetadata(), false);
                    }
                    response.AddImportedItem(excelRow, recordMetadata, isUpdate);
                }
                catch (Exception ex)
                {
                    response.AddResponseItem(excelRow, recordMetadata, ex);
                }
            }
            if (numberCompleted > 0)
            {
                controller.LogLiteral("Publishing Record Types");
                var publishXml = $"<importexportxml><entities>{string.Join("", metadata.Select(m => "<entity>" + m.Value.SchemaName + "</entity>"))}</entities></importexportxml>";
                RecordService.Publish(publishXml);
            }
            return(thisResponse);
        }