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