public ActionResult FindSize(CustomJulietteQuoteModel model, string cmd) { if (ModelState.IsValid && model.Width.HasValue) { if (cmd != null && cmd.IndexOf("standard", StringComparison.OrdinalIgnoreCase) >= 0) { var type = DbSession.Get <JulietteType>(model.TypeId); int w; if (model.Width <= type.WidthStep - type.AppendToHandrail1) { w = model.Width.Value + type.AppendToHandrail1; } else { w = model.Width.Value + type.AppendToHandrail2; } var standard = DbSession.QueryOver <JulietteStandard>() .Where(js => w <= js.ID && js.ID <= type.MaxWidth) .OrderBy(js => js.ID).Asc .Cacheable() .CacheMode(CacheMode.Normal) .List() .FirstOrDefault(); if (standard != null) { return(RedirectToAction("standard-model", new { id = standard.ID, type = model.TypeId, color = model.ColorId })); } } return(RedirectToAction("quote-custom", new { id = model.Width, type = model.TypeId, color = model.ColorId })); } return(RedirectToAction("find-size")); }
public ActionResult FindSize() { var page = DbSession.Get <StandardPage>(new Guid(FIND_SIZE_ID)); PageHeader = page; ViewBag.Body = page.Body; ViewBag.Types = FetchTypes(); ViewBag.Standards = DbSession.QueryOver <JulietteStandard>() .OrderBy(js => js.ID).Asc .Cacheable() .CacheMode(CacheMode.Normal) .List() .Select(s => s.ID); var jtype = DbSession.Get <JulietteType>(1); var viewModel = new CustomJulietteQuoteModel(page, jtype); viewModel.ColorId = jtype.Colors.First().ID; viewModel.MinWidth = (int)Config.One.Jul_CustomMinWidth; viewModel.MaxWidth = (int)Config.One.Jul_CustomMaxWidth; return(View(viewModel)); }
public ActionResult QuoteCustom(int?id, int?type, int?color, int?glass) { var page = DbSession.Get <StandardPage>(new Guid(QUOTE_CUSTOM_PAGE_ID)); PageHeader = page; var jtype = DbSession.Get <JulietteType>(type.HasValue ? type.Value : 2); var viewModel = new CustomJulietteQuoteModel(page, jtype); viewModel.Width = id.HasValue ? id.Value : (int?)null; viewModel.ColorId = color.HasValue ? color.Value : 1; viewModel.GlassId = glass.HasValue ? glass.Value : 1; return(View(viewModel)); }
public ActionResult AmendQuote(Guid?id) { Quote quote; if (!id.HasValue || (quote = DbSession.Get <Quote>(id.Value)) == null || quote.FirstLine == null) { return(HttpNotFound()); } var jul = quote.FirstLine.ProductDetails as Juliette; if (jul == null) { return(HttpNotFound()); } var page = DbSession.Get <StandardPage>(new Guid(QUOTE_CUSTOM_PAGE_ID)); var viewmodel = new CustomJulietteQuoteModel(page, jul); return(View("quote-custom", viewmodel)); }
public ActionResult QuoteCustom(CustomJulietteQuoteModel model) { var juliette = new Juliette(); juliette.Color = DbSession.Get <ColorLocal>(model.ColorId); juliette.GlassSystem = DbSession.Get <GlassSystemLocal>(model.GlassId); juliette.JulietteType = DbSession.Get <JulietteType>(model.TypeId); juliette.OpenWidth = model.Width.Value; juliette.GlassQuantity = juliette.CalcGlassQuantity(); var line = new QuoteLine(); line.Name = juliette.Name; line.Price = juliette.SilverSellingPrice; line.BronzePrice = juliette.BronzeSellingPrice; line.GoldPrice = juliette.GoldSellingPrice; line.ProductDetails = juliette; Session[SessionKeys.PENDING_QUOTE_LINE] = line; return(RedirectToAction("create-quote", "customer", new { areas = AreaKind })); }