コード例 #1
0
        private async void btnSave_Click(object sender, EventArgs e)
        {
            var id         = txtIdNo.Text;
            var name       = txtFullName.Text;
            var address    = txtAddress.Text;
            var contactNo  = txtContact.Text;
            var email      = txtEmail.Text;
            var dateOfJoin = dateTimePicker.Text;
            var gpa        = txtGPA.Text;

            using (var context = new StudentManagementContext())
            {
                var emp = new Student(id, name, address, contactNo, email, dateOfJoin, gpa);
                context.Employees.Add(emp);
                await context.SaveChangesAsync();
            }

            //instance event args and value has been passed
            var args = new IdentityEventArgs(id, name, address, contactNo, email, dateOfJoin, gpa);

            //Event has be raised with update arguments of delegate
            IdentityUpdated?.Invoke(this, args);

            this.Hide();
        }
コード例 #2
0
        public async void ImportEmployeeFromCsv()
        {
            using (var openFileDialog1 = new OpenFileDialog()
            {
                Filter = "CSV|*.csv", ValidateNames = true, Multiselect = false
            })
            {
                if (openFileDialog1.ShowDialog() != DialogResult.OK)
                {
                    return;
                }

                const char sepChar      = ',';
                const char quoteChar    = '"';
                var        employeeList = new List <string[]>();
                try
                {
                    using (Stream stream = null)
                    {
                        var rows = File.ReadAllLines(openFileDialog1.FileName);
                        foreach (var csvRow in rows)
                        {
                            var inQuotes = false;
                            var fields   = new List <string>();
                            var field    = "";
                            for (var i = 0; i < csvRow.Length; i++)
                            {
                                if (inQuotes)
                                {
                                    if (i < csvRow.Length - 1 && csvRow[i] == quoteChar && csvRow[i + 1] == quoteChar)
                                    {
                                        i      = i++;
                                        field += quoteChar;
                                    }
                                    else if (csvRow[i] == quoteChar)
                                    {
                                        inQuotes = false;
                                    }
                                    else
                                    {
                                        if (csvRow[i - 1] == quoteChar)
                                        {
                                            field  = "";
                                            field += csvRow[i];
                                        }
                                        else
                                        {
                                            field += csvRow[i];
                                        }
                                    }
                                }
                                else
                                {
                                    if (csvRow[i] == quoteChar)
                                    {
                                        inQuotes = true;
                                    }
                                    if (csvRow[i] == sepChar)
                                    {
                                        fields.Add(field);
                                        field = "";
                                    }
                                    else
                                    {
                                        field += csvRow[i];
                                    }
                                }
                            }
                            if (!string.IsNullOrEmpty(field))
                            {
                                fields.Add(field);
                                field = "";
                            }
                            employeeList.Add(fields.ToArray());
                        }
                    }
                }
                catch (Exception er)
                {
                    MessageBox.Show(er.Message, "Error !", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                foreach (var value in employeeList)
                {
                    using (var context = new StudentManagementContext())
                    {
                        dataGridView.Rows.Add(value[0], value[1], value[2], value[3], value[4], value[5], value[6], value[7], value[8], value[9]);
                        var emp = new Student(value[0], value[1], value[2], value[3], value[4], value[5], value[6], value[7], value[8], value[9]);
                        context.Employees.Add(emp);
                        try
                        {
                            await context.SaveChangesAsync();
                        }
                        catch (Exception ex)
                        {
                            MessageBox.Show(ex.Message, "Error !", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        }
                    }
                }
            }
        }