Exemplo n.º 1
0
        private void Form1_Load(object sender, EventArgs e)
        {
            var studentReader = new StudentReader();

            studentsComboBox.DataSource    = studentReader.GetActiveStudentsForComboBox();
            studentsComboBox.DisplayMember = "MatchCode";
            studentsComboBox.ValueMember   = "Id";
        }
Exemplo n.º 2
0
 public static void Main(string[] args)
 {
     using (StudentReader studentReader = new StudentReader("students.txt"))
     {
         double averageGpa = GetAverageGpa(studentReader);
         foreach (var item in studentReader.GetStudentsWithGreaterGpa(averageGpa))
         {
             Console.WriteLine(item);
         }
     }
 }
Exemplo n.º 3
0
    private static double GetAverageGpa(StudentReader studentReader)
    {
        double averageGpa    = .0;
        int    studentsCount = 0;

        foreach (var item in studentReader)
        {
            averageGpa    += item.Gpa;
            studentsCount += 1;
        }

        averageGpa /= studentsCount;
        return(averageGpa);
    }
Exemplo n.º 4
0
        private void studentsComboBox_SelectedIndexChanged(object sender, EventArgs e)
        {
            var studentReader       = new StudentReader();
            var currentSelectedItem = studentsComboBox.SelectedItem;

            if (currentSelectedItem is StudentImport)
            {
                currentStudentInComboBox = (StudentImport)currentSelectedItem;
            }
            else
            {
                throw new Exception("Selected Item is no student!");
            }

            var currentStudent = StudentReader.GetStudentsByCustomerNo((currentStudentInComboBox.CustomerNo));

            StudentTextBox.Text = currentStudent.FirstOrDefault().ToAddressString();
            importRefId         = currentStudentInComboBox.Id;
        }
Exemplo n.º 5
0
        private void ImportAllAccountingsButton_Click(object sender, EventArgs e)
        {
            var studentReader = new StudentReader();
            var debitWriter   = new DebitWriter();
            var paymentWriter = new PaymentWriter();
            var sb            = new StringBuilder();

            var allStudents = studentReader.GetActiveStudentsForComboBox();

            try
            {
                foreach (var customer in allStudents)
                {
                    var accountLoader = new AccountLoader();
                    var excelFilePath = accountLoader.GetExcelSheetFullPath(customer.CustomerNo);
                    if (excelFilePath.Contains("not found"))
                    {
                        sb.AppendLine(excelFilePath);
                        continue;
                    }
                    var dataSet = accountLoader.ExcelToDataSet(excelFilePath);
                    balancesTable = dataSet.Tables["Saldenliste"];
                    var balanceImporter = new BalanceImporter(balancesTable);
                    var debitEntries    = balanceImporter.ReadDebits(customer.CustomerNo, excelFilePath, customer.Id);
                    foreach (var debit in debitEntries)
                    {
                        debitWriter.AddDebit(debit);
                    }

                    var paymentEntries = balanceImporter.ReadPayments(customer.CustomerNo, excelFilePath, customer.Id);
                    foreach (var payment in paymentEntries)
                    {
                        paymentWriter.AddPayment(payment);
                    }
                }
            }
            finally
            {
                Console.WriteLine(sb.ToString());
                informationsTextBox.Text = sb.ToString();
            }
        }
Exemplo n.º 6
0
        public async Task <IActionResult> Import(IFormFile file)
        {
            var stream = file.OpenReadStream();
            var reader = new StudentReader(stream);
            var models = reader.Parse();
            var list   = new List <StudentBuffer>();
            var data   = await _service.GetStudentDataForAction();

            if (!models.Any())
            {
                return(BadRequest("File trống"));
            }
            foreach (var model in models)
            {
                var row     = model.Row;
                var student = model.Model;
                var buffer  = new StudentBuffer {
                    Student = new Student(), Errors = new List <string>()
                };
                if (string.IsNullOrEmpty(student.Code))
                {
                    buffer.Errors.Add("Mã sinh viên trống.");
                    buffer.Index = row;
                }
                else
                {
                    buffer.Student.DefCode = student.Code;
                }
                if (string.IsNullOrEmpty(student.Name))
                {
                    buffer.Errors.Add("Tên sinh viên trống.");
                    buffer.Index = row;
                }
                else
                {
                    buffer.Student.Name = student.Name;
                }
                buffer.Student.DateOfBirth  = student.DateOfBirth;
                buffer.Student.Email        = student.Email;
                buffer.Student.Phone        = student.Phone;
                buffer.Student.CreatedDate  = DateTime.Now;
                buffer.Student.LastModified = DateTime.Now;
                buffer.Student.IsPublished  = true;
                if (string.IsNullOrEmpty(student.CenterCode))
                {
                    buffer.Errors.Add("Mã trường trống");
                    buffer.Index = row;
                }
                else
                {
                    var center = data?.Centers.ToList()?.FirstOrDefault(x => x.DefCode == student.CenterCode);
                    if (center == null)
                    {
                        buffer.Errors.Add("Không tìm thấy trường trên hệ thống");
                        buffer.Index = row;
                    }
                    else
                    {
                        buffer.Student.CenterCode = center.Id.ToObjectId();
                    }
                }

                if (string.IsNullOrEmpty(student.MajorCode))
                {
                    buffer.Errors.Add("Mã chuyên môn trống");
                    buffer.Index = row;
                }
                else
                {
                    var major = data?.Majors.ToList()?.FirstOrDefault(x => x.DefCode == student.MajorCode);
                    if (major == null)
                    {
                        buffer.Errors.Add("Không tìm thấy chuyên môn trên hệ thống");
                        buffer.Index = row;
                    }
                    else
                    {
                        buffer.Student.MajorCode = major.Id.ToObjectId();
                    }
                }

                if (string.IsNullOrEmpty(student.ClassCode))
                {
                    buffer.Errors.Add("Mã lớp trống");
                    buffer.Index = row;
                }
                else
                {
                    var classroom = data?.Classrooms.ToList()?.FirstOrDefault(x => x.DefCode == student.ClassCode);
                    if (classroom == null)
                    {
                        buffer.Errors.Add("Không tìm thấy lớp trên hệ thống");
                        buffer.Index = row;
                    }
                    else
                    {
                        buffer.Student.ClassroomCode = classroom.Id.ToObjectId();
                    }
                }

                list.Add(buffer);
            }

            if (list.Any(x => x.Errors.Any()))
            {
                return(BadRequest(new
                {
                    Errors = list.Where(x => x.Errors.Any()).ToList()
                }));
            }
            var listToInsert = list.Select(x => x.Student).ToList();
            await _service.Import(listToInsert);

            return(Ok());
        }