/// <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 }; }
/// <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 }; }