public async Task <IActionResult> UpdateUser([FromForm] UserForRegistrationDto user) { if (Request.Form.Files.Count != 0) { user.SelecetdFile = Request.Form.Files[0]; } else { user.SelecetdFile = null; } if (user.SelecetdFile != null) { var folderName = Path.Combine("wwwroot", "Images"); var pathToSave = Path.Combine(Directory.GetCurrentDirectory(), folderName); if (user.SelecetdFile.Length > 0) { var objfiles = new DTOProductImage(); var fullPath = Path.Combine(pathToSave, user.SelecetdFile.FileName); var dbPath = Path.Combine("Images", user.SelecetdFile.FileName); using (var stream = new FileStream(fullPath, FileMode.Create)) { user.SelecetdFile.CopyTo(stream); } using (var target = new MemoryStream()) { user.SelecetdFile.CopyTo(target); objfiles.Image = target.ToArray(); } user.ProductImage = objfiles; user.ProductImage.ImagePath = dbPath; } } try { bool success = await _service.UpdateUser(user); if (success) { return(Ok()); } else { return(NotFound()); } } catch { return(NotFound()); } }
public async Task <Object> Register([FromForm] UserForRegistrationDto model) { model.SelecetdFile = Request.Form.Files[0]; if (model.SelecetdFile != null) { var folderName = Path.Combine("wwwroot", "Images"); var pathToSave = Path.Combine(Directory.GetCurrentDirectory(), folderName); if (model.SelecetdFile.Length > 0) { var objfiles = new DTOProductImage(); //var fileName = ContentDispositionHeaderValue.Parse(file.ContentDisposition).FileName.Trim('"'); var fullPath = Path.Combine(pathToSave, model.SelecetdFile.FileName); var dbPath = Path.Combine("Images", model.SelecetdFile.FileName); using (var stream = new FileStream(fullPath, FileMode.Create)) { model.SelecetdFile.CopyTo(stream); } using (var target = new MemoryStream()) { model.SelecetdFile.CopyTo(target); objfiles.Image = target.ToArray(); } model.ProductImage = objfiles; model.ProductImage.ImagePath = dbPath; } } User mapUser = _mapper.Map <User>(model); mapUser.Id = System.Guid.NewGuid().ToString(); mapUser.Status = Status.Processing; bool success = false; try { var result = await _userManager.CreateAsync(mapUser, model.Password); if (result.Errors.Any()) { var test = result.Errors.ToList(); success = false; } else { success = true; } } catch (Exception e) { throw e; }// bool success = await _service.Register(model); if (success) { string token = await _userManager.GenerateEmailConfirmationTokenAsync(mapUser); var confirmationLink = Url.Action("ConfirmEmail", "User", new { email = model.Email, token = HttpUtility.UrlEncode(token) }, Request.Scheme); EmailHelper emailHelper = new EmailHelper(); bool emailResponse = emailHelper.SendEmail(model.Email, confirmationLink); return(Ok()); } else { return(BadRequest()); } }