public ActionResult RegisterSeller(RegisterSellerViewModel model) { using (var context = new ApplicationDbContext()) { if (ModelState.IsValid) { string userId = User.Identity.GetUserId(); ApplicationUser user = UserManager.Users.Where(u => u.Id == userId).First(); Guid guid = Guid.NewGuid(); string idstring = guid.ToString(); Seller seller = new Seller(); seller.IsVerified = false; seller.SellerId = idstring; seller.FirstName = user.FirstName; seller.LastName = user.LastName; seller.Email = user.Email; seller.About = model.About; seller.Description = model.Description; seller.AddressLine1 = model.AddressLine1; seller.AddressLine2 = model.AddressLine2; seller.AddressLine3 = model.AddressLine3; seller.ASPUserId = userId; seller.Mobile = model.Mobile; seller.City = model.City; seller.PostCode = model.PostCode; seller.Country = model.Country; AddSellerToDatabase(seller); UserManager.AddToRole(user.Id, "Seller"); user.IsSeller = true; UserManager.UpdateAsync(user); sendVerifyCompanyEmail(seller); return(RedirectToAction("Index", "Home")); } // If we got this far, something failed, redisplay form return(View(model)); } }
public ActionResult RegisterSeller(RegisterSellerViewModel model) { using (var context = new ApplicationDbContext()) { if (ModelState.IsValid) { string userId = User.Identity.GetUserId(); ApplicationUser user = UserManager.Users.Where(u => u.Id == userId).First(); Guid guid = Guid.NewGuid(); string idstring = guid.ToString(); Seller seller = new Seller(); seller.IsVerified = false; seller.SellerId = idstring; seller.FirstName = user.FirstName; seller.LastName = user.LastName; seller.Email = user.Email; seller.About = model.About; seller.Description = model.Description; seller.AddressLine1 = model.AddressLine1; seller.AddressLine2 = model.AddressLine2; seller.AddressLine3 = model.AddressLine3; seller.ASPUserId = userId; seller.Mobile = model.Mobile; seller.City = model.City; seller.PostCode = model.PostCode; seller.Country = model.Country; seller.ImagePath = "data:image/png;base64,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"; AddSellerToDatabase(seller); user.IsSeller = true; UserManager.UpdateAsync(user); sendVerifyCompanyEmail(seller); return(RedirectToAction("Index", "Home")); } // If we got this far, something failed, redisplay form return(View(model)); } }
public async Task <IActionResult> RegisterSeller(RegisterSellerViewModel model, string returnUrl = null) { ViewData["AllCategories"] = _categoryRepository.GetAll().ToList(); ViewData["ReturnUrl"] = returnUrl; if (ModelState.IsValid) { var user = new ApplicationUser { UserName = model.Email, Email = model.Email }; var result = await _userManager.CreateAsync(user, Guid.NewGuid().ToString()); if (result.Succeeded) { await _userManager.AddClaimAsync(user, new Claim(ClaimTypes.Role, "seller")); var message = new MailMessage(); message.From = new MailAddress("*****@*****.**"); message.To.Add("*****@*****.**"); message.Subject = "Một người bán mới vừa đăng ký thông qua hình thức đại lý"; message.Body = String.Format("Tên cửa hàng: {0}\n" + "Địa chỉ email: {1}\n" + "Số điện thoại: {2}" + "Tên đường: {3}\n" + "Số nhà: {4}\n" + "Postcode: {5}\n" + "Thành phố: {6}\n" + "Mô tả: {7}\n", model.NameOfBusiness, model.Email, model.PhoneNumber, model.Street, model.ApartmentNumber, model.Postcode, model.City, model.Description); Seller nieuweSeller = new Seller(model.NameOfBusiness, model.Email, model.PhoneNumber, model.Description, model.Street, model.ApartmentNumber, model.Postcode, model.City, false); _userRepository.Add(new User { EmailAddress = model.Email, FirstName = model.NameOfBusiness, FamilyName = "", Sex = Shop.Models.Domain.Enum.Sex.Different }); _sellerRepository.Add(nieuweSeller); _userRepository.SaveChanges(); _sellerRepository.SaveChanges(); var filePath = @"wwwroot/images/seller/" + nieuweSeller.SellerId + "/logo.jpg"; Directory.CreateDirectory(Path.GetDirectoryName(filePath)); var fileStream = new FileStream(filePath, FileMode.Create); await model.Logo.CopyToAsync(fileStream); fileStream.Close(); var attachment = new Attachment(@"wwwroot/images/seller/" + nieuweSeller.SellerId + "/logo.jpg"); attachment.Name = "logo.jpg"; message.Attachments.Add(attachment); var SmtpServer = new SmtpClient("smtp.gmail.com"); SmtpServer.Port = 587; SmtpServer.Credentials = new System.Net.NetworkCredential("*****@*****.**", "1234567893bros"); SmtpServer.EnableSsl = true; SmtpServer.Send(message); message.Attachments.Remove(attachment); attachment.Dispose(); message.From = new MailAddress("*****@*****.**"); message.To.Clear(); message.To.Add(model.Email); message.Subject = "Yêu cầu của bạn để trở thành người bán trên 3BrosShop"; message.Body = String.Format("Kính gửi {0}, \n" + "yêu cầu của bạn để trở thành người bán tại 3brosShop đang được xác nhận \n\n" + "Thông tin dưới đây sẽ được xem xét bởi quản trị viên. vui lòng bạn đợi một email xác nhận trong một thời gian ngắn." + "Tên cửa hàng: {1}\n" + "Địa chỉ Email: {2}\n" + "Tên đường: {3}\n" + "Số nhà: {4}\n" + "Postcode: {5}\n" + "Thành Phố: {6}\n" + "Mô tả: {7}\n", model.NameOfBusiness, model.NameOfBusiness, model.Email, model.Street, model.ApartmentNumber, model.Postcode, model.City, model.Description); SmtpServer.Send(message); return(RedirectToLocal(returnUrl)); } AddErrors(result); } // If we got this far, something failed, redisplay form ViewData["categorie"] = new SelectList(_categoryRepository.GetAll().Select(c => c.Name)); return(View(model)); }
public async Task <IActionResult> Register(RegisterSellerViewModel item) { bool Status = false; string Message = ""; Initializer(); //MOdel Validation if (ModelState.IsValid) { #region //Email already exist var IsExist = _sellerRepository.IsEmailExist(item.Email); if (IsExist) { ModelState.AddModelError("EmailExist", "Email already exist in our records"); return(View("Register", registerSellerViewModel)); } #endregion } else { Message = "Invalid Request"; return(View("Register", registerSellerViewModel)); } var seller = new Seller(); var idFile = item.IdCard; var bFile = item.BrandImage; if (idFile.Length > 0) { if (bFile.Length > 0) { var bFileSplit = bFile.FileName.Split('.'); var bFileExtension = bFileSplit.Last(); var bFileName = Guid.NewGuid() + "." + bFileExtension; var bPath = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot/images/brandImages", bFileName); //string fileName = Path.Combine(_hostingEnvironment.WebRootPath, Path.GetFileName(file)); using (var bStream = new FileStream(bPath, FileMode.Create)) { await bFile.CopyToAsync(bStream); } item.BrandImageUrl = $"/images/brandImages/{bFileName}"; } var idFileSplit = idFile.FileName.Split('.'); var idFileExtension = idFileSplit.Last(); var idFileName = Guid.NewGuid() + "." + idFileExtension; var path = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot/images/sellerIdCard", idFileName); //string fileName = Path.Combine(_hostingEnvironment.WebRootPath, Path.GetFileName(file)); using (var stream = new FileStream(path, FileMode.Create)) { await idFile.CopyToAsync(stream); } var guid = Guid.NewGuid(); string ac = guid.ToString(); item.Password = item.Password.Hash(); item.IdCardUrl = $"/images/sellerIdCard/{idFileName}"; seller.FirstName = item.FirstName; seller.MiddleName = item.MiddleName; seller.Lastname = item.Lastname; seller.Address = item.Address; seller.BrandImageUrl = item.BrandImageUrl; seller.IdCard = item.IdCardUrl; seller.Dob = item.Dob; seller.ShopName = item.ShopName; seller.Email = item.Email; seller.ScategoryId = item.ScategoryId; seller.Phone = item.Phone; seller.MailVerified = false; seller.IdVerified = false; seller.ActivationCode = ac; seller.Password = item.Password; _sellerRepository.Create(seller); //Send email // SendVerificationMail(item.Email, ac); //try //{ // SendVerificationMail(item.Email, ac); //} //catch (Exception) //{ //} Message = "Registration successfully done. Please check your" + " mail (" + item.Email + ") for an activation link to verify your account"; Status = true; } ViewBag.Message = Message; ViewBag.Status = Status; return(View("Register", registerSellerViewModel)); }