예제 #1
0
        public ActionResult SetProfileImages(HttpPostedFileBase[] headerImageFile)
        {
            try
            {
                //get the dealer id from dealership account service
                var dealershipService = new DealershipAccountService(db);
                var imageService      = new ImageManagementService(db);
                var currentDealerId   = dealershipService.GetCurrentUserDealershipIdFromIdentity();

                //add images to Dealership table using image service
                var dealership = db.Dealerships.FirstOrDefault(x => x.Id == currentDealerId);
                if (dealership != null)
                {
                    //imageService.AssignProfileImagesToDealership(currentDealerId, headerImageFile, iconImageFile);
                }

                return(RedirectToAction("Index"));
            }
            catch (Exception ex)
            {
                var errorService = new ErrorService(db);
                errorService.logError(ex);

                throw (ex);
            }
        }
예제 #2
0
        public JsonResult GetCurrentDealershipInfo()
        {
            try
            {
                var service               = new DealershipAccountService(db);
                var currentId             = service.GetCurrentUserDealershipIdFromIdentity();
                var dealership            = db.Dealerships.FirstOrDefault(x => x.Id == currentId);
                var dealershipEditManager = new DealershipManager
                {
                    Id          = dealership.Id,
                    CompanyName = dealership.CompanyName,
                    Email       = dealership.Email,
                    City        = dealership.City,
                    State       = dealership.State,
                    ZipCode     = dealership.ZipCode,
                    Notes       = dealership.Notes,
                    PhoneNumber = dealership.PhoneNumber
                };

                /*
                 * var companyName = dealership.CompanyName;
                 * var email = dealership.Email;
                 * var city = dealership.City;
                 * var state = dealership.State;
                 * var zipcode = dealership.ZipCode;
                 * var notes = dealership.Notes;
                 * var phone = dealership.PhoneNumber;
                 */

                return(Json(dealershipEditManager, JsonRequestBehavior.AllowGet));
            }catch (Exception exception)
            {
                throw (exception);
            }
        }
예제 #3
0
        public async Task <ActionResult> Edit([Bind(Include = "Id,CompanyName,Email,City,State,ZipCode,FaxNumber,Notes,PhoneNumber")] Dealership dealership)
        {
            try
            {
                var    service    = new DealershipAccountService(db);
                string identityId = service.GetCurrentUserIdentity();
                dealership.AutoScoutIdentityUserId = identityId;

                if (ModelState.IsValid)
                {
                    db.Entry(dealership).State = EntityState.Modified;
                    await db.SaveChangesAsync();

                    ViewBag.ResponseMessage = "Your changes have been saved.";
                }
                //ViewBag.AutoScoutIdentityUserId = new SelectList(db.Dealerships, "Id", "Email", dealership.AutoScoutIdentityUserId);
                return(View("ManageProfile"));
            }
            catch (Exception ex)
            {
                var errorService = new ErrorService(db);
                errorService.logError(ex);

                throw (ex);
            }
        }
예제 #4
0
        public async Task <ActionResult> Register(RegisterViewModel model)
        {
            if (ModelState.IsValid)
            {
                var user = new AutoScoutIdentityUser {
                    UserName = model.Email, Email = model.Email
                };
                var result = await UserManager.CreateAsync(user, model.Password);

                if (result.Succeeded)
                {
                    //get the context
                    var service = new DealershipAccountService(HttpContext.GetOwinContext().Get <AutoScoutDBContext>());

                    //register dealers AutoScout account from Identity
                    service.RegisterDealershipAccount(model.CompanyName, user.Id, model.Email, model.City, model.State, model.ZipCode, model.PhoneNumber, model.FaxNumber, model.Notes);

                    UserManager.AddClaim(user.Id, new Claim(ClaimTypes.GivenName, model.CompanyName));

                    await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false);

                    // For more information on how to enable account confirmation and password reset please visit http://go.microsoft.com/fwlink/?LinkID=320771
                    // Send an email with this link
                    // string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id);
                    // var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme);
                    // await UserManager.SendEmailAsync(user.Id, "Confirm your account", "Please confirm your account by clicking <a href=\"" + callbackUrl + "\">here</a>");

                    return(RedirectToAction("Index", "Home"));
                }
                AddErrors(result);
            }

            // If we got this far, something failed, redisplay form
            return(View(model));
        }
