//Speichern der Box zum LagerPlatz: BOX100 zu A01-02-01 public int saveOrUpdateBoxToPlatz(LagerPlatzDTO dto) { int rowsAffected = 0; using (MySqlConnection conn = GetConnection()) { conn.Open(); if (dto.LagerPlatz != null && dto.LagerBox != null) { Boolean boxexists = checkBoxExists(dto.LagerBox, conn); Boolean platzexists = checkLagerPlatzExists(dto.LagerPlatz, conn); if (!platzexists) { insertLagerplatz(dto.LagerPlatz, conn); } if (!boxexists) { insertLagerBox(dto, conn); } else { MySqlCommand cmd = new MySqlCommand("UPDATE lagerbox SET lagerplatz_box_id=@lager " + "WHERE lagerbox_id=@box", conn); cmd.Parameters.AddWithValue("@lager", dto.LagerPlatz); cmd.Parameters.AddWithValue("@box", dto.LagerBox); rowsAffected = cmd.ExecuteNonQuery(); } } conn.Close(); } return(rowsAffected); }
//Speichern des Artikel zur Box: A15000 zu BOX100 //Falls A15000 schon vorhanden, dann update von BOX public int saveOrUpdateToBox(LagerBoxDTO dto) { int rowsAffected = 0; using (MySqlConnection conn = GetConnection()) { conn.Open(); if (dto.ArtikelId != null && dto.LagerBox != null) { Boolean foundBox = checkBoxExists(dto.LagerBox, conn); if (!foundBox) { LagerPlatzDTO platzdto = new LagerPlatzDTO(); platzdto.LagerBox = dto.LagerBox; insertLagerBox(platzdto, conn); } MySqlCommand cmd = new MySqlCommand("INSERT INTO artikel (artikel_id,lagerbox_id,lagerplatz_id) " + "VALUES (@artikel,@box,@platz) ON DUPLICATE KEY UPDATE lagerbox_id=@box", conn); cmd.Parameters.AddWithValue("@artikel", dto.ArtikelId); cmd.Parameters.AddWithValue("@box", dto.LagerBox); cmd.Parameters.AddWithValue("@platz", null); rowsAffected = cmd.ExecuteNonQuery(); } conn.Close(); } return(rowsAffected); }
//Lagerplatz speichern public int insertLagerBox(LagerPlatzDTO dto, MySqlConnection conn) { var rowsAffected = 0; //Erst Box anlegen MySqlCommand cmd = new MySqlCommand("INSERT INTO lagerbox (lagerbox_id,lagerplatz_box_id) " + "VALUES (@box,@lager)", conn); cmd.Parameters.AddWithValue("@lager", dto.LagerPlatz); cmd.Parameters.AddWithValue("@box", dto.LagerBox); rowsAffected = cmd.ExecuteNonQuery(); return(rowsAffected); }
public IActionResult Post([FromBody] LagerPlatzDTO dto) { LagerContext con = HttpContext.RequestServices.GetService(typeof(LagerApp.Model.LagerContext)) as LagerContext; int rowsAffected = 0; if (dto == null) { return(NotFound()); } rowsAffected = con.saveOrUpdateBoxToPlatz(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)); }