Exemplo n.º 1
0
        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());
            }
        }
Exemplo n.º 2
0
        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());
            }
        }