Beispiel #1
0
        public ActionResult Upload(long PracticeID, long SemesterID)
        {
            try
            {
                var thuctap        = practiceService.GetByLoaiTTvaHocKy(PracticeID, SemesterID);
                var practiceTypeId = thuctap.ID;
                if (Request != null)
                {
                    HttpPostedFileBase file = Request.Files["UploadedFile"];
                    if ((file != null && file.ContentLength > 0 && !string.IsNullOrEmpty(file.FileName)))
                    {
                        string fileName        = file.FileName;
                        string fileContentType = file.ContentType;
                        byte[] filebytes       = new byte[file.ContentLength];
                        var    data            = file.InputStream.Read(filebytes, 0, Convert.ToInt32(file.ContentLength));

                        var suppleirList = new List <StudentPracticeRelationship>();

                        using (var package = new ExcelPackage(file.InputStream))
                        {
                            var currentSheet = package.Workbook.Worksheets;
                            var workSheet    = currentSheet.Single();
                            var noOfColumns  = workSheet.Dimension.End.Column;
                            var noOfRows     = workSheet.Dimension.End.Row;// Here is where my issue is
                            var masv         = "";
                            var dem          = "";
                            var error        = new List <StudentModel>();
                            for (int rowIterator = 5; rowIterator <= noOfRows; rowIterator++)
                            {
                                var student = new StudentPracticeRelationship();
                                if (workSheet.Cells[rowIterator, 4].Value == null)
                                {
                                    var s = new StudentModel()
                                    {
                                        Masv     = "",
                                        FullName = workSheet.Cells[rowIterator, 2].Value.ToString(),
                                        Birthday = workSheet.Cells[rowIterator, 3].Value.ToString(),
                                        ClassBC  = workSheet.Cells[rowIterator, 5].Value.ToString(),
                                        Error    = "Mã sv trống"
                                    };
                                    error.Add(s);
                                }
                                else
                                {
                                    masv = workSheet.Cells[rowIterator, 4].Value.ToString();
                                    var studentGetDatabase = studentService.GetByMasv(masv);
                                    var studentPractice    = studentPracticeService.GetBySinhVienvaKieuTT(studentGetDatabase.ID, practiceTypeId);
                                    if (studentGetDatabase == null)
                                    {
                                        var s = new StudentModel()
                                        {
                                            Masv     = masv,
                                            FullName = workSheet.Cells[rowIterator, 2].Value.ToString(),
                                            Birthday = workSheet.Cells[rowIterator, 3].Value.ToString(),
                                            ClassBC  = workSheet.Cells[rowIterator, 5].Value.ToString(),
                                            Error    = "Không tìm thấy sinh viên này"
                                        };
                                        error.Add(s);
                                    }
                                    else if (studentPractice != null)
                                    {
                                        var s = new StudentModel()
                                        {
                                            Masv     = masv,
                                            FullName = workSheet.Cells[rowIterator, 2].Value.ToString(),
                                            Birthday = workSheet.Cells[rowIterator, 3].Value.ToString(),
                                            ClassBC  = workSheet.Cells[rowIterator, 5].Value.ToString(),
                                            Error    = "Sinh viên này đã thực tập trong kì này"
                                        };
                                        error.Add(s);
                                    }
                                    else
                                    {
                                        student.StudentID = studentGetDatabase.ID;

                                        student.PracticeTypeID = practiceTypeId;

                                        student.CreateBy = long.Parse(Session["UserId"].ToString());

                                        studentPracticeService.Create(student);
                                    }
                                }
                            }
                            foreach (var item in error)
                            {
                                if (item.Error == null)
                                {
                                    error.Remove(item);
                                }
                            }
                            if (error.Count > 0)
                            {
                                ExportError(error);
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                ViewBag.error = "Thêm mới dữ liệu không thành công";
                return(View("Index"));
            }
            return(View("Index"));
        }