/// <summary> /// Add picture of user profile. /// </summary> /// <param name="file">Picture to add.</param> /// <param name="currentUserId">Id of current user.</param> /// <returns> /// Added image. /// </returns> /// <exception cref="System.ArgumentException">When one of params invalid.</exception> public async Task <User> AddPictureProfile(FileToAddModel file, string currentUrl, long currentUserId) { file.CheckArgumentException(); var user = await _userRepository.GetAsync(currentUserId); user.PictureLink = FileStorage.UploadFile(file, currentUrl, Defines.FileFolders.USER_PICTURES_FOLDER).Link; return((await _userRepository.EditAsync(user)) .GetSkillsToUser(_userSkillRepository, _skillRepository)); }
/// <summary> /// Add file to open source area of user. /// </summary> /// <param name="file">File to add.</param> /// <param name="currentUserId">Id of current user.</param> /// <returns> /// Added file. /// </returns> /// <exception cref="System.ArgumentException">When one of params invalid.</exception> public async Task <FileToReturnModel> AddFileToOpenSource(FileToAddModel file, string currentUrl, long currentUserId) { file.CheckArgumentException(); var user = await _userRepository.GetAsync(currentUserId); var savedFile = FileStorage.UploadFile(file, currentUrl, Defines.FileFolders.OPENSOURCE_ATTACHMENT_FOLDER); var addedAttachment = await _attachmentRepository.AddAsync(new Attachment() { ContainerId = user.Id, ContainerName = Defines.AttachmentContainerName.USER, Link = savedFile.Link, Name = savedFile.Name, Type = savedFile.Name.GetContentType() }); savedFile.Id = addedAttachment.Id; return(savedFile); }
public static FileToReturnModel UploadFile(FileToAddModel file, string currentUrl, string folder) { file.Name = DateTime.Now.Subtract(DateTime.MinValue).TotalSeconds + file.Name; var path = Path.Combine(Directory.GetCurrentDirectory(), Defines.FileFolders.FolderPathes[folder], file.Name); var data = Convert.FromBase64String(file.Data); File.WriteAllBytes(path, data); return(new FileToReturnModel() { ContainerId = file.ContainerId, ContainerName = file.ContainerName, Link = new Uri(currentUrl + "/" + Defines.FileFolders.FolderPathes[folder].Replace("wwwroot", "") + "/" + file.Name).AbsoluteUri, Name = file.Name, Type = file.Name.GetContentType() }); }
// /api/user/AddFileToOpenSource public async Task <FileToReturnModel> AddFileToOpenSource([FromBody] FileToAddModel file) { return(await _service.AddFileToOpenSource(file, GetCurrentUrl(), User.GetUserId())); }
// /api/user/AddPictureProfile public async Task <User> AddPictureProfile([FromBody] FileToAddModel file) { return(await _service.AddPictureProfile(file, GetCurrentUrl(), User.GetUserId())); }