Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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));
        }