Ejemplo n.º 1
0
        public async Task <IActionResult> UpdateProfile()
        {
            var loggedUser = await _userManagerService.FindByNameAsync(User.Identity.Name);

            ProviderProfile loggedProfile = _profileRepo.GetSingle(p => p.UserId == loggedUser.Id);

            UpdateProviderProfileViewModel vm = new UpdateProviderProfileViewModel
            {
                UserId  = loggedUser.Id,
                Email   = loggedUser.Email,
                ImgPath = "admin\\person-solid.png"
            };

            if (loggedProfile != null)
            {
                vm.CompanyName = loggedProfile.CompanyName;
                vm.Phone       = loggedProfile.Phone;
                vm.Address     = loggedProfile.Address;

                if (loggedProfile.ImgPath != null)
                {
                    vm.ImgPath = loggedProfile.ImgPath;
                }
            }

            return(View(vm));
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> UpdateProfile(UpdateProviderProfileViewModel vm, IFormFile ImgPath)
        {
            if (ModelState.IsValid)
            {
                var loggedUser = await _userManagerService.FindByNameAsync(User.Identity.Name);

                ProviderProfile loggedProfile = _profileRepo.GetSingle(p => p.UserId == loggedUser.Id);

                string uploadPath = Path.Combine(_environment.WebRootPath, "Uploads");
                uploadPath = Path.Combine(uploadPath, User.Identity.Name);
                Directory.CreateDirectory(Path.Combine(uploadPath, "Profile"));


                if (loggedProfile != null)
                {
                    loggedProfile.CompanyName = vm.CompanyName;
                    loggedProfile.Email       = vm.Email;
                    loggedProfile.Phone       = vm.Phone;
                    loggedProfile.Address     = vm.Address;

                    if (ImgPath != null)
                    {
                        string fileName = Path.GetFileName(ImgPath.FileName);

                        using (FileStream fs = new FileStream(Path.Combine(uploadPath, "Profile", fileName), FileMode.Create))
                        {
                            ImgPath.CopyTo(fs);
                        }

                        loggedProfile.ImgPath = Path.Combine(User.Identity.Name, "Profile", fileName);
                    }


                    _profileRepo.Update(loggedProfile);
                }
                else
                {
                    loggedProfile = new ProviderProfile();

                    loggedProfile.CompanyName = vm.CompanyName;
                    loggedProfile.Email       = vm.Email;
                    loggedProfile.Phone       = vm.Phone;
                    loggedProfile.Address     = vm.Address;
                    loggedProfile.UserId      = loggedUser.Id;

                    if (ImgPath != null)
                    {
                        string fileName = Path.GetFileName(ImgPath.FileName);

                        using (FileStream fs = new FileStream(Path.Combine(uploadPath, "Profile", fileName), FileMode.Create))
                        {
                            ImgPath.CopyTo(fs);
                        }

                        loggedProfile.ImgPath = Path.Combine(User.Identity.Name, "Profile", fileName);
                    }

                    _profileRepo.Create(loggedProfile);
                }
            }
            ViewData["Message"] = "Login successfully";
            return(RedirectToAction("Index", "Provider"));
        }