예제 #1
0
    private List <ozUploadFile> ReadCsv(string pathIn, string filenameIn, int[] headers, ref int countInserted, ref int countIgnore, string initIn, ref string errorLines, string midIn, string folderIn)
    {
        List <ozUploadFile> lstRet = new List <ozUploadFile>();

        try
        {
            string[] allLines = File.ReadAllLines(pathIn + filenameIn);

            countIgnore   = 0;
            countInserted = 0;
            int countAll = 0;
            for (int i = 1; i < allLines.Count(); i++)
            {
                countAll++;
                if (allLines[i].Replace(";", "").Trim() == string.Empty)
                {
                    countIgnore++;
                    errorLines += "Linje " + countAll + " - fejlkode: Tom linje.<br>";
                    continue;
                }

                ozUploadFile fileRet = new ozUploadFile();
                string[]     datas   = allLines[i].Split(';');
                fileRet.medarbejderid = datas[headers[0] - 1];
                fileRet.jobid         = datas[headers[1] - 1];
                fileRet.timer         = datas[headers[2] - 1];
                fileRet.tdato         = datas[headers[3] - 1];
                fileRet.aktnavn       = datas[headers[4] - 1];
                fileRet.timerkom      = datas[headers[5] - 1];

                if (fileRet.jobid == string.Empty)
                {
                    fileRet.jobid = "0";
                }
                if (fileRet.medarbejderid == string.Empty)
                {
                    fileRet.medarbejderid = "0";
                }
                if (fileRet.timer == string.Empty)
                {
                    fileRet.timer = "0";
                }
                if (fileRet.tdato == string.Empty)
                {
                    fileRet.tdato = "01-01-2001";
                }

                bool isLevelEnough = CheckUserLevel(folderIn, midIn);

                if (isLevelEnough)
                {
                    lstRet.Add(fileRet);
                }
                else
                {
                    if (fileRet.medarbejderid == initIn)
                    {
                        lstRet.Add(fileRet);
                    }
                    else
                    {
                        errorLines += "Linje " + countAll + " - fejlkode: Du har ikke rettigheder til at uploade timer for andre brugere end dig selv.<br>";
                        countIgnore++;
                    }
                }
            }

            countInserted = lstRet.Count;
        }
        catch (Exception ex)
        {
            throw new Exception("Der opstod en fejl i læsning af .csv filen: " + ex.Message);
        }

        return(lstRet);
    }
예제 #2
0
    private List <ozUploadFile> ReadXlsx2007(string pathIn, string filenameIn, string[] headers, ref int countInserted, ref int countIgnore, string initIn, ref string errorLines, string midIn, string folderIn)
    {
        List <ozUploadFile> lstRet = new List <ozUploadFile>();

        try
        {
            OleDbConnection con = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + pathIn + filenameIn + ";Extended Properties=\"Excel 12.0;HDR=Yes;IMEX=1\";");
            con.Open();
            OleDbDataAdapter da = new OleDbDataAdapter("select * from [Sheet1$]", con);
            DataTable        dt = new DataTable();
            da.Fill(dt);

            countIgnore   = 0;
            countInserted = 0;
            int countAll = 0;
            foreach (DataRow row in dt.Rows)
            {
                countAll++;

                ozUploadFile fileRet = new ozUploadFile();
                fileRet.medarbejderid = row[headers[0]].ToString().Trim();
                fileRet.jobid         = row[headers[1]].ToString().Trim();
                fileRet.timer         = row[headers[2]].ToString().Trim();
                fileRet.tdato         = row[headers[3]].ToString().Trim();
                fileRet.aktnavn       = row[headers[4]].ToString().Trim();
                fileRet.timerkom      = row[headers[5]].ToString().Trim();

                if (fileRet.medarbejderid == string.Empty && fileRet.jobid == string.Empty && fileRet.timer == string.Empty && fileRet.tdato == string.Empty && fileRet.aktnavn == string.Empty && fileRet.timerkom == string.Empty)
                {
                    countIgnore++;
                    errorLines += "Linje " + countAll + " - fejlkode: Tom linje.<br>";
                    continue;
                }
                else if (fileRet.jobid == string.Empty)
                {
                    fileRet.jobid = "0";
                }
                else if (fileRet.jobid == string.Empty)
                {
                    fileRet.jobid = "0";
                }
                else if (fileRet.medarbejderid == string.Empty)
                {
                    fileRet.medarbejderid = "0";
                }
                else if (fileRet.timer == string.Empty)
                {
                    fileRet.timer = "0";
                }
                else if (fileRet.tdato == string.Empty)
                {
                    fileRet.tdato = "01-01-2001";
                }

                bool isLevelEnough = CheckUserLevel(folderIn, midIn);

                if (isLevelEnough)
                {
                    lstRet.Add(fileRet);
                }
                else
                {
                    if (fileRet.medarbejderid == initIn)
                    {
                        lstRet.Add(fileRet);
                    }
                    else
                    {
                        errorLines += "Linje " + countAll + " - fejlkode: Du har ikke rettigheder til at uploade timer for andre brugere end dig selv.<br>";
                        countIgnore++;
                    }
                }
            }

            countInserted = lstRet.Count;


            con.Close();
        }
        catch (Exception ex)
        {
            throw new Exception("Der opstod en fejl i læsning af .xlsx filen: " + ex.Message);
        }

        return(lstRet);
    }