static void Main(string[] args) { int id = 0; int departmentId = 0; string firstName = null; string lastName = null; decimal salary = 0; /* get list of employee id from table */ List <int> listOfId = new List <int>(); LinqForEmployeeDataContext db = new LinqForEmployeeDataContext(); var employeeData = from employee in db.Employees.AsEnumerable() select employee; foreach (Employee employee in employeeData) { listOfId.Add(int.Parse((employee.Id).ToString())); } /* paqrse XML */ XmlReader xmlreader = XmlReader.Create(@"C:\Users\vkamat\Documents\visual studio 2015\Projects\LinqToSQL\LinqToXML\Employee-Company.xml"); XElement xelement = XElement.Load(xmlreader); IEnumerable <XElement> textSegs = from seg in xelement.Descendants("Employee") select(XElement) seg; foreach (XElement employee in textSegs) { try { id = ValidateEmployeeDetails.ValidateEmployeeID(employee.Element("ID").Value); departmentId = ValidateEmployeeDetails.ValidateEmployeeDeptId(employee.Element("DepartmentId").Value); firstName = ValidateEmployeeDetails.ValidateEmployeeFirstName(employee.Element("FirstName").Value); lastName = ValidateEmployeeDetails.ValidateEmployeeLastName(employee.Element("LastName").Value); salary = ValidateEmployeeDetails.ValidateEmployeeSalary(employee.Element("Salary").Value); } catch (Exception exception) { Console.WriteLine(exception.Message); } /* insert to database */ if (!listOfId.Contains(id) && id != 0 && departmentId != 0 && firstName != null && lastName != null && salary != 0) { InsertEmployee(id, departmentId, firstName, lastName, salary); } else { Console.WriteLine("Error in insertion to column values not present in xml file or duplicate ID"); } } Console.WriteLine("press any key to cntinue....."); Console.Read(); }
public static void InsertEmployee(int id, int departmentId, string firstName, string lastName, decimal salary) { LinqForEmployeeDataContext db = new LinqForEmployeeDataContext(); Employee employee = new Employee(); employee.Id = id; employee.DepartmentId = departmentId; employee.FirstName = firstName; employee.LastName = lastName; employee.Salary = salary; db.Employees.InsertOnSubmit(employee); db.SubmitChanges(); }