示例#1
0
        public async Task <MediaAbs> CreateMedia(MediaRequest mediaRequest)
        {
            try
            {
                EventType eventType = Conversions.EventTypeToStringRepresentation
                                      .Where(x => x.Value == mediaRequest.EventType)
                                      .Select(x => x.Key).First();
                List <Person> participants = JsonConvert.DeserializeObject <List <Person> >(mediaRequest.Participants);
                DateTime      date         = DateTime.Parse(mediaRequest.Date);

                switch (mediaRequest.MediaType)
                {
                case "Book":
                    var bookMedia = new BookMedia(mediaRequest.Name, eventType, participants,
                                                  date, mediaRequest.Location);
                    await SetUsingPersonIfNeede(bookMedia, mediaRequest.UsingPerson);

                    return(bookMedia);

                case "CD":
                    var cdMedia = new CDMedia(mediaRequest.Name, eventType, participants,
                                              date, mediaRequest.Location);
                    await SetUsingPersonIfNeede(cdMedia, mediaRequest.UsingPerson);

                    return(cdMedia);

                case "Disk On Key":
                    var DiskOnKeyMedia = new DiskOnKeyMedia(mediaRequest.Name, eventType, participants,
                                                            date, mediaRequest.Location);
                    await SetUsingPersonIfNeede(DiskOnKeyMedia, mediaRequest.UsingPerson);

                    return(DiskOnKeyMedia);

                case "Photo Album":
                    var PhotoAlbumMedia = new PhotoAlbumMedia(mediaRequest.Name, eventType, participants,
                                                              date, mediaRequest.Location);
                    await SetUsingPersonIfNeede(PhotoAlbumMedia, mediaRequest.UsingPerson);

                    return(PhotoAlbumMedia);

                default:
                    return(null);
                }
            }
            catch (Exception e)
            {
                throw e;
            }
        }
示例#2
0
 private void LoadBookMedia()
 {
     if (fb2Parser.TitleInfo.CoverPage != null && fb2Parser.TitleInfo.CoverPage.Length > MINIMAL_IMAGE_SIZE)
     {
         book.Cover = fb2Parser.TitleInfo.CoverPage;
     }
     if (fb2Parser.BookBinaries != null && fb2Parser.BookBinaries.Length > 0)
     {
         foreach (FB2Binary binary in fb2Parser.BookBinaries)
         {
             if (binary.Sources.Length > MINIMAL_IMAGE_SIZE)
             {
                 BookMedia bookMedia = new BookMedia();
                 bookMedia.BookMediaId  = Guid.NewGuid();
                 bookMedia.BookId       = book.BookId;
                 bookMedia.MediaType    = 1;
                 bookMedia.Content      = binary.Sources;
                 bookMedia.MediaUpdated = DateTime.Now;
                 context.BookMedias.Add(bookMedia);
             }
         }
     }
 }