public async Task <ActionResult> Order(OrderCarViewModel model, string returnUrl) { if (!ModelState.IsValid) { return(View(model)); } model.Error = ""; Car car = db.Cars.Find(model.Kenteken); if (car == null) { return(HttpNotFound()); } Invoice invoice = null; /*if(invoice != null && !invoice.InleverDatum.HasValue) * { * //terug HttpNotFound(); * }else */ if (model.VanafDatum.Date < DateTime.Now.Date) { //Je kan alleen in de toekomst bestellen! model.Error = "U probeert een bestelling in het verleden te maken!"; } else if (model.TotDatum.Date < model.VanafDatum.Date) { //Hoger dan vanafdatum model.Error = "De datum van het terugbrengen moet hoger zijn dan de vanaf wanneer datum!"; } else if ((model.TotDatum.Date - model.VanafDatum.Date).Days < 1) { //Minimaal een dag model.Error = "Uw bestelling moet minstens 1 dag of hoger zijn"; } else if (db.Invoices.OrderByDescending(x => x.InvoiceId).FirstOrDefault(x => x.Kenteken == car.Kenteken && //((@vanafDatum >= i.VanafDatum AND @vanafDatum <= i.TotDatum) OR (@totDatum >= i.VanafDatum AND @totDatum <= i.TotDatum)) ((x.VanafDatum >= model.VanafDatum && x.VanafDatum <= model.TotDatum) || (x.TotDatum >= model.VanafDatum && x.TotDatum <= model.TotDatum))) != null) { //De auto is niet beschikbaar. model.Error = "Deze auto is helaas al vehuurd!"; } else { //Alles gecontrolleerd?? invoice = db.Invoices.Add(new Invoice() { Kenteken = car.Kenteken, InleverDatum = null, VanafDatum = model.VanafDatum.Date, TotDatum = model.TotDatum.Date, UserId = User.Identity.GetUserId(), Datum = DateTime.Now.Date }); db.SaveChanges(); //Doorverwijzen naar naar de factuur. return(RedirectToAction("View/" + invoice.InvoiceId.ToString(), "Invoice")); } return(View(model)); }
private void PrintOrderCars(OrderCarViewModel orderCar, Document doc, PdfPTable table) { var fontForCells = new Font(baseFont, 10); var fontForCellBold = new Font(baseFont, 10, Font.BOLD); table.AddCell(new PdfPCell(new Phrase(orderCar.CarName, fontForCells)) { HorizontalAlignment = Element.ALIGN_CENTER }); table.AddCell(new PdfPCell(new Phrase(orderCar.Amount.ToString(), fontForCells)) { HorizontalAlignment = Element.ALIGN_CENTER }); var carDetails = context.CarDetails .Where(rec => rec.CarId == orderCar.CarId) .Select(rec => new CarDetailViewModel { Amount = rec.Amount, DetailName = rec.Detail.DetailName, DetailId = rec.DetailId }).ToList(); var tableDetail = new PdfPTable(2); var cellDet = new PdfPCell { Colspan = 2, HorizontalAlignment = Element.ALIGN_CENTER }; tableDetail.AddCell(cellDet); tableDetail.SetTotalWidth(new float[] { 60, 40 }); tableDetail.AddCell(new PdfPCell(new Phrase("Название", fontForCellBold)) { HorizontalAlignment = Element.ALIGN_CENTER }); tableDetail.AddCell(new PdfPCell(new Phrase("Количество", fontForCellBold)) { HorizontalAlignment = Element.ALIGN_CENTER }); foreach (var carDetail in carDetails) { PrintCarDetails(carDetail, tableDetail); } table.AddCell(tableDetail); }
public ActionResult AddCarPost() { var order = (OrderViewModel)Session["Order"]; var car = new OrderCarViewModel { CarId = int.Parse(Request["Id"]), CarName = carService.GetElement(int.Parse(Request["Id"])).CarName, Amount = int.Parse(Request["Amount"]) }; order.OrderCars.Add(car); Session["Order"] = order; return(RedirectToAction("Index")); }
public ActionResult Order(string id) { if (string.IsNullOrEmpty(id)) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Car car = db.Cars.Find(id); if (car == null) { return(HttpNotFound()); } OrderCarViewModel orderViewModel = new OrderCarViewModel() { Kenteken = car.Kenteken }; return(View(orderViewModel)); }