public async Task <ComplexStringDTO> AddComplexString(ComplexStringDTO entity) { var sqlComplexString = new Polyglot.DataAccess.Entities.ComplexString { TranslationKey = entity.Key, ProjectId = entity.ProjectId }; var savedEntity = await _unitOfWork.GetRepository <Polyglot.DataAccess.Entities.ComplexString>().CreateAsync(sqlComplexString); await _unitOfWork.SaveAsync(); entity.Id = savedEntity.Id; entity.CreatedOn = DateTime.Now; entity.CreatedBy = (await _currentUser.GetCurrentUserProfile()).Id; var mappedItem = _mapper.Map <ComplexString>(entity); mappedItem.Tags = entity.Tags.Select(x => x.Id).ToList(); var target = await _complexStringRepository.CreateAsync(mappedItem); if (target != null) { await _signalRWorkspaceService.ComplexStringAdded($"{Group.project}{target.ProjectId}", target.Id); return(_mapper.Map <ComplexStringDTO>(target)); } return(null); }
public async Task <ComplexStringDTO> ModifyComplexString(ComplexStringDTO entity) { var target = await _complexStringRepository.Update(_mapper.Map <ComplexString>(entity)); if (target != null) { return(_mapper.Map <ComplexStringDTO>(target)); } return(null); }
public async Task <ComplexStringDTO> GetComplexString(int identifier) { var target = await _complexStringRepository.GetAsync(identifier); if (target != null) { ComplexStringDTO stringDTO = _mapper.Map <ComplexStringDTO>(target); foreach (var translation in stringDTO.Translations) { if (translation.AssignedTranslatorId != 0) { UserProfileDTO user = await _userProfileService.GetOneAsync(translation.AssignedTranslatorId); translation.AssignedTranslatorAvatarUrl = user.AvatarUrl; translation.AssignedTranslatorName = user.FullName; } } return(stringDTO); } return(null); }
public async Task <IActionResult> AddComplexString(IFormFile formFile) { Request.Form.TryGetValue("str", out StringValues res); ComplexStringDTO complexString = JsonConvert.DeserializeObject <ComplexStringDTO>(res); if (Request.Form.Files.Count != 0) { IFormFile file = Request.Form.Files[0]; byte[] byteArr; using (var ms = new MemoryStream()) { await file.CopyToAsync(ms); byteArr = ms.ToArray(); } complexString.PictureLink = await fileStorageProvider.UploadFileAsync(byteArr, FileType.Photo, Path.GetExtension(file.FileName)); } var entity = await dataProvider.AddComplexString(complexString); return(entity == null?StatusCode(409) as IActionResult : Ok(entity)); }