Ejemplo n.º 1
0
        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));
            }
        }
Ejemplo n.º 2
0
        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));
            }
        }
Ejemplo n.º 3
0
        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));
        }
Ejemplo n.º 4
0
        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));
        }