public async Task <IActionResult> OnPostAsync() { if (!ModelState.IsValid) { return(Page()); } _context.Attach(Printer).State = EntityState.Modified; List <PrinterLayerThickness> oldSelection = await _context.PrinterLayerThicknesses.Where(pl => pl.PrinterID == Printer.ID).ToListAsync(); _context.PrinterLayerThicknesses.RemoveRange(oldSelection); foreach (int layerThicknessID in Selected) { PrinterLayerThickness pl = new PrinterLayerThickness { PrinterID = Printer.ID, LayerThicknessID = layerThicknessID }; _context.PrinterLayerThicknesses.Add(pl); } try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { return(BadRequest()); } return(RedirectToPage("./Index")); }
public async Task <IActionResult> OnPostAsync() { if (!ModelState.IsValid) { return(Page()); } Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US"); _context.LayerThicknesses.Add(LayerThickness); for (int i = 0; i < SelectedPrinters.Count; i++) { PrinterLayerThickness pl = new PrinterLayerThickness { PrinterID = SelectedPrinters[i], LayerThicknessID = LayerThickness.ID, ExcelDefinedName = DefinedNames[i] }; _context.PrinterLayerThicknesses.Add(pl); } await _context.SaveChangesAsync(); return(RedirectToPage("./Index")); }
public async Task <IActionResult> OnPostAsync() { if (!ModelState.IsValid) { return(Page()); } //Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US"); _context.Attach(LayerThickness).State = EntityState.Modified; List <PrinterLayerThickness> oldSelection = await _context.PrinterLayerThicknesses.Where(pl => pl.LayerThicknessID == LayerThickness.ID).ToListAsync(); _context.PrinterLayerThicknesses.RemoveRange(oldSelection); //Printers = await _context.Printers.ToListAsync(); for (int i = 0; i < SelectedPrinters.Count; i++) { PrinterLayerThickness pl = new PrinterLayerThickness { PrinterID = SelectedPrinters[i], LayerThicknessID = LayerThickness.ID, ExcelDefinedName = DefinedNames[i] }; _context.PrinterLayerThicknesses.Add(pl); } try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!LayerThicknessExists(LayerThickness.ID)) { return(NotFound()); } else { throw; } } return(RedirectToPage("./Index")); }
public async Task <IActionResult> OnPostExcel(int id) { PrintModel model = await buildModel(id); PrinterLayerThickness plt = null; List <PostProcess> postProcesses = await ParsePostProcesses(postProcess); if (model != null && model.Printer != null && model.LayerThickness != null) { plt = await _context.PrinterLayerThicknesses.FirstOrDefaultAsync(p => p.PrinterID == model.Printer.ID && p.LayerThicknessID == model.LayerThickness.ID); } if (model != null && plt != null) { if (!model.IsValid()) { return(BadRequest()); } if (aabb.Length > 0) { Dimensions dim = ParseAABB(aabb); model.X = dim.X; model.Y = dim.Z; // xeogl and system represent 3D space with Y as height axis, while system is required to represent height axis as Z. model.Z = dim.Y; } _calculator.SetExcelFile(model.Quotation.EngineFile); IWorkbook workbook = _calculator.GenerateWorkbook(model, plt, postProcesses, printAmount); Stream stream = new MemoryStream(); workbook.SaveToStream(stream, FileFormat.OpenXMLWorkbook); workbook.SaveAs("debug.xlsx", FileFormat.OpenXMLWorkbook); stream.Position = 0; return(File(stream, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", model.Name)); } return(BadRequest()); }
public async Task <IActionResult> OnPostPriceAsync(int id) { PrintModel model = await buildModel(id); PrinterLayerThickness plt = null; List <PostProcess> postProcesses = await ParsePostProcesses(postProcess); if (model != null && model.Printer != null && model.LayerThickness != null) { plt = await _context.PrinterLayerThicknesses.FirstOrDefaultAsync(p => p.PrinterID == model.Printer.ID && p.LayerThicknessID == model.LayerThickness.ID); } if (model != null && plt != null) { if (!model.IsValid()) { return(BadRequest()); } if (aabb.Length > 0) { Dimensions dim = ParseAABB(aabb); model.X = dim.X; model.Y = dim.Z; // xeogl and system represent 3D space with Y as height axis, while system is required to represent height axis as Z. model.Z = dim.Y; } Dictionary <int, double> postProcessPrices; _calculator.SetExcelFile(model.Quotation.EngineFile); double price = _calculator.GetPrice(model, plt, postProcesses, printAmount, out postProcessPrices); return(new JsonResult(new { Price = price, PostProcesses = postProcessPrices })); } return(BadRequest()); }