Esempio n. 1
0
        private async Task <ActionResult> CityDetail(WorkshopPage currentPage, string city)
        {
            var activeCustomer = UserManager.GetActiveCustomer(HttpContext);
            var cityInfo       = await _contactRepo.GetGaragesAsync(activeCustomer, city);

            var workshop = cityInfo?.FirstOrDefault(c => c.City == city);

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

            var salesMen = await _contactRepo.GetSalemenByCityAsync(city);

            var manager = salesMen.FirstOrDefault(s => s.Description == "Verkstadschef");

            ViewData["zipCode"]   = manager?.Zipcode ?? string.Empty;
            ViewData["telephone"] = manager?.Phone ?? string.Empty;

            ViewData["userName"] = SiteUser?.UserName ?? string.Empty;

            var starredGarage = await _contactRepo.GetStarredGarageAsync(activeCustomer);

            workshop.OwnStar = starredGarage == workshop.City;

            return(View("~/Views/ContactPage/WorkshopDetailPage.cshtml", new WorkshopDetailPageViewModel(currentPage)
            {
                SalesMen = salesMen,
                Workshop = workshop
            }));
        }
Esempio n. 2
0
        public async Task <ActionResult> Index(BookServicePilotenPage currentPage, BookServiceForm form)
        {
            var userInfo = await _securityRepository.QueryUserAsync(SiteUser.UserName);

            var activeCustomer = UserManager.GetActiveCustomer(HttpContext);

            var starredCity = await _contactRepository.GetStarredGarageAsync(activeCustomer);

            var cityName = form.City;

            if (string.IsNullOrWhiteSpace(cityName))
            {
                cityName = starredCity;
            }
            ViewData["starred"] = cityName == starredCity;

            if (!ModelState.IsValid)
            {
                return(View("~/Views/BookService/BookService.cshtml", PostViewModel(currentPage, form, activeCustomer)));
            }
            var city = (await _contactRepository.GetGaragesAsync(activeCustomer, form.City))?.FirstOrDefault();

            var salesMenInCity = await _contactRepository.GetSalemenByCityAsync(cityName);

            var saleMan = salesMenInCity?.FirstOrDefault(s => s.Description == "Säljare") ?? salesMenInCity?.FirstOrDefault();

            var requestResult = await _contactRepository.RequestBooking(form.MachineModel,
                                                                        form.MachineSerialNumber, form.MachineRegister,
                                                                        form.Message, activeCustomer, city, SiteUser.Name, SiteUser.Email, userInfo.PhoneMobile,
                                                                        form.OwnerEmail, saleMan?.Email, SiteUser.Email != form.OwnerEmail);

            //parse result
            var tokens       = requestResult?.Split(new[] { "<br />" }, StringSplitOptions.RemoveEmptyEntries) ?? new string[2];
            var bookingSaved = string.Equals(tokens[0], "Garage booking saved.", StringComparison.OrdinalIgnoreCase);
            var bookingSent  = string.Equals(tokens[1], "Booking email sent.", StringComparison.OrdinalIgnoreCase);

            if (bookingSaved)
            {
                ViewData["backLinkReference"] = form.BackLinkReference;
                ViewData["reference"]         = form.Reference;
                return(View("~/Views/BookService/MessageSent.cshtml", PostViewModel(currentPage, form, activeCustomer)));
            }

            var strError = !bookingSent
                ? "Kunde inte spara garage bokning. Misslyckades skicka boknings e-post."
                : "Kunde inte spara garage bokning. Bokning e-postmeddelandet.";

            ViewData["error"] = strError;
            return(View("~/Views/BookService/BookService.cshtml", PostViewModel(currentPage, form, activeCustomer)));
        }