public bool Create(MediaDto media) { using (var db = CreateConnection()) { db.Open(); var createMediaItem = db.Execute(@"INSERT INTO [dbo].[Media] ([MediaTypeId] ,[MediaConditionId] ,[Title] ,[DatePurchased] ,[DateAdded] ,[IsLentOut] ,[IsSold] ,[Notes] ,[artworkUrl100] ,[Artist] ,[Author]) VALUES (@MediaTypeId ,@MediaConditionId ,@Title ,@DatePurchased ,default ,@IsLentOut ,@IsSold ,@Notes ,@artworkUrl100 ,@Artist ,@Author)", media); return(createMediaItem == 1); } }
public HttpResponseMessage EditMedia(int id, MediaDto media) { var mediaModifier = new MediaModifier(); var editMedia = mediaModifier.EditMediaItem(id, media); return(Request.CreateResponse(HttpStatusCode.OK, editMedia)); }
public MediaDto BuildDto(IMedia entity) { var versionDto = new ContentVersionDto { NodeId = entity.Id, VersionDate = entity.UpdateDate, VersionId = entity.Version, ContentDto = BuildContentDto(entity) }; //Extract the media path for storage string mediaPath; TryMatch(entity.GetValue <string>("umbracoFile"), out mediaPath); var dto = new MediaDto() { NodeId = entity.Id, ContentVersionDto = versionDto, MediaPath = mediaPath, VersionId = entity.Version }; return(dto); }
public JsonResult GetSelfPage() { string username = HttpContext?.User?.Identity?.Name; if (username is default(string)) { throw new ArgumentNullException("user"); } if (!_accountService.TryGetIdentifierByUsername(username, out var identifier)) { throw new ArgumentNullException("identifier"); } return(new JsonResult(_context.Medias .AsEnumerable() .OrderByDescending(med => med.Date) .Where(m => m.UserIdentifier == identifier) .Select(media => { var mediaDto = MediaDto.FromModel(media); mediaDto.LikedByMe = _accountService.LikedByUser(media, username); mediaDto.Comments = GetComments(media); mediaDto.UserName = _accountService.TryGetUsernameByIdentifier(media.UserIdentifier, out var userName) ? userName : String.Empty; mediaDto.NumberOfLikes = _context.Likes.Count(lik => lik.MediaIdentifier == media.Identifier); return mediaDto; }).ToArray())); }
public bool EditMediaItem(int id, MediaDto media) { using (var db = CreateConnection()) { db.Open(); var editMediaItem = db.Execute(@"UPDATE [dbo].[Media] SET MediaTypeId = @MediaTypeId, MediaConditionId = @MediaConditionId, Title = @Title, DatePurchased = @DatePurchased, DateAdded = @DateAdded, IsLentOut = @IsLentOut, IsSold = @IsSold, Notes = @Notes, artworkUrl100 = @artworkUrl100, Artist = @Artist WHERE id = @id", new { media.MediaTypeId, media.MediaConditionId, media.Title, media.DatePurchased, media.DateAdded, media.IsLentOut, media.IsSold, media.Notes, media.artworkUrl100, media.Artist, id }); return(editMediaItem == 1); } }
public Media Build(MediaDto mediaDto) { Media media = new Media(); media.Title = mediaDto.Title; media.Genero = mediaDto.Genero; media.IsRelease = mediaDto.IsRelease; media.ReleaseDate = mediaDto.ReleaseDate; return(media); }
public async Task <ActionResult> Put([FromBody] MediaDto input) { var media = this._mapper.Map <MediaDto, Media>(input); var isSuccess = await this._mediaService.UpdateOne(media); if (!isSuccess) { return(UnprocessableEntity(input)); } return(Ok()); }
public void MediaDTO_MediaDataUrlWithLengthGreaterThan22IsValid() { var mediaDto = new MediaDto { Id = 1, Title = "0", Recipe_Id = 1, MediaDataUrl = "data:image/dd;base64,/" }; var context = new ValidationContext(mediaDto, null, null); var results = new List <ValidationResult>(); var actual = Validator.TryValidateObject(mediaDto, context, results, true); Assert.AreEqual(true, actual); }
public void MediaDTO_TitleWithUnderscoreIsValid(string title) { var mediaDto = new MediaDto { Id = 1, Title = title, Recipe_Id = 1, MediaDataUrl = "data:image/dd;base64,/9ndhjffj" }; var context = new ValidationContext(mediaDto, null, null); var results = new List <ValidationResult>(); var actual = Validator.TryValidateObject(mediaDto, context, results, true); Assert.AreEqual(true, actual); }
public async Task <IActionResult> GetMedias(string appId, [FromQuery] QueryDto q) { var medias = await mediaStore.QueryAsync(appId, q.ToQuery <MediaQuery>(), HttpContext.RequestAborted); var response = new ListResponseDto <MediaDto>(); response.Items.AddRange(medias.Select(x => MediaDto.FromDomainObject(x, appId, urlGenerator))); response.Total = medias.Total; return(Ok(response)); }
public HttpResponseMessage CreateMedia(MediaDto media) { var mediaRepository = new MediaRepository(); var result = mediaRepository.Create(media); if (result) { return(Request.CreateResponse(HttpStatusCode.Created)); } return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, "Could not create Media item at this time, try again later")); }
/// <summary> /// Builds a dto from an IMedia item. /// </summary> public static MediaDto BuildDto(PropertyEditorCollection propertyEditors, IMedia entity) { var contentDto = BuildContentDto(entity, Constants.ObjectTypes.Media); var dto = new MediaDto { NodeId = entity.Id, ContentDto = contentDto, MediaVersionDto = BuildMediaVersionDto(propertyEditors, entity, contentDto) }; return(dto); }
/// <summary> /// Buils a dto from an IMedia item. /// </summary> public static MediaDto BuildDto(IMedia entity) { var contentDto = BuildContentDto(entity, Constants.ObjectTypes.Media); var dto = new MediaDto { NodeId = entity.Id, ContentDto = contentDto, MediaVersionDto = BuildMediaVersionDto(entity, contentDto) }; return(dto); }
/// <summary> /// Builds a dto from an IMedia item. /// </summary> public static MediaDto BuildDto(MediaUrlGeneratorCollection mediaUrlGenerators, IMedia entity) { var contentDto = BuildContentDto(entity, Cms.Core.Constants.ObjectTypes.Media); var dto = new MediaDto { NodeId = entity.Id, ContentDto = contentDto, MediaVersionDto = BuildMediaVersionDto(mediaUrlGenerators, entity, contentDto) }; return(dto); }
public void MediaDTO_TitleIsRequired() { var mediaDto = new MediaDto { Id = 1, Recipe_Id = 1, MediaDataUrl = "data:image/dd;base64,/9ndhjffj" }; var context = new ValidationContext(mediaDto, null, null); var results = new List <ValidationResult>(); var actual = Validator.TryValidateObject(mediaDto, context, results, true); var validationError = results.FirstOrDefault(); Assert.AreEqual(false, actual); Assert.AreEqual("The Title field is required.", validationError.ErrorMessage); Assert.AreEqual("Title", validationError.MemberNames.FirstOrDefault()); }
public void MediaDTO_MediaDataUrlIsRequired() { var mediaDto = new MediaDto { Id = 1, Title = "0", Recipe_Id = 1 }; var context = new ValidationContext(mediaDto, null, null); var results = new List <ValidationResult>(); var actual = Validator.TryValidateObject(mediaDto, context, results, true); var validationError = results.FirstOrDefault(); Assert.AreEqual(false, actual); Assert.AreEqual("The MediaDataUrl field is required.", validationError.ErrorMessage); Assert.AreEqual("MediaDataUrl", validationError.MemberNames.FirstOrDefault()); }
public void MediaDTO_MediaDataUrlNeedsLengthGreaterThan22() { var mediaDto = new MediaDto { Id = 1, Title = "0", Recipe_Id = 1, MediaDataUrl = "data:image/dd;base64," }; var context = new ValidationContext(mediaDto, null, null); var results = new List <ValidationResult>(); var actual = Validator.TryValidateObject(mediaDto, context, results, true); var validationError = results.FirstOrDefault(); Assert.AreEqual(false, actual); Assert.AreEqual("The field MediaDataUrl must be a string or array type with a minimum length of '22'.", validationError.ErrorMessage); Assert.AreEqual("MediaDataUrl", validationError.MemberNames.FirstOrDefault()); }
public async Task <IActionResult> AddMedia([FromBody] MediaDto media) { if (!ModelState.IsValid) { return(BadRequest()); } var isMediaAdded = await _mediaRepo.AddMediaAsync(_mapper.Map <Media>(media)); if (isMediaAdded) { return(CreatedAtRoute("GetMediaById", new { id = media.MediaId }, _mapper.Map <MediaDto>(media))); } return(StatusCode(500, "Unable to Add Media at this time, please try later")); }
public void MediaDTO_TagWithUnauthorizedSymbolsIsInvalid(string tag) { var mediaDto = new MediaDto { Id = 1, Tag = tag, Title = "hi", Recipe_Id = 1, MediaDataUrl = "data:image/dd;base64,/9ndhjffj" }; var context = new ValidationContext(mediaDto, null, null); var results = new List <ValidationResult>(); var actual = Validator.TryValidateObject(mediaDto, context, results, true); var validationError = results.FirstOrDefault(); Assert.AreEqual(false, actual); Assert.AreEqual("The Media tag can only contain MAJ or MIN letters, digits, or _", validationError.ErrorMessage); Assert.AreEqual("Tag", validationError.MemberNames.FirstOrDefault()); }
public void MediaDTO_RecipIdIsRequired() { var mediaDto = new MediaDto { Id = 1, Title = "hi", MediaDataUrl = "data:image/dd;base64,/9ndhjffj" }; var context = new ValidationContext(mediaDto, null, null); var results = new List <ValidationResult>(); var actual = Validator.TryValidateObject(mediaDto, context, results, true); var validationError = results.FirstOrDefault(); Assert.AreEqual(false, actual); Assert.AreEqual("The field Recipe_Id must be between 1 and 2147483647.", validationError.ErrorMessage); Assert.AreEqual("Recipe_Id", validationError.MemberNames.FirstOrDefault()); }
public async Task <ActionResult> Post([FromBody] MediaDto input) { //TODO: add standard on naming var media = this._mapper.Map <MediaDto, Media>(input); var response = await this._mediaService.AddOne(media); // this._context.medias.Add(media); // FIXME: Bug on saving new media.. // var result = this._context.SaveChanges(); if (!response.Success) { return(UnprocessableEntity(response)); } //return Ok($"Object added. ID:{createdEntityId}"); return(Ok(response)); }
public void MediaDTO_TagLengthCannotBeGreaterThan50() { var rdm = new Random(); var tag = rdm.GenerateRandomString(51); var mediaDto = new MediaDto { Id = 1, Tag = tag, Title = "hi", Recipe_Id = 1, MediaDataUrl = "data:image/dd;base64,/9ndhjffj" }; var context = new ValidationContext(mediaDto, null, null); var results = new List <ValidationResult>(); var actual = Validator.TryValidateObject(mediaDto, context, results, true); var validationError = results.FirstOrDefault(); Assert.AreEqual(false, actual); Assert.AreEqual("The field Tag must be a string or array type with a maximum length of '50'.", validationError.ErrorMessage); Assert.AreEqual("Tag", validationError.MemberNames.FirstOrDefault()); }
public IEnumerable <MediaDto> getMedias() { List <Media> medias = db.medias.ToList(); List <MediaDto> mediaDtos = new List <MediaDto> { }; //Here you can choose which information is exposed to the API foreach (var media in medias) { MediaDto mediaDto = new MediaDto { mediaId = media.mediaId, mediaName = media.mediaName, }; mediaDtos.Add(mediaDto); } return(mediaDtos); }
public IActionResult Post([FromBody] MediaDto mediaDto) { try { Media media = new MediaBuilder().Build(mediaDto); _mediaServices.Post <MediaValidator>(media); return(new ObjectResult(media.ID)); } catch (ArgumentNullException ex) { return(NotFound(ex)); } catch (Exception ex) { return(BadRequest(ex)); } }
public IActionResult Addfile([FromBody] MediaDto file) { var media = _mapper.Map <Media>(file); string localPath = "\\Media\\"; switch (media.FileType) { case "Image": localPath = "\\Media\\Image\\"; break; default: break; } string path = _hostingEnvironment.ContentRootPath + localPath; var dataFromHelper = MediaHelperClass.CreateMedia(media, path); var data = _mediaService.create(dataFromHelper); return(Ok(data)); }
public IHttpActionResult findMedia(int id) { //Find the data Media media = db.medias.Find(id); //if not found, return 404 status code. if (media == null) { return(NotFound()); } //put into a 'friendly object format' MediaDto mediaDto = new MediaDto { mediaId = media.mediaId, mediaName = media.mediaName, }; //pass along data as 200 status code OK response return(Ok(mediaDto)); }
public IList <MediaDto> LocateAndLoadMedias(IEnumerable <Media> medias) { var result = new List <MediaDto>(); foreach (var media in medias) { if (File.Exists(media.MediaPath)) { try { //var bytes = await File.ReadAllBytesAsync(media.MediaPath); // Not needed at the moment, not loading from remote server var bytes = File.ReadAllBytes(media.MediaPath); // Check that its indeed an image (by converting it to Image object) var image = ByteArrayToImage(bytes); if (image != null) { // convert bytes to base64 and create a dataURL object. var b64String = Convert.ToBase64String(bytes); var mimeType = "image/jpeg"; var dataUrl = $"data:{mimeType};base64,{b64String}"; // jpeg is default. We convert all images to jpeg on receive var convertedMedia = new MediaDto { Id = media.Id, MediaDataUrl = dataUrl, Recipe_Id = media.Recipe_Id, Tag = media.Tag, Title = media.Title }; result.Add(convertedMedia); image.Dispose(); } } catch (Exception e) { this._logger.LogError($"Something happened when Loading media [[ID:{media.Id}, Title:{media.Title}, RecipeID:{media.Recipe_Id}] "); } } else { this._logger.LogWarning($"Path doesn't exist on Media [[ID:{media.Id}, Title:{media.Title}, RecipeID:{media.Recipe_Id}, path:{media.MediaPath}]. Won't load"); } } return(result); }
public DigitalCaseDto GetLinkedCases() { #region Case 1 DigitalCaseDto case1 = new DigitalCaseDto(); case1.CaseId = "case10011010101"; case1.CaseNumber = 1001; case1.CaseTitle = "Case 1"; MediaDto media1 = new MediaDto(); media1.ContentId = "media11111"; media1.Name = "Photo 1"; media1.ContentType = PHOTO; media1.URL = "http://criminaljusticeschools.com/wp-content/uploads/2013/01/mugshot7zz.jpg"; MediaDto media2 = new MediaDto(); media2.ContentId = "media11112"; media2.Name = "Video 1"; media2.ContentType = VIDEO; media2.URL = "http://www.criminaljusticeschools.com/wp-content/uploads/2013/01/mugshot15zz.jpg"; MediaDto media3 = new MediaDto(); media3.ContentId = "media11113"; media3.Name = "Document 1"; media3.ContentType = DOCUMENT; media3.URL = "http://www.criminaljusticeschools.com/wp-content/uploads/2013/01/mugshot13zz.jpg"; case1.AddMedia(media1); case1.AddMedia(media2); case1.AddMedia(media3); #endregion #region Case 2 DigitalCaseDto case2 = new DigitalCaseDto(); case2.CaseId = "case10011010122"; case2.CaseNumber = 1002; case2.CaseTitle = "Case 2"; MediaDto media4 = new MediaDto(); media4.ContentId = "media11121"; media4.Name = "Photo 3"; media4.URL = "http://criminaljusticeschools.com/wp-content/uploads/2013/01/mugshot7zz.jpg"; MediaDto media5 = new MediaDto(); media5.ContentId = "media11122"; media5.Name = "Photo 4"; media5.URL = "http://www.criminaljusticeschools.com/wp-content/uploads/2013/01/mugshot15zz.jpg"; MediaDto media6 = new MediaDto(); media6.ContentId = "media11123"; media6.ContentType = DOCUMENT; media6.Name = "Document 5"; media6.URL = "http://www.criminaljusticeschools.com/wp-content/uploads/2013/01/mugshot13zz.jpg"; case2.AddMedia(media4); case2.AddMedia(media5); case2.AddMedia(media6); #endregion #region Case 3 DigitalCaseDto case3 = new DigitalCaseDto(); case3.CaseId = "cas10011010122"; case3.CaseNumber = 1003; case3.CaseTitle = "Case 3"; MediaDto media7 = new MediaDto(); media7.ContentId = "media11121"; media7.Name = "Photo 30"; media7.URL = "http://criminaljusticeschools.com/wp-content/uploads/2013/01/mugshot7zz.jpg"; MediaDto media8 = new MediaDto(); media8.ContentId = "media11122"; media8.Name = "Photo 31"; media8.URL = "http://www.criminaljusticeschools.com/wp-content/uploads/2013/01/mugshot15zz.jpg"; MediaDto media9 = new MediaDto(); media9.ContentId = "media11123"; media9.ContentType = DOCUMENT; media9.Name = "Document 5"; media9.URL = "http://www.criminaljusticeschools.com/wp-content/uploads/2013/01/mugshot13zz.jpg"; case3.AddMedia(media7); case3.AddMedia(media8); case3.AddMedia(media9); #endregion case1.LinkToCase(case2); case1.LinkMedia("Match", media1, media4); case2.LinkToCase(case3); case2.LinkMedia("Referred in Doc", media4, media9, Direction.To); return(case1); }
public Task <Stream> GetStream(MediaDto media) { var path = Path.Combine(_options.BasePath, media.Address); return(_fileSystem.ReadFile(path)); }
public void Initialize() { _instance = new MediaDto(); }