//Speichern des Artikel zum LagerPlatz: A10000 zu A01-02-01 public int saveOrUpdateArtikelToPlatz(ArtikelLagerPlatzDTO dto) { int rowsAffected = 0; using (MySqlConnection conn = GetConnection()) { conn.Open(); if (dto.LagerPlatz != null && dto.LagerPlatz != null) { Boolean foundPlatz = checkLagerPlatzExists(dto.LagerPlatz, conn); if (!foundPlatz) { insertLagerplatz(dto.LagerPlatz, conn); } MySqlCommand cmd = new MySqlCommand("INSERT INTO artikel (artikel_id,lagerbox_id,lagerplatz_id) " + "VALUES (@artikel,@box,@platz) ON DUPLICATE KEY UPDATE lagerplatz_id=@platz", conn); cmd.Parameters.AddWithValue("@artikel", dto.ArtikelId); cmd.Parameters.AddWithValue("@platz", dto.LagerPlatz); cmd.Parameters.AddWithValue("@box", null); rowsAffected = cmd.ExecuteNonQuery(); } conn.Close(); } return(rowsAffected); }
public IActionResult Post([FromBody] ArtikelLagerPlatzDTO dto) { LagerContext con = HttpContext.RequestServices.GetService(typeof(LagerApp.Model.LagerContext)) as LagerContext; int rowsAffected = 0; if (dto == null) { return(NotFound()); } rowsAffected = con.saveOrUpdateArtikelToPlatz(dto); return(Ok(dto)); }
public IActionResult Scan(IFormFile file) { //FileInfo file = new FileInfo(); StreamReader streamReader = new StreamReader(file.OpenReadStream(), Encoding.UTF8); List <Scan> scanList = new List <Scan>(); List <Scan> successList = new List <Scan>(); List <Scan> failList = new List <Scan>(); using (ExcelPackage package = new ExcelPackage(streamReader.BaseStream)) { ExcelWorksheet worksheet = package.Workbook.Worksheets[1]; int rowCount = worksheet.Dimension.Rows; int ColCount = 2; for (int row = 2; row <= rowCount; row++) { Scan scan = new Scan(); for (int col = 1; col <= ColCount; col++) { if (col == 1) { scan.lager_fach = worksheet.Cells[row, col].Value.ToString(); } else { scan.druck_pseudonym = worksheet.Cells[row, col].Value.ToString(); } } scanList.Add(scan); } } LagerContext con = HttpContext.RequestServices.GetService(typeof(LagerApp.Model.LagerContext)) as LagerContext; ScanVariantenChecker checker = new ScanVariantenChecker(); //Über alle Einträge in Liste iterieren foreach (var item in scanList) { item.druck_pseudonym = item.druck_pseudonym.Trim().ToUpper(); item.lager_fach = item.lager_fach.Trim().ToUpper(); switch (checker.CheckLine(item)) { case ScanVarianten.ArtikelZuBox: LagerBoxDTO dto = new LagerBoxDTO(); dto.ArtikelId = item.druck_pseudonym; dto.LagerBox = item.lager_fach; if (con.saveOrUpdateToBox(dto) > 0) { successList.Add(item); } else { failList.Add(item); } break; case ScanVarianten.ArtikelZuPlatz: ArtikelLagerPlatzDTO dto2 = new ArtikelLagerPlatzDTO(); dto2.ArtikelId = item.druck_pseudonym; dto2.LagerPlatz = item.lager_fach; if (con.saveOrUpdateArtikelToPlatz(dto2) > 0) { successList.Add(item); } else { failList.Add(item); } break; case ScanVarianten.BoxZuPlatz: LagerPlatzDTO dto3 = new LagerPlatzDTO(); dto3.LagerBox = item.druck_pseudonym; dto3.LagerPlatz = item.lager_fach; if (con.saveOrUpdateBoxToPlatz(dto3) > 0) { successList.Add(item); } else { failList.Add(item); } break; default: failList.Add(item); break; } } LoggerXLSX log = new LoggerXLSX(); log.fail = failList; log.success = successList; return(View(log)); }