/// <summary>
        /// The actual Work to be done.
        /// </summary>
        protected override void Execute()
        {
            List <transcription> transcriptions = TranscriptionRepository.GetAll().ToList();

            List <string> codes = transcriptions.Select(s => s.ProjectCode.ToLower()).ToList();

            List <predefineduser> predefinedInterviewers = PredefineUserRepository.GetPredefinedUsers(1);

            List <string> importInterviewerList = new List <string>();

            int duplicateRecordCount = 0, insertedRecordCount = 0;

            foreach (TranscriptionModel item in Request.TranscriptionModels)
            {
                if (!codes.Exists(s => s.Contains(item.ProjectCode.ToLower())))
                {
                    transcription transcription = Util.ConvertToTranscription(item);

                    transcription.TranscriptStatus = true;

                    TranscriptionRepository.Add(transcription);
                    TranscriptionRepository.Save();

                    if (!string.IsNullOrEmpty(item.Interviewer))
                    {
                        string[] splits = item.Interviewer.Split(';');

                        foreach (string str in splits)
                        {
                            if (!importInterviewerList.Contains(str.Trim()))
                            {
                                importInterviewerList.Add(str.Trim());
                            }
                        }
                    }

                    insertedRecordCount++;
                }
                else
                {
                    duplicateRecordCount++;
                }
            }

            List <string> list = predefinedInterviewers.Select(item => item.Name).ToList();

            foreach (string item in importInterviewerList.Except(list))
            {
                predefineduser interviewer = new predefineduser()
                {
                    UserType = 1, Name = item
                };

                PredefineUserRepository.Add(interviewer);
                PredefineUserRepository.Save();
            }

            Response = new ResponseModel()
            {
                ErrorMessage = string.Format(" {0} record(s) were \n successfully imported and \n found" +
                                             " {1} duplicate records.", insertedRecordCount, duplicateRecordCount),
                IsOperationSuccess = true
            };
        }
Ejemplo n.º 2
0
        /// <summary>
        /// The actual Work to be done.
        /// </summary>
        protected override void Execute()
        {
            MainFormModel mainFormModel = null;

            List <RepositoryModel> repositoryList   = new List <RepositoryModel>();
            List <CollectionModel> newlist          = new List <CollectionModel>();
            List <SubseryModel>    newSubseriesList = new List <SubseryModel>();
            List <SubjectModel>    subjectList      = new List <SubjectModel>();
            List <KeywordModel>    keywordList      = new List <KeywordModel>();
            List <UserTypeModel>   userTypes        = new List <UserTypeModel>();

            //if (Request.IsStartup)
            //{
            mainFormModel = new MainFormModel()
            {
                BrowseRecordCount            = TranscriptionRepository.GetAll().Count(),
                TranscrptionQueueRecordCount = TranscriptionRepository.FindBy(t => t.TranscriptStatus == false).Count(),
            };

            // collect repository details.
            List <repository> repositories = RepositoryRepository.GetRepositoriess();

            foreach (repository item in repositories)
            {
                repositoryList.Add(Util.ConvertToRepositoryModel(item));
            }

            // collect collection details.
            List <collection> collections = CollectionRepository.GetCollections().OrderBy(c => c.CollectionName).ToList();

            foreach (collection item in collections)
            {
                newlist.Add(Util.ConvertToCollectionModel(item, repositories.First(c => c.Id == item.RepositoryId).RepositoryName));
            }

            // collect subseries details.
            foreach (subsery item in SubseryRepository.GetSubseries().OrderBy(s => s.SubseriesName))
            {
                newSubseriesList.Add(Util.ConvertToSubseryModel(item, collections.FirstOrDefault(s => s.Id == item.CollectionId).CollectionName));
            }

            // collect subject details.
            foreach (subject item in SubjectRepository.GetSubjects())
            {
                subjectList.Add(Util.ConvertToSubjectModel(item));
            }

            // collect keywords details.
            foreach (keyword item in KeywordRepository.GetKeywords())
            {
                keywordList.Add(Util.ConvertToKeywordModel(item));
            }

            // collect user types details.
            foreach (usertype item in UserTypeRepository.GetAll())
            {
                userTypes.Add(Util.ConvertToUsertypeModel(item));
            }
            //}

            List <PredefinedUserModel> predefineUserList = Util.ConvertToPredefinedUserModel(PredefineUserRepository.GetPredefinedUsers());

            List <string> audioEquipmentsUsed = AudioEquipmentUsedRepository.List();

            List <string> videoEquipmentsUsed = VideoEquipmentUsedRepository.List();

            Response = new ResponseModel()
            {
                Repositories = repositoryList,
                Subseries    = newSubseriesList,
                Collections  = newlist,
                Subjects     = subjectList,
                Keywords     = keywordList,

                PredefinedUsers     = predefineUserList,
                AudioEquipmentsUsed = audioEquipmentsUsed,
                VideoEquipmentsUsed = videoEquipmentsUsed,
                UserTypes           = userTypes,

                MainFormModel      = mainFormModel,
                IsOperationSuccess = true
            };
        }