// PUT: api/ImageDetail/5 public bool Put(int id, [FromBody] ImageDetailEntity ImageDetailEntity) { if (id > 0) { return(_ImageDetailServices.UpdateImageDetail(id, ImageDetailEntity)); } return(false); }
public int CreateImageDetail(ImageDetailEntity imageDetailEntity) { using (var scope = new TransactionScope()) { var imageDetail = new ImageDetail() { id = imageDetailEntity.id, path = imageDetailEntity.path, description = imageDetailEntity.description }; _unitOfWork.ImageDetailRepository.Insert(imageDetail); _unitOfWork.Save(); scope.Complete(); return(imageDetail.id); } }
public bool UpdateImageDetail(int imageDetailId, ImageDetailEntity imageDetailEntity) { var success = false; if (imageDetailEntity != null) { using (var scope = new TransactionScope()) { var imageDetail = _unitOfWork.ImageDetailRepository.GetByID(imageDetailId); if (imageDetail != null) { imageDetail.path = imageDetailEntity.path; imageDetail.description = imageDetailEntity.description; _unitOfWork.Save(); scope.Complete(); success = true; } } } return(success); }
// POST: api/ImageDetail public int Post([FromBody] ImageDetailEntity ImageDetailEntity) { return(_ImageDetailServices.CreateImageDetail(ImageDetailEntity)); }
public async Task Initialize(int imageId, MediaFile imageFile) { try { BeginBusy(); ImageDetails = null; var image = _dataAccessService.GetImageById(imageId); ImageDetails = new ImageDetailEntity { Image = new ImageEntity(null, null, null) { Path = image.Path, //Description = imageVisionDetails.Result.Description.ToString(), ImageId = image.Id, //Title = imageVisionDetails.Result.ImageType.ToString() } }; if (imageFile != null) { //When a new image is picked from the gallery or camera var imageVisionDetails = await _faceService.GetImageVisionDetails(imageFile); var faceEmotionsTask = _faceService.GetFaceEmotions(imageFile); var facesArray = await _faceService.GetFacialFeature(imageFile); ImageDetails.Faces = facesArray.Select(x => new FaceEntity { FaceAttributes = x.FaceAttributes, FaceId = x.FaceId, FaceLandmarks = x.FaceLandmarks, FaceRectangle = x.FaceRectangle }) .ToList(); var emotionsArray = await faceEmotionsTask; for (var index = 0; index < ImageDetails.Faces.Count; index++) { //get Percentage of the emotions var emotions = Helper.DisplayPercentage(emotionsArray[index]?.Scores); var faceAttribute = Helper.DisplayPercentage(facesArray[index].FaceAttributes); ImageDetails.Faces[index].FaceAttributes = faceAttribute; ImageDetails.Faces[index].Emotions = emotions; } //Update database with values fetched from API var title = string.Join(", ", imageVisionDetails.Description.Captions.Select(x => x.Text)); image.Title = title.Replace("_", ""); var description = string.Join(", ", imageVisionDetails.Categories.Select(x => x.Name)); image.Description = description.Replace("_", ""); image.Faces = JsonConvert.SerializeObject(ImageDetails.Faces); _dataAccessService.UpdateImageDetails(image); } else { //Already the details of the image are present in the database if (string.IsNullOrWhiteSpace(image.Faces) == false) { ImageDetails.Faces = JsonConvert.DeserializeObject <IList <FaceEntity> >(image.Faces); } } } catch (Exception ex) { _loggingService.Error(ex); _dialogService.ShowToastMessage(PageTitles.ImageDetailTitle, Messages.UnExpectedError, ToastNotificationType.Error); } finally { EndBusy(); } }