示例#1
0
        //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);
        }
示例#2
0
        //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);
        }
示例#3
0
        //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);
        }
示例#4
0
        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));
        }
示例#5
0
        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));
        }