public async Task <IActionResult> Create(PackageCreateViewModel vm, IFormFile file) { if (ModelState.IsValid) { IdentityUser user = await _userManagerService.FindByNameAsync(User.Identity.Name); //check exists - Name = UNQ Package existingPackage = _packageService.GetSingle(p => p.Name == vm.Name); Location loc = _locationService.GetSingle(l => l.LocationId == int.Parse(TempData["locId"].ToString())); if (existingPackage == null) { Package pac = new Package { LocationId = loc.LocationId, Name = vm.Name, LocName = loc.Name, Price = vm.Price, Description = vm.Description, Active = vm.Active, LocState = loc.State, UserId = user.Id }; //upload the picture to the file system //assign the picture URL to the cat object if (file != null) { //check ?? //upload server path var serverPath = Path.Combine(_environment.WebRootPath, "uploads"); //create a folder Directory.CreateDirectory(Path.Combine(serverPath, User.Identity.Name)); //get the file name string fileName = FileNameHelper.GetNameFormated(Path.GetFileName(file.FileName)); //stream the file to the server using (var fileStream = new FileStream(Path.Combine(serverPath, User.Identity.Name, fileName), FileMode.Create)) { await file.CopyToAsync(fileStream); } //assign the picture URL to the cat object pac.Picture = User.Identity.Name + "/" + fileName; } //save to db _packageService.Create(pac); //go home return(RedirectToAction("Index", "Home")); } else { ViewBag.MyMessage = "Package name exists. Please change the name"; return(View(vm)); } } else { return(View(vm)); } }
public async Task <IActionResult> Update(PackageUpdateViewModel vm, IFormFile file) { if (ModelState.IsValid) { Package package = _packageService.GetSingle(p => p.PackageId == vm.PackageId); package.Name = vm.Name; package.LocName = vm.LocName; package.Price = vm.Price; package.Description = vm.Description; package.LocState = vm.LocState; package.Active = vm.Active; //Package pac = new Package //{ // LocationId = int.Parse(TempData["locId"].ToString()), // Name = vm.Name, // Price = vm.Price, // Description = vm.Description, // Active = vm.Active, // Picture=vm.Picture //}; //upload the picture to the file system //assign the picture URL to the cat object if (file != null) { //check ?? //upload server path var serverPath = Path.Combine(_environment.WebRootPath, "uploads"); //create a folder Directory.CreateDirectory(Path.Combine(serverPath, User.Identity.Name)); //get the file name string fileName = FileNameHelper.GetNameFormated(Path.GetFileName(file.FileName)); //stream the file to the srever using (var fileStream = new FileStream(Path.Combine(serverPath, User.Identity.Name, fileName), FileMode.Create)) { await file.CopyToAsync(fileStream); } //assign the picture URL to the cat object package.Picture = User.Identity.Name + "/" + fileName; //string oldPicturePath = "~/uploads/" + vm.Picture; //FileInfo myfileinf = new FileInfo(oldPicturePath); //myfileinf.Delete(); } //save to db _packageService.Update(package); //go home return(RedirectToAction("Index", "Home")); } else { return(View(vm)); } }
//[Authorize("TravelProvider")] public async Task <IActionResult> Add(PackageAddViewModel vm, IFormFile file) { if (ModelState.IsValid) { //get the user who already logged in IdentityUser user = await _userManagerService.FindByNameAsync(User.Identity.Name); //get the profile for this user //call the service to check if Package name already exist Package packExist = _packageDataService.GetSingle(p => p.PackName.ToUpper().Trim() == vm.PackName.ToUpper().Trim()); if (packExist == null) // Not found, then ok to add { Package package = new Package { UserId = user.Id, PackName = vm.PackName, PackLocation = vm.PackLocation, PackDescription = vm.PackDescription, PackPrice = vm.PackPrice, PackageStatus = vm.PackageStatus }; if (file != null) { //upload server path var uploadPath = Path.Combine(_environment.WebRootPath, "images"); //create subfolder Directory.CreateDirectory(Path.Combine(uploadPath, User.Identity.Name)); //get the file name string fileName = FileNameHelper.GetNameFormated(Path.GetFileName(file.FileName)); // stream the file to the srever using (var fileStream = new FileStream(Path.Combine(uploadPath, User.Identity.Name, fileName), FileMode.Create)) { await file.CopyToAsync(fileStream); } //add the file url to category package.PackImage = User.Identity.Name + "/" + fileName; } _packageDataService.Create(package); //go to home page return(RedirectToAction("Index", "Package")); } else { ModelState.AddModelError("", "Something is wrong"); } } return(View(vm)); }
public async Task <IActionResult> UpdateProfile(CustomerUpdateProfileViewModel vm, IFormFile file) { if (ModelState.IsValid) { //get the user who already logged in IdentityUser user = await _userManagerService.FindByNameAsync(User.Identity.Name); //get the profile for this user Customer customer = _customerDataService.GetSingle(p => p.UserId == user.Id); //map the vm customer.FirstName = vm.FirstName; customer.LastName = vm.LastName; customer.Phone = vm.Phone; customer.Address = vm.Address; customer.ProfilePhoto = vm.ProfilePhoto; if (file != null) { //&& System.IO.File.Exists(customer.ProfilePhoto) //System.IO.File.Delete(customer.ProfilePhoto); //upload server path var uploadPath = Path.Combine(_environment.WebRootPath, "images"); //create subfolder Directory.CreateDirectory(Path.Combine(uploadPath, User.Identity.Name)); //get the file name string fileName = FileNameHelper.GetNameFormated(Path.GetFileName(file.FileName)); // stream the file to the srever using (var fileStream = new FileStream(Path.Combine(uploadPath, User.Identity.Name, fileName), FileMode.Create)) { await file.CopyToAsync(fileStream); } //add the file url to category customer.ProfilePhoto = User.Identity.Name + "/" + fileName; } //save changes _customerDataService.Update(customer); user.Email = vm.Email; user.UserName = vm.UserName; await _userManagerService.UpdateAsync(user); //go home return(RedirectToAction("Index", "Customer")); } return(View(vm)); }
//[Authorize("TravelProvider")] public async Task <IActionResult> Update(PackageUpdateViewModel vm, IFormFile file) { if (ModelState.IsValid) { //get the user who already logged in IdentityUser user = await _userManagerService.FindByNameAsync(User.Identity.Name); Package pack = new Package { UserId = user.Id, PackageId = vm.PackageId, PackName = vm.PackName, PackLocation = vm.PackLocation, PackDescription = vm.PackDescription, PackPrice = vm.PackPrice, PackImage = vm.PackImage, PackageStatus = vm.PackageStatus }; if (file != null) { //upload server path var uploadPath = Path.Combine(_environment.WebRootPath, "images"); //create subfolder Directory.CreateDirectory(Path.Combine(uploadPath, User.Identity.Name)); //get the file name string fileName = FileNameHelper.GetNameFormated(Path.GetFileName(file.FileName)); // stream the file to the srever using (var fileStream = new FileStream(Path.Combine(uploadPath, User.Identity.Name, fileName), FileMode.Create)) { await file.CopyToAsync(fileStream); } //add the file url to category pack.PackImage = "images" + "/" + User.Identity.Name + "/" + fileName; } //save changes _packageDataService.Update(pack); //go home return(RedirectToAction("Index", "Package")); } return(View(vm)); }
public async Task <IActionResult> Create(LocationCreateViewModel vm, IFormFile file) { if (ModelState.IsValid) { //check exists - Name = UNQ Location existingLocation = _locationService.GetSingle(loc => loc.Name == vm.Name); if (existingLocation == null) { Location loc = new Location { Name = vm.Name, Details = vm.Details, Active = vm.Active, State = vm.State }; //upload the picture to the file system //assign the picture URL to the cat object if (file != null) { //get the file name string fileName = FileNameHelper.GetNameFormated(Path.GetFileName(file.FileName)); await _blobService.UploadFileBlobAsync(file, Path.Combine("uploads", User.Identity.Name, fileName)); //assign the picture URL to the cat object loc.Picture = User.Identity.Name + "/" + fileName; } //save to db _locationService.Create(loc); //go home return(RedirectToAction("Index", "Home")); } else { ViewBag.MyMessage = "Location name exists. Please change the name"; return(View(vm)); } } else { return(View(vm)); } }
public async Task <IActionResult> Update(LocationUpdateViewModel vm, IFormFile file) { if (ModelState.IsValid) { Location location = _locationService.GetSingle(l => l.Name == vm.Name); location.Name = vm.Name; location.State = vm.State; location.Details = vm.Details; location.Active = vm.Active; if (file != null) { //check ?? //upload server path var serverPath = Path.Combine(_environment.WebRootPath, "uploads"); //create a folder Directory.CreateDirectory(Path.Combine(serverPath, User.Identity.Name)); //get the file name string fileName = FileNameHelper.GetNameFormated(Path.GetFileName(file.FileName)); //stream the file to the srever using (var fileStream = new FileStream(Path.Combine(serverPath, User.Identity.Name, fileName), FileMode.Create)) { await file.CopyToAsync(fileStream); } //assign the picture URL to the cat object location.Picture = User.Identity.Name + "/" + fileName; } //save to db _locationService.Update(location); //go home return(RedirectToAction("Details", "Location", new { name = vm.Name })); } else { ViewBag.MyMessage = "Location name exists. Please change the name"; return(View(vm)); } }
public async Task <IActionResult> Register(CustomerRegisterViewModel vm, IFormFile file) { if (ModelState.IsValid) { //user IdentityUser user = new IdentityUser(vm.UserName); //add to database IdentityResult result = await _userManagerService.CreateAsync(user, vm.Password); if (vm.Password != null) { vm.Password = vm.ConfirmPassword; } if (result.Succeeded) { //add a default role if (await _roleManagerService.FindByNameAsync("Customer") != null) { await _userManagerService.AddToRoleAsync(user, "Customer"); } //add default profile //get the user back to find the id user = await _userManagerService.FindByNameAsync(vm.UserName); Customer profile = new Customer { UserId = user.Id, FirstName = vm.FirstName, LastName = vm.LastName, Address = vm.Address, Email = vm.Email, Phone = vm.Mobile, ProfilePhoto = vm.ProfilePhoto }; //..file if (file != null) { //upload server path var uploadPath = Path.Combine(_environment.WebRootPath, "images"); //create subfolder Directory.CreateDirectory(Path.Combine(uploadPath, vm.UserName)); //get the file name string fileName = FileNameHelper.GetNameFormated(Path.GetFileName(file.FileName)); // stream the file to the srever using (var fileStream = new FileStream(Path.Combine(uploadPath, vm.UserName, fileName), FileMode.Create)) { await file.CopyToAsync(fileStream); } //add the file url to category profile.ProfilePhoto = vm.UserName + "/" + fileName; } _customerDataService.Create(profile); //go to home page return(RedirectToAction("Login", "Account")); } else { foreach (var item in result.Errors) { //show ModelState.AddModelError("", item.Description); } } } return(View(vm)); }