コード例 #1
0
        public ActionResult Edit(int id)
        {
            Sprovider sprovider = sproviderRepository.Find(id);

            ViewData["CategoryId"] = new SelectList(categoryRepository.List(), "Id", "Name", sprovider.CategoryId);
            //ViewData["UserId"] = new SelectList(categoryRepository.List(), "Id", "Id", sprovider.UserId);
            return(View(sprovider));
        }
コード例 #2
0
        public async Task <IActionResult> Edit(int id, Sprovider sprovider)
        {
            if (ModelState.IsValid)
            {
                string UrlImage = "";
                var    files    = HttpContext.Request.Form.Files;
                foreach (var Image in files)
                {
                    if (Image != null && Image.Length > 0)
                    {
                        var file = Image;

                        var uploads = Path.Combine(hostingEnvironment.WebRootPath, "uploads/sprovider");
                        if (file.Length > 0)
                        {
                            // var fileName = Guid.NewGuid().ToString().Replace("-", "") + Path.GetExtension(file.FileName);
                            var fileName = Guid.NewGuid().ToString().Replace("-", "") + file.FileName;
                            using (var fileStream = new FileStream(Path.Combine(uploads, fileName), FileMode.Create))
                            {
                                await file.CopyToAsync(fileStream);

                                UrlImage = fileName;
                            }
                        }
                    }
                }
                Sprovider newSprovider = sproviderRepository.Find(id);
                if (UrlImage != "")
                {
                    var Directory = Path.Combine(hostingEnvironment.WebRootPath, "uploads/sprovider");
                    var fullPath  = Path.Combine(Directory, newSprovider.Image);
                    if (System.IO.File.Exists(fullPath))
                    {
                        System.IO.File.Delete(fullPath);
                    }
                    newSprovider.Image = UrlImage;
                }
                newSprovider.CompanyName = sprovider.CompanyName;
                newSprovider.CategoryId  = sprovider.CategoryId;
                newSprovider.MapLocation = sprovider.MapLocation;

                sproviderRepository.Update(id, newSprovider);

                return(RedirectToAction(nameof(Index)));
            }
            return(View(sprovider));
        }
コード例 #3
0
 public void Add(Sprovider entity)
 {
     db.Sprovider.Add(entity);
     db.SaveChanges();
 }
コード例 #4
0
 public void Update(int id, Sprovider entity)
 {
     db.Update(entity);
     db.SaveChanges();
 }
コード例 #5
0
        public async Task <IActionResult> OnPostAsync(string returnUrl = null)
        {
            returnUrl = returnUrl ?? Url.Content("~/");
            if (ModelState.IsValid)
            {
                var user = new ApplicationUser
                {
                    UserName       = Input.Email,
                    Email          = Input.Email,
                    FirstName      = Input.FirstName,
                    LastName       = Input.LastName,
                    NationalId     = Input.NationalId,
                    City           = Input.City,
                    Address        = Input.Address,
                    HomeLocation   = Input.HomeLocation,
                    BirthDate      = Input.BirthDate,
                    Gender         = Input.Gender,
                    PhoneNumber    = Input.PhoneNumber,
                    UserType       = "ServiceProvider",
                    RegisteredDate = DateTime.Now,
                    Status         = "Active",
                    FullName       = Input.FirstName + " " + Input.LastName
                };
                var result = await _userManager.CreateAsync(user, Input.Password);

                if (result.Succeeded)
                {
                    //Add Claims To Users
                    var UserManager = _serviceProvider.GetRequiredService <Microsoft.AspNetCore.Identity.UserManager <ApplicationUser> >();
                    await UserManager.AddClaimAsync(user, new Claim("ServiceProvider", "true"));

                    _logger.LogInformation("User created a new account with password.");

                    var code = await _userManager.GenerateEmailConfirmationTokenAsync(user);

                    var callbackUrl = Url.Page(
                        "/Account/ConfirmEmail",
                        pageHandler: null,
                        values: new { userId = user.Id, code = code },
                        protocol: Request.Scheme);

                    await _emailSender.SendEmailAsync(Input.Email, "Confirm your email",
                                                      $"Please confirm your account by <a href='{HtmlEncoder.Default.Encode(callbackUrl)}'>clicking here</a>.");

                    await _signInManager.SignInAsync(user, isPersistent : false);

                    //Add SProvider
                    string UrlImage = "";
                    var    files    = HttpContext.Request.Form.Files;
                    foreach (var Image in files)
                    {
                        if (Image != null && Image.Length > 0)
                        {
                            var file = Image;

                            var uploads = Path.Combine(_hostingEnvironment.WebRootPath, "uploads/sprovider");
                            if (file.Length > 0)
                            {
                                // var fileName = Guid.NewGuid().ToString().Replace("-", "") + Path.GetExtension(file.FileName);
                                var fileName = Guid.NewGuid().ToString().Replace("-", "") + file.FileName;
                                using (var fileStream = new FileStream(Path.Combine(uploads, fileName), FileMode.Create))
                                {
                                    await file.CopyToAsync(fileStream);

                                    UrlImage = fileName;
                                }
                            }
                        }
                    }
                    Sprovider Sprovider = new Sprovider
                    {
                        UserId      = user.Id,
                        Rating      = 0,
                        Image       = UrlImage,
                        CompanyName = Input.CompanyName,
                        CategoryId  = Input.CategoryId
                    };
                    _Sprovider.Add(Sprovider);

                    return(LocalRedirect(returnUrl));
                }
                foreach (var error in result.Errors)
                {
                    ModelState.AddModelError(string.Empty, error.Description);
                }
            }
            ViewData["CategoryId"] = new SelectList(_categoryRepository.List(), "Id", "Name");

            // If we got this far, something failed, redisplay form
            return(Page());
        }