public async Task <IActionResult> Create(PackageCreateViewModel vm, IFormFile file) { IdentityUser user = await _userManagerService.FindByNameAsync(User.Identity.Name); if (ModelState.IsValid) { Package existingPackage = _packageDataService.GetSingle(p => p.Name == vm.PackageName); if (existingPackage == null) { Package package = new Package { Name = vm.PackageName, Price = vm.Price, Location = vm.LocationName, Description = vm.Description, IsAvailable = true, LocationId = vm.LocationId, UserId = user.Id }; if (file != null) { var serverPath = Path.Combine(_environment.WebRootPath, "uploads/package"); Directory.CreateDirectory(Path.Combine(serverPath, User.Identity.Name)); string fileName = FileNameHelper.GetNameFormatted(Path.GetFileName(file.FileName)); using (var fileStream = new FileStream(Path.Combine(serverPath, User.Identity.Name, fileName), FileMode.Create)) { await file.CopyToAsync(fileStream); } package.Picture = User.Identity.Name + "/" + fileName; } else if (file == null) { package.Picture = "apackagegen.jpg"; } _packageDataService.Create(package); return(RedirectToAction("Details", "Package", new { id = package.PackageId })); } else { ViewBag.MyMessage = "Package name exists. please change the name"; return(View(vm)); } } else { return(View(vm)); } }
public async Task <IActionResult> UpdateCustProfile(AccountUpdateCustProfileViewModel vm, IFormFile file) { if (ModelState.IsValid) { IdentityUser user = await _userManagerService.FindByNameAsync(User.Identity.Name); CustomerProfile profile = _custProfileDataService.GetSingle(s => s.UserId == user.Id); profile.UserId = user.Id; profile.FirstName = vm.FirstName; profile.LastName = vm.LastName; profile.Phone = vm.Phone; profile.Address = vm.Address; //limit file type //if(file.Path.GetExtention != .jpg) if (file != null) { var serverPath = Path.Combine(_environment.WebRootPath, "uploads/custprofile"); Directory.CreateDirectory(Path.Combine(serverPath, User.Identity.Name)); string fileName = FileNameHelper.GetNameFormatted(Path.GetFileName(file.FileName)); using (var fileStream = new FileStream(Path.Combine(serverPath, User.Identity.Name, fileName), FileMode.Create)) { await file.CopyToAsync(fileStream); } profile.Picture = User.Identity.Name + "/" + fileName; } _custProfileDataService.Update(profile); //user.UserName = vm.UserName; //user.Email = vm.UserName; await _userManagerService.UpdateAsync(user); return(RedirectToAction("Index", "Home")); } return(View(vm)); }
public async Task <IActionResult> Update(PackageUpdateViewModel vm, IFormFile file) { if (ModelState.IsValid) { Package package = _packageDataService.GetSingle(p => p.PackageId == vm.PackageId); package.PackageId = vm.PackageId; package.Name = vm.PackageName; package.Location = vm.LocationName; //package.Location = vm.LocationList.SelectedValue.ToString(), package.Price = vm.Price; package.Description = vm.Description; package.IsAvailable = vm.IsAvailable; package.LocationId = vm.LocationId; package.UserId = vm.UserId; if (file != null) { var serverPath = Path.Combine(_environment.WebRootPath, "uploads/package"); Directory.CreateDirectory(Path.Combine(serverPath, User.Identity.Name)); string fileName = FileNameHelper.GetNameFormatted(Path.GetFileName(file.FileName)); using (var fileStream = new FileStream(Path.Combine(serverPath, User.Identity.Name, fileName), FileMode.Create)) { await file.CopyToAsync(fileStream); } package.Picture = User.Identity.Name + "/" + fileName; } _packageDataService.Update(package); return(RedirectToAction("Details", "Package", new { id = package.PackageId })); } else { return(View(vm)); } }