Beispiel #1
0
        /// <summary>
        /// Views the subseries.
        /// </summary>
        private void ViewSubseries()
        {
            RequestModel requestModel = new RequestModel()
            {
                SubseriesId = SubseriesId,
            };

            ResponseModel response = App.BaseUserControl.InternalService.GetSubseies(requestModel);

            if (response.IsOperationSuccess)
            {
                SubseryModel subseries = response.SubseriesModel;

                ((SubseriesUIModel)DataContext).SelectedCollection = subseries.CollectionId.ToString();
                SubseriesNameTextBox.Text = subseries.SubseryName;

                NumberTextBox.Text           = subseries.Number;
                DatesTextBox.Text            = subseries.Dates;
                NotesTextBox.Text            = subseries.Note;
                SubjectTextBox.Text          = subseries.Subjects;
                KeywordsTextBox.Text         = subseries.Keywords;
                DescriptionTextBox.Text      = subseries.Description;
                ScopeAndContentTextBox.Text  = subseries.ScopeAndContent;
                CustodialHistoryTextBox.Text = subseries.CustodialHistory;
                SizeTextBox.Text             = subseries.Size;
                AcquisitioninfoTextBox.Text  = subseries.Acquisitioninfo;
                LanguageTextBox.Text         = subseries.Language;

                PreservationNoteTextBox.Text   = subseries.PreservationNote;
                RightsTextBox.Text             = subseries.Rights;
                AccessRestrictionsTextBox.Text = subseries.AccessRestrictions;
                PublicationRightsTextBox.Text  = subseries.PublicationRights;

                PreferredCitationTextBox.Text = subseries.PreferredCitation;
                RelatedCollectionTextBox.Text = subseries.RelatedCollection;
                SeparatedMaterialTextBox.Text = subseries.SeparatedMaterial;
                OriginalLocationTextBox.Text  = subseries.OriginalLocation;
                CopiesLocationTextBox.Text    = subseries.CopiesLocation;
                PublicationNoteTextBox.Text   = subseries.PublicationNote;
                CreatorTextBox.Text           = subseries.Creator;
                ContributorsTextBox.Text      = subseries.Contributors;
                ProcessedByTextBox.Text       = subseries.ProcessedBy;
                SponsorsTextBox.Text          = subseries.Sponsors;
            }
            else
            {
                App.ShowMessage(false, response.ErrorMessage);
            }
        }
