Пример #1
0
        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));
            }
        }
Пример #2
0
        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));
        }
Пример #3
0
        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));
            }
        }