예제 #5
0
        public JsonResult GetCurrentDealershipInfo()
        {
            try
            {
                var service               = new DealershipAccountService(db);
                var currentId             = service.GetCurrentUserDealershipIdFromIdentity();
                var dealership            = db.Dealerships.FirstOrDefault(x => x.Id == currentId);
                var dealershipEditManager = new DealershipManager
                {
                    Id          = dealership.Id,
                    CompanyName = dealership.CompanyName,
                    Email       = dealership.Email,
                    City        = dealership.City,
                    State       = dealership.State,
                    ZipCode     = dealership.ZipCode,
                    Notes       = dealership.Notes,
                    PhoneNumber = dealership.PhoneNumber,
                    FaxNumber   = dealership.FaxNumber
                };

                return(Json(dealershipEditManager, JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                var errorService = new ErrorService(db);
                errorService.logError(ex);

                throw (ex);
            }
        }
예제 #6
0
        //GET - retrieve jason representations of vehicle images to render to view
        public JsonResult LoadVehicleImages(int id)
        {
            try
            {
                var vehicleService    = new VehicleSearchService(db);
                var dealershipService = new DealershipAccountService(db);
                var images            = vehicleService.GetAllVehicleImages(id);


                var vehicleImages = new List <VehicleImageViewModel>();
                if (images != null)
                {
                    foreach (var item in images)
                    {
                        var imageBytes = item.ImageBytes;
                        //convert image byte array to base64 string to be rendered properly in browser
                        var imageBytesBase64String = Convert.ToBase64String(imageBytes);


                        vehicleImages.Add(new VehicleImageViewModel(item.Id, imageBytesBase64String));
                    }
                    return(Json(vehicleImages, JsonRequestBehavior.AllowGet));
                }
                return(null);
            }
            catch (Exception ex)
            {
                var errorService = new ErrorService(db);
                errorService.logError(ex);

                throw (ex);
            }
        }
예제 #7
0
        // GET: Vehicles/Delete/5
        public void Delete(int?id)
        {
            try
            {
                if (id != null)
                {
                    Vehicle vehicle = db.Vehicles.Find(id);
                    if (vehicle != null)
                    {
                        string make  = vehicle.Make;
                        string model = vehicle.Model;
                        string year  = vehicle.Year.ToString();
                        string item  = year + " " + make + " " + model;
                        ViewBag.stringDescription = item;

                        var dealershipService = new DealershipAccountService(db);
                        var currentDealerId   = dealershipService.GetCurrentUserDealershipIdFromIdentity();
                        dealershipService.DeleteVehicleFromInventory(vehicle.Id, currentDealerId);
                    }
                }
            }
            catch (Exception ex)
            {
                var errorService = new ErrorService(db);
                errorService.logError(ex);

                throw (ex);
            }
        }
예제 #8
0
        public JsonResult GetDealershipInfo(int id)
        {
            try
            {
                var service               = new DealershipAccountService(db);
                var dealership            = service.GetDealership(id);
                var dealershipEditManager = new DealershipManager
                {
                    Id          = dealership.Id,
                    CompanyName = dealership.CompanyName,
                    Email       = dealership.Email,
                    City        = dealership.City,
                    State       = dealership.State,
                    ZipCode     = dealership.ZipCode,
                    Notes       = dealership.Notes,
                    PhoneNumber = dealership.PhoneNumber,
                    FaxNumber   = dealership.FaxNumber
                };

                return(Json(dealershipEditManager, JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                var errorService = new ErrorService(db);
                errorService.logError(ex);

                throw (ex);
            }
        }
예제 #9
0
        public ActionResult Contact()
        {
            var service      = new DealershipAccountService(db);
            var dealershipId = service.GetCurrentUserDealershipIdFromIdentity();

            ViewBag.Name = service.GetCurrentUserNameFromDealershipId(dealershipId);

            return(View());
        }
예제 #10
0
        public Vehicle()
        {
            var context      = new AutoScoutDBContext();
            var service      = new DealershipAccountService(context);
            var dealershipId = service.GetCurrentUserDealershipIdFromIdentity();

            DealershipId = dealershipId;
            DateCreated  = DateTime.Now.ToUniversalTime();

            Visible = true;
            Active  = true;
        }
예제 #11
0
        // GET: Dealerships/Details/5
        public async Task <ActionResult> Details(int?id)
        {
            try
            {
                if (id == null)
                {
                    return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
                }
                Dealership dealership = await db.Dealerships.FindAsync(id);

                if (dealership == null)
                {
                    return(HttpNotFound());
                }
                //use the image management service to get the background image converted to a base 64 string
                var imageService = new ImageManagementService(db);

                var iconString       = "";
                var backgroundString = "";

                if (dealership.Icon != null)
                {
                    var dealershipIconImage = imageService.GetDealershipProfileIconAsBase64String(dealership.Id);
                    iconString = "data:image/png;base64," + dealershipIconImage;
                }

                if (dealership.ProfileBackgroundImage != null)
                {
                    var dealershipBackgroundImage = imageService.GetDealershipProfileBackgroundAsBase64String(dealership.Id);
                    backgroundString = "data:image/png;base64," + dealershipBackgroundImage;
                }

                //pass image base 64 strings to view using ViewBag
                ViewBag.Icon       = iconString;
                ViewBag.Background = backgroundString;

                //acquire full vehicle inventory
                var dealershipService = new DealershipAccountService(db);
                var vehicles          = dealershipService.GetAllVehiclesInInventory(dealership.Id);

                ViewBag.Vehicles = vehicles.ToList();

                return(View(dealership));
            }
            catch (Exception ex)
            {
                var errorService = new ErrorService(db);
                errorService.logError(ex);

                throw (ex);
            }
        }
예제 #12
0
        public void EditDetails(int id, string companyName, string email, string city, string state, string zipCode, string phoneNumber, string faxNumber, string notes)
        {
            try
            {
                var dealershipService = new DealershipAccountService(db);
                dealershipService.SaveDealershipDetails(id, companyName, email, city, state, zipCode, phoneNumber, faxNumber, notes);
            }
            catch (Exception ex)
            {
                var errorService = new ErrorService(db);
                errorService.logError(ex);

                throw (ex);
            }
        }
예제 #13
0
        public ActionResult Create([Bind(Include = "Id,VIN,Mileage,ExteriorColor,InteriorColor,Make,Model,Year,Price,Transmission,Style,Condition,CylinderNumber,TransmissionType")] Vehicle vehicle)
        {
            var dealershipService = new DealershipAccountService(db);
            var dealershipId      = dealershipService.GetCurrentUserDealershipIdFromIdentity();

            vehicle.DealershipId = dealershipId;


            if (ModelState.IsValid)
            {
                db.Vehicles.Add(vehicle);
                db.SaveChanges();
                return(RedirectToAction("AddImage", new { id = vehicle.Id }));
            }

            ViewBag.DealershipId = new SelectList(db.Dealerships, "Id", "CompanyName", vehicle.DealershipId);
            return(View(vehicle));
        }
예제 #14
0
        // GET: Dealerships
        public async Task <ActionResult> Index()
        {
            try
            {
                var        dealershipService = new DealershipAccountService(db);
                var        dealershipId      = dealershipService.GetCurrentUserDealershipIdFromIdentity();
                Dealership dealership        = await db.Dealerships.FindAsync(dealershipId);

                return(View(dealership));
            }
            catch (Exception ex)
            {
                var errorService = new ErrorService(db);
                errorService.logError(ex);

                throw (ex);
            }
        }
예제 #15
0
 // GET: Vehicles
 public ActionResult Index()
 {
     using (var db = new AutoScoutDBContext())
     {
         var service       = new DealershipAccountService(db);
         int currentUserId = service.GetCurrentUserDealershipIdFromIdentity();
         var dealership    = db.Dealerships.FirstOrDefault(x => x.Id == currentUserId);
         if (currentUserId != 0 && currentUserId != 1)
         {
             var vehicles = db.Vehicles.Where(x => x.DealershipId == currentUserId);
             ViewBag.CompanyName = dealership.CompanyName;
             return(View(vehicles.ToList()));
         }
         else
         {
             var vehicles = db.Vehicles.Where(x => x.Make != null).ToList();
             return(View(vehicles));
         }
     }
 }
예제 #16
0
        // GET: Vehicles
        public ActionResult Index()
        {
            try
            {
                using (var db = new AutoScoutDBContext())
                {
                    var service       = new DealershipAccountService(db);
                    int currentUserId = service.GetCurrentUserDealershipIdFromIdentity();
                    var dealership    = db.Dealerships.FirstOrDefault(x => x.Id == currentUserId);

                    var allMakes          = db.Vehicles.Select(x => x.Make).ToList().Distinct();
                    var allModels         = db.Vehicles.Select(x => x.Model).ToList().Distinct();
                    var allExteriorColors = db.Vehicles.Select(x => x.ExteriorColor).ToList().Distinct();
                    var allYears          = db.Vehicles.Select(x => x.Year).ToList().Distinct();

                    ViewBag.AllModels         = allModels;
                    ViewBag.AllMakes          = allMakes;
                    ViewBag.AllExteriorColors = allExteriorColors;
                    ViewBag.AllYears          = allYears;

                    var vehicles = db.Vehicles.Where(x => x.Make != null).ToList();
                    if (vehicles.Count < 1 || vehicles == null)
                    {
                        ViewBag.ErrorMessage = "Sorry, your search returned no results. Please change your search criteria and try again.";
                    }
                    ViewBag.AllVehicles = vehicles.ToList();

                    return(View(vehicles));
                }
            }
            catch (Exception ex)
            {
                var errorService = new ErrorService(db);
                errorService.logError(ex);

                throw (ex);
            }
        }
예제 #17
0
        public void DeleteVehicleImage(int?vehicleImageId)
        {
            try
            {
                var vehicleService    = new VehicleSearchService(db);
                var dealershipService = new DealershipAccountService(db);
                if (vehicleImageId != null)
                {
                    var vehicleImage = db.VehicleImages.Find(vehicleImageId);
                    if (vehicleImage != null)
                    {
                        dealershipService.DeleteVehicleImageFromInventoryVehicle(vehicleImage);
                    }
                }
            }
            catch (Exception ex)
            {
                var errorService = new ErrorService(db);
                errorService.logError(ex);

                throw (ex);
            }
        }
예제 #18
0
        public JsonResult GetAllVehicles(int id)
        {
            try
            {
                var dealershipService = new DealershipAccountService(db);
                var vehicles          = dealershipService.GetAllVehiclesInInventory(id).ToList();
                var vehicleViewModels = new List <VehicleSearchCriteriaViewModel>();

                foreach (var item in vehicles)
                {
                    var companyName = db.Dealerships.FirstOrDefault(x => x.Id == id).CompanyName;
                    vehicleViewModels.Add(new VehicleSearchCriteriaViewModel(item.Id, item.Make, item.Model, item.Year, item.Price, item.Mileage, item.Transmission, item.Style, item.Condition, item.CylinderNumber, item.ExteriorColor, item.DealershipId, companyName));
                }
                return(Json(vehicleViewModels, JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                var errorService = new ErrorService(db);
                errorService.logError(ex);

                throw (ex);
            }
        }
예제 #19
0
        public Vehicle()
        {
            var context = new AutoScoutDBContext();

            /*var firstImageFromDb = context.VehicleImages.First(x => x.VehicleId == this.Id);
             * if (firstImageFromDb != null)
             * {
             *  this.DefaultImage = firstImageFromDb;
             * }
             * var imagesFromDb = context.VehicleImages.Where(x => x.VehicleId == this.Id);
             *
             * if (imagesFromDb.Count() > 1)
             * {
             *  foreach (var image in imagesFromDb)
             *  {
             *      this.Images.Add(image);
             *  }
             * }*/
            var service       = new DealershipAccountService(context);
            var currentUserId = service.GetCurrentUserDealershipIdFromIdentity();

            this.DealershipId = currentUserId;
            DateCreated       = DateTime.UtcNow;
        }