public async Task <ActionResult> BookServiceAjax(BookServiceViewModel model)
 {
     if (!ModelState.IsValid)
     {
         var    allErrors = ModelState.Values.SelectMany(v => v.Errors);
         string errorlist = "";
         foreach (ModelError error in allErrors)
         {
             errorlist = error.ErrorMessage;
         }
         return(Json(new { error = errorlist }));
     }
     if (UserManager.SmsService != null)
     {
         var message = new IdentityMessage
         {
             Subject = "new booking" + model.Number,
             Body    = model.Number + " This booked a service,instant call back request "
         };
         await UserManager.SmsService.SendAsync(message);
     }
     if (UserManager.EmailService != null)
     {
         var message = new IdentityMessage
         {
             Subject = "new booking-instant call back request-" + model.Number,
             Body    = model.Number + " This booked a service, instant call back request, mail id- " + model.Email
         };
         await UserManager.EmailService.SendAsync(message);
     }
     return(Json(new { success = true }));
 }
        public async Task <ActionResult> BookService(BookServiceViewModel model, string returnUrl)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }
            if (UserManager.SmsService != null)
            {
                var message = new IdentityMessage
                {
                    Destination = "+919819355066",
                    Body        = model.Number + " This booked a service"
                };
                await UserManager.SmsService.SendAsync(message);
            }
            if (UserManager.EmailService != null)
            {
                var message = new IdentityMessage
                {
                    Destination = "+919819355066",
                    Body        = model.Number + " This booked a service"
                };
                await UserManager.SmsService.SendAsync(message);
            }

            // ModelState.AddModelError("", "Invalid login attempt.");
            ViewBag.returnmessage = "Thanks for your interest. We will get back to you shortly.";
            return(View(model));
        }
        public ActionResult SaveRequest(ServiceRequest serviceRequest)
        {
            var viewModel = new BookServiceViewModel()
            {
                Service        = _context.Services.First(s => s.ServiceID == serviceRequest.ServiceId),
                ServiceRequest = serviceRequest
            };

            //Check if the form is valid
            if (!ModelState.IsValid)
            {
                return(View("BookService", viewModel));
            }

            //new service
            if (serviceRequest.Id == 0)
            {
                _context.ServiceRequests.Add(serviceRequest);
            }


            _context.SaveChanges();

            return(View("Confirmation", viewModel));
        }
        // GET: BookDetail
        public ActionResult Index(int id)
        {
            var userid = User.Identity.GetUserId();                                          //retrives user id,
            var user   = db.Users.FirstOrDefault(u => u.Id == userid);                       //based on the user id, it retrieves all properties from database

            var bookModel = db.Books.Include(b => b.Genre).SingleOrDefault(b => b.Id == id); //bookmodel will retrives all book models and associated genre of that book

            var sellingPrice   = 0.0;
            var rentalPrice    = 0.0;
            var oneMonthRental = 0.0;
            var sixMonthRental = 0.0;
            var rentalCount    = 0;

            if (userid != null && !User.IsInRole(SD.AdminUserRole))
            {
                var chargeRate = from u in db.Users
                                 join m in db.MembershipTypes on u.MembershipTypeId equals m.Id
                                 where u.Id.Equals(userid)
                                 select new { m.SellingPrice, m.ChargeRateOneMonth, m.ChargeRateSixMonth, /*u.RentalCount*/ };

                oneMonthRental = Convert.ToDouble(bookModel.Price) * Convert.ToDouble(chargeRate.ToList()[0].ChargeRateOneMonth) / 100;
                sixMonthRental = Convert.ToDouble(bookModel.Price) * Convert.ToDouble(chargeRate.ToList()[0].ChargeRateSixMonth) / 100;
                sellingPrice   = Convert.ToDouble(bookModel.Price);

                // rentalCount = Convert.ToInt32(chargeRate.ToList()[0].RentalCount);
            }

            BookServiceViewModel model = new BookServiceViewModel
            {
                BookId              = bookModel.Id,
                ISBN                = bookModel.ISBN,
                Author              = bookModel.Author,
                Availability        = bookModel.Availablity,
                DateAdded           = bookModel.DateAdded,
                Description         = bookModel.Description,
                Genre               = db.Genres.FirstOrDefault(g => g.Id.Equals(bookModel.GenreId)),
                GenreId             = bookModel.GenreId,
                ImageUrl            = bookModel.ImageUrl,
                Pages               = bookModel.Pages,
                Price               = bookModel.Price,
                Publisher           = bookModel.Publisher,
                PublicationDate     = bookModel.PublicationDate,
                ProductDimensions   = bookModel.ProductDimensions,
                Title               = bookModel.Title,
                UserId              = userid,
                RentalPrice         = rentalPrice,
                RentalPriceOneMonth = oneMonthRental,
                RentalPriceSixMonth = sixMonthRental,
                RentalCount         = rentalCount
            };

            return(View(model));
        }
        public ActionResult BookService(int?id)
        {
            if (!id.HasValue)
            {
                return(HttpNotFound());
            }

            var viewModel = new BookServiceViewModel()
            {
                Service        = _context.Services.SingleOrDefault(s => s.ServiceID == id),
                ServiceRequest = new ServiceRequest {
                    ServiceId = (int)id
                }
            };

            if (viewModel.Service == null)
            {
                return(HttpNotFound());
            }

            return(View(viewModel));
        }
Example #6
0
 // public async Task<ActionResult> Book(BookServiceViewModel model, string returnUrl)
 public ActionResult Book(BookServiceViewModel model, string returnUrl)
 {
     if (!ModelState.IsValid)
     {
         return(View(model));
     }
     return(RedirectToLocal(returnUrl));
     // This doesn't count login failures towards account lockout
     // To enable password failures to trigger account lockout, change to shouldLockout: true
     //var result=SignInStatus.Success//=await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout: false);
     //switch (result)
     //{
     //    case SignInStatus.Success:
     //        return RedirectToLocal(returnUrl);
     //    case SignInStatus.LockedOut:
     //        return View("Lockout");
     //    case SignInStatus.RequiresVerification:
     //        return RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = model.RememberMe });
     //    case SignInStatus.Failure:
     //    default:
     //        ModelState.AddModelError("", "Invalid login attempt.");
     //        return View(model);
     //}
 }