Beispiel #2
0
        private SubseryModel GetSubseriesModel(bool isNewRecord)
        {
            SubseryModel subseryModel = new SubseryModel()
            {
                CollectionId     = short.Parse(((SubseriesUIModel)DataContext).SelectedCollection),
                SubseryName      = SubseriesNameTextBox.Text,
                Number           = NumberTextBox.Text,
                Dates            = DatesTextBox.Text,
                Note             = NotesTextBox.Text,
                Subjects         = SubjectTextBox.Text,
                Keywords         = KeywordsTextBox.Text,
                Description      = DescriptionTextBox.Text,
                ScopeAndContent  = ScopeAndContentTextBox.Text,
                CustodialHistory = CustodialHistoryTextBox.Text,
                Size             = SizeTextBox.Text,
                Acquisitioninfo  = AcquisitioninfoTextBox.Text,
                Language         = LanguageTextBox.Text,

                PreservationNote   = PreservationNoteTextBox.Text,
                Rights             = RightsTextBox.Text,
                AccessRestrictions = AccessRestrictionsTextBox.Text,
                PublicationRights  = PublicationRightsTextBox.Text,

                PreferredCitation = PreferredCitationTextBox.Text,
                RelatedCollection = RelatedCollectionTextBox.Text,
                SeparatedMaterial = SeparatedMaterialTextBox.Text,
                OriginalLocation  = OriginalLocationTextBox.Text,
                CopiesLocation    = CopiesLocationTextBox.Text,
                PublicationNote   = PublicationNoteTextBox.Text,
                Creator           = CreatorTextBox.Text,
                Contributors      = ContributorsTextBox.Text,
                ProcessedBy       = ProcessedByTextBox.Text,
                Sponsors          = SponsorsTextBox.Text
            };

            if (!isNewRecord)
            {
                subseryModel.Id = SubseriesId;
            }

            return(subseryModel);
        }
        public static subsery ConvertToSubsery(SubseryModel subseryModel)
        {
            return(new subsery()
            {
                Id = subseryModel.Id,
                CollectionId = subseryModel.CollectionId,
                SubseriesName = subseryModel.SubseryName,
                Number = subseryModel.Number,
                Dates = subseryModel.Dates,
                Note = subseryModel.Note,
                Subjects = subseryModel.Subjects,
                Keywords = subseryModel.Keywords,

                Description = subseryModel.Description,
                ScopeAndContent = subseryModel.ScopeAndContent,
                CustodialHistory = subseryModel.CustodialHistory,
                Size = subseryModel.Size,
                Acquisitioninfo = subseryModel.Acquisitioninfo,
                Language = subseryModel.Language,

                PreservationNote = subseryModel.PreservationNote,
                Rights = subseryModel.Rights,
                AccessRestrictions = subseryModel.AccessRestrictions,
                PublicationRights = subseryModel.PublicationRights,
                PreferredCitation = subseryModel.PreferredCitation,
                RelatedCollection = subseryModel.RelatedCollection,
                SeparatedMaterial = subseryModel.SeparatedMaterial,
                OriginalLocation = subseryModel.OriginalLocation,
                CopiesLocation = subseryModel.CopiesLocation,
                PublicationNote = subseryModel.PublicationNote,
                Creator = subseryModel.Creator,
                Contributors = subseryModel.Contributors,
                ProcessedBy = subseryModel.ProcessedBy,
                Sponsors = subseryModel.Sponsors,
                CreatedBy = subseryModel.CreatedBy,
                CreatedDate = subseryModel.CreatedDate,
                UpdatedBy = subseryModel.UpdatedBy,
                UpdatedDate = subseryModel.UpdatedDate,
            });
        }
Beispiel #4
0
        /// <summary>
        /// Handles the MouseDoubleClick event of the SubseriesListViewListView control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="MouseButtonEventArgs"/> instance containing the event data.</param>
        void SubseriesListViewListView_MouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
            UIElement clicked = e.OriginalSource as UIElement;

            string name = ((FrameworkElement)clicked).Name;

            if (clicked != null && !string.IsNullOrEmpty(name))
            {
                string[] words = name.Split('_');

                if (words.Length > 1)
                {
                    BackToListButton.Visibility = Visibility.Visible;

                    SubseryModel subseryModel = ((FrameworkElement)e.OriginalSource).DataContext as SubseryModel;

                    MainGrid.Visibility = Visibility.Hidden;

                    cc.Content = new ModifySubseries(subseryModel.Id);
                }
            }
        }
        /// <summary
        /// The actual Work to be done.
        /// </summary>
        protected override void Execute()
        {
            List <CollectionModel> newlist          = new List <CollectionModel>();
            List <SubseryModel>    newSubseriesList = new List <SubseryModel>();
            SubseryModel           subseryModel     = new SubseryModel();

            List <collection> collections = CollectionRepository.GetCollections().OrderBy(o => o.CollectionName).ToList();

            if (this.Request.SubseriesId > 0)
            {
                subsery subsery = SubseryRepository.FirstOrDefault(s => s.Id == this.Request.SubseriesId);

                subseryModel = Util.ConvertToSubseryModel(subsery, collections.FirstOrDefault(s => s.Id == subsery.CollectionId).CollectionName);
            }
            else
            {
                List <SubseryModel> newSubseriesUnorderedList = new List <SubseryModel>();

                foreach (collection item in collections)
                {
                    newlist.Add(Util.ConvertToCollectionModel(item, string.Empty));
                }

                foreach (subsery item in SubseryRepository.GetSubseries())
                {
                    newSubseriesUnorderedList.Add(Util.ConvertToSubseryModel(item, collections.FirstOrDefault(s => s.Id == item.CollectionId).CollectionName));
                }

                newSubseriesList = newSubseriesUnorderedList.OrderBy(i => i.CollectionName).ThenBy(i => i.SubseryName).ToList();
            }

            Response = new ResponseModel()
            {
                Subseries          = newSubseriesList,
                Collections        = newlist,
                SubseriesModel     = subseryModel,
                IsOperationSuccess = true
            };
        }
        /// <summary>
        /// Handles the Click event of the UploadButton control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="RoutedEventArgs" /> instance containing the event data.</param>
        private void UploadButton_Click(object sender, RoutedEventArgs e)
        {
            ClearError();

            string filePath = fileUploadLabel.Content.ToString();

            try
            {
                if (!string.IsNullOrEmpty(filePath))
                {
                    fileUploadLabel.Content = filePath;

                    DataTable dt = ReadExcelFile(filePath);

                    if (IsColumnExists(dt))
                    {
                        List <TranscriptionModel> transcriptionModels = new List <TranscriptionModel>();

                        int recordcount = 1;


                        foreach (DataRow item in dt.Rows)
                        {
                            string interviewee = GetStringValue(item, IntervieweeColumnName);

                            try
                            {
                                recordcount++;

                                // Reading and matching the collection name
                                string collectionName = GetStringValue(item, CollectionColumnName);

                                CollectionModel collection = App.BaseUserControl.Collections.FirstOrDefault(c => c.CollectionName.Contains(collectionName));

                                short collectionId = 0;

                                if (collection != null)
                                {
                                    collectionId = (short)collection.Id;
                                }
                                else
                                {
                                    throw new Exception("collection not found '" + collectionName + "'");
                                }

                                // Reading and matching the subseries name
                                List <SubseryModel> subseriesList = App.BaseUserControl.Subseries.FindAll(s => s.CollectionId == collectionId);
                                int subseriesId = 0;
                                if (subseriesList != null)
                                {
                                    string subseriesName = GetStringValue(item, SubseriesColumnName);

                                    SubseryModel subseries = subseriesList.FirstOrDefault(c => c.SubseryName.Contains(subseriesName));

                                    SubseryModel nAsubseries = subseriesList.FirstOrDefault(s => s.SubseryName.Equals("N/A"));

                                    if (subseries != null)
                                    {
                                        subseriesId = (short)subseries.Id;
                                    }
                                    else if (nAsubseries != null)
                                    {
                                        subseriesId = (short)nAsubseries.Id;
                                    }
                                    else
                                    {
                                        throw new Exception("subseries not found '" + subseriesName + "'");
                                    }
                                }

                                TranscriptionModel transcriptionModel = new TranscriptionModel()
                                {
                                    CollectionId         = collectionId,
                                    ConvertToDigitalDate = GetDateValue(item, DateDigitalColumnName),
                                    CoverageSpatial      = GetStringValue(item, CoverageSpatialColumnName),
                                    CoverageTemporal     = GetStringValue(item, CoverageTemporalColumnName),
                                    CreatedBy            = App.BaseUserControl.UserModel.UserId,
                                    CreatedDate          = DateTime.Now,
                                    Description          = GetStringValue(item, DescriptionColumnName),
                                    TranscriptNote       = GetStringValue(item, TranscriptionNotesColumnName),
                                    EquipmentNumber      = GetStringValue(item, EquipmentNumberColumnName),
                                    MetadataDraft        = GetStringValue(item, MetadataDraftColumnName),

                                    Format = GetStringValue(item, FormatColumnName),

                                    Interviewee         = interviewee,
                                    Interviewer         = GetStringValue(item, InterviewerColumnName),
                                    InterviewerNote     = GetStringValue(item, InterviewerNotesColumnName),
                                    IsAccessMediaStatus = CheckStringContains(GetStringValue(item, AccessMediaStatusColumnName), "complete"),

                                    IsBornDigital      = GetBoolValue(item, BornDigitalColumnName),
                                    IsConvertToDigital = GetBoolValue(item, ConvertedColumnName),
                                    IsOnline           = GetBoolValue(item, OnlineColumnName),
                                    IsPriority         = false,
                                    IsRestriction      = GetBoolValue(item, RestrictionsColumnName),
                                    RestrictionNote    = GetStringValue(item, RestrictionNotesColumnName),
                                    IsDarkArchive      = false,
                                    AudioEquipmentUsed = GetStringValue(item, AudioEquipmentUsedColumnName),
                                    VideoEquipmentUsed = GetStringValue(item, VideoEquipmentUsedColumnName),

                                    IsVideoFormat = !string.IsNullOrEmpty(GetStringValue(item, VideoEquipmentUsedColumnName)) ? true : false,
                                    IsAudioFormat = !string.IsNullOrEmpty(GetStringValue(item, AudioEquipmentUsedColumnName)) ? true : false,

                                    IsRosetta     = false,
                                    IsRosettaForm = false,
                                    Keywords      = GetStringValue(item, KeywordColumnName),
                                    Language      = GetStringValue(item, LanguageColumnName),

                                    OriginalMediumType = 1,
                                    ProjectCode        = GetStringValue(item, ProjectCodeColumnName),
                                    Publisher          = GetStringValue(item, PublisherColumnName),

                                    ReleaseForm         = GetBoolValue(item, ReleaseFormColumnName),
                                    Rights              = GetStringValue(item, RightsColumnName),
                                    ScopeAndContents    = GetStringValue(item, ScopeAndContentsColumnName),
                                    Subject             = GetStringValue(item, SubjectColumnName),
                                    SubseriesId         = subseriesId,
                                    TranscriberAssigned = GetStringValue(item, TranscriberAssignedColumnName),
                                    TranscriptStatus    = true,
                                    Place = GetStringValue(item, LocationOfInterviewColumnName),
                                    Title = GetStringValue(item, TitleColumnName),
                                    Type  = GetStringValue(item, TypeColumnName),
                                    InterviewerDescription = GetStringValue(item, InterviewerDescriptionColumnName),
                                    InterviewerKeywords    = GetStringValue(item, InterviewerKeywordsColumnName),
                                    InterviewerSubjects    = GetStringValue(item, InterviewerSubjectsColumnName),

                                    RelationIsPartOf = GetStringValue(item, RelationIsPartOfColumnName),

                                    SentOut = GetBoolValue(item, SentOutColumnName),

                                    UpdatedBy   = App.BaseUserControl.UserModel.UserId,
                                    UpdatedDate = DateTime.Now,
                                };

                                SetDates(ref transcriptionModel, item);


                                transcriptionModels.Add(transcriptionModel);
                            }
                            catch (Exception ex)
                            {
                                //TextBlock tb = new TextBlock
                                //{
                                //    TextWrapping = TextWrapping.Wrap,
                                //    Margin = new Thickness(10)
                                //};

                                //tb.Inlines.Add(new Run("Row id-") { FontWeight = FontWeights.Bold });
                                //tb.Inlines.Add(recordcount.ToString());

                                //tb.Inlines.Add(new Run(" interviewee-") { FontWeight = FontWeights.Bold });
                                //tb.Inlines.Add(interviewee);

                                //tb.Inlines.Add(new Run(" error-") { FontWeight = FontWeights.Bold });
                                //tb.Inlines.Add(ex.Message + "\n");
                                //this.Content = tb;

                                StatTextBox.Text += "Row id-" + recordcount + " interviewee-" + interviewee + " error -" + ex.Message + "\n";
                            }
                        }

                        RequestModel requestModel = new RequestModel()
                        {
                            TranscriptionModels = transcriptionModels,
                        };

                        ResponseModel response = App.BaseUserControl.InternalService.ImportTranscription(requestModel);

                        if (response.IsOperationSuccess)
                        {
                            App.BaseUserControl.InitializeComponent(false);

                            App.ShowMessage(true, response.ErrorMessage);
                        }
                        else
                        {
                            App.ShowMessage(false, response.ErrorMessage);
                        }

                        ClearAll();
                    }
                }
                else
                {
                    App.ShowMessage(false, "Browse and select the file first.");
                }
            }
            catch (Exception ex)
            {
                App.ShowMessage(false, "Upload the correct formatted excel file. \n " + ex.Message);
            }
        }