public ActionResult SellerRegisterDetail(int ID, string SearchText = "", int PageNos = 10, int PageIndex = 1)
        {
            CarSalesDBEntities db     = new CarSalesDBEntities();
            Seller             seller = db.Sellers.Find(ID);

            if (seller == null)
            {
                return(HttpNotFound());
            }



            var vehicleAdvertisements = db.VehicleAdvertisements.Where(e => (SearchText.Length > 0 ? e.Title.Contains(SearchText.Trim()) : true));
            var VehicleSeller         = db.VehicleSellers.Where(e => e.SellerID == ID);

            vehicleAdvertisements = vehicleAdvertisements.Join(VehicleSeller,
                                                               VAdvertisement => VAdvertisement.Reference_ID,
                                                               VSeller => VSeller.VehicleID,
                                                               (VAdvertisement, VSeller) => VAdvertisement);


            int PageCount = (vehicleAdvertisements.Count() + PageNos - 1) / PageNos;

            int SkipCount  = (PageIndex - 1) * PageNos;
            var vehicleAdd = vehicleAdvertisements.OrderBy(p => p.Reference_ID).Skip(SkipCount).Take(PageNos);
            SellerRegisterModel SellerRegisterModel = new SellerRegisterModel();

            SellerRegisterModel.Advertisement = vehicleAdd.Select(e => new CarSalesVehicleAdvertisement()
            {
                AudoMeter      = e.AudoMeter,
                BodyType       = e.BodyType,
                Description    = e.Description,
                EngineCapacity = e.EngineCapacity,
                Feature        = e.Feature,
                Fuel           = e.Fuel,
                IsFeatured     = e.IsFeatured,
                Make           = e.Make,
                Model          = e.Model,
                Price          = e.Price,
                Reference_ID   = e.Reference_ID,
                Reference_No   = e.Reference_No,
                Spects         = e.Spects,
                Title          = e.Title,
                Transmission   = e.Transmission
            });
            SellerRegisterModel.PageIndex     = PageIndex;
            SellerRegisterModel.PageNos       = PageCount;
            SellerRegisterModel.SearchText    = SearchText;
            SellerRegisterModel.AspNetUsersId = seller.AspNetUsersId;
            SellerRegisterModel.ContactEMail  = seller.ContactEMail;
            SellerRegisterModel.ContactMobile = seller.ContactMobile;
            SellerRegisterModel.ContactPhone  = seller.ContactPhone;
            SellerRegisterModel.ID            = seller.ID;
            SellerRegisterModel.Name          = seller.Name;
            SellerRegisterModel.PickupAddress = seller.PickupAddress;
            SellerRegisterModel.PostCode      = seller.PostCode;

            return(View(SellerRegisterModel));
        }
        public async Task <ActionResult> SellerRegister(SellerRegisterModel model)
        {
            var identityUser = await UserManager.FindByNameAsync(model.ContactEMail);

            if (identityUser != null)
            {
                Seller seller = new Seller()
                {
                    AspNetUsersId = identityUser.Id,
                    ContactEMail  = model.ContactEMail,
                    ContactMobile = model.ContactMobile,
                    ContactPhone  = model.ContactPhone,
                    Name          = model.Name,
                    PickupAddress = model.PickupAddress,
                    PostCode      = model.PostCode
                };
                CarSalesDBEntities db = new CarSalesDBEntities();
                db.Sellers.Add(seller);
                db.SaveChanges();

                return(RedirectToAction("SellerRegisterDetail", "Account", new { ID = seller.ID }));
            }

            var result = await UserManager.PasswordValidator.ValidateAsync(model.Password);

            if (!result.Succeeded)
            {
                ModelState.AddModelError("", result.Errors.FirstOrDefault());
                return(View(model));
            }

            var user = new IdentityUser(model.ContactEMail)
            {
                Email = model.ContactEMail
            };
            var identityResult = await UserManager.CreateAsync(user, model.Password);

            if (identityResult.Succeeded)
            {
                Seller seller = new Seller()
                {
                    AspNetUsersId = user.Id,
                    ContactEMail  = model.ContactEMail, ContactMobile = model.ContactMobile, ContactPhone = model.ContactPhone,
                    Name          = model.Name, PickupAddress = model.PickupAddress, PostCode = model.PostCode
                };
                CarSalesDBEntities db = new CarSalesDBEntities();
                db.Sellers.Add(seller);
                db.SaveChanges();
                var signInStatus = SignInManager.PasswordSignIn(user.Email, model.Password, true, true);

                return(RedirectToAction("SellerRegisterDetail", "Account", new { ID = seller.ID }));
            }

            ModelState.AddModelError("", identityResult.Errors.FirstOrDefault());

            return(View(model));
        }
 public ActionResult SellerRegister()
 {
     if (System.Web.HttpContext.Current.User.Identity.IsAuthenticated)
     {
         SellerRegisterModel model = new SellerRegisterModel();
         model.ContactEMail = System.Web.HttpContext.Current.User.Identity.Name;
         model.IsUser       = true;
         return(View(model));
     }
     else
     {
         SellerRegisterModel model = new SellerRegisterModel();
         model.IsUser = false;
         return(View(model));
     }
 }
        public ActionResult SellerRegisterEdit(SellerRegisterModel SellerRegisterModel)
        {
            CarSalesDBEntities db     = new CarSalesDBEntities();
            Seller             seller = db.Sellers.Find(SellerRegisterModel.ID);

            if (seller == null)
            {
                return(HttpNotFound());
            }
            else
            {
                seller.Name            = SellerRegisterModel.Name;
                seller.ContactEMail    = SellerRegisterModel.ContactEMail;
                seller.ContactMobile   = SellerRegisterModel.ContactMobile;
                seller.ContactPhone    = SellerRegisterModel.ContactPhone;
                seller.PickupAddress   = SellerRegisterModel.PickupAddress;
                seller.PostCode        = SellerRegisterModel.PostCode;
                db.Entry(seller).State = EntityState.Modified;
                db.SaveChanges();

                return(RedirectToAction("SellerRegisterDetail", "Account", new { ID = seller.ID }));
            }
        }