Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions Employee_management/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
node_modules/
87 changes: 87 additions & 0 deletions Employee_management/app.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
var express=require('express');
var path=require('path');
var http=require('http');
var routes=require('./routes');
var connection=require('express-myconnection')
var employees=require('./routes/employees');
var app=express();
var mysql=require('mysql');
var db=require("../core/db");
var settings=require("../settings");
app.set('port',process.env.PORT||4300);
app.set('views',path.join(__dirname,'views'));
app.set('view engine','ejs');
app.use(express.logger('dev'));
app.use(express.json());
app.use(express.urlencoded());
app.use(express.methodOverride());
app.use(express.static(path.join(__dirname,'public')));
if('development'==app.get('env')){
app.use(express.errorHandler());
}
app.use(
connection(mysql,settings.dbConfig,request)
);
app.get('/',routes.index);
app.get('/employees',employees.list);
app.get('/employees/add',employees.add);
app.get('/employees/add',employees.save);
app.get('/employees/edit/:id',employees.edit);
app.get('/employees/delete/:id',routes.delete_customer);
app.get('/employees/edit/:id',employees.save_edit);
app.use(app.router);
http.createServer(app).listen(4300)


// First you need to create a connection to the db

/*con.connect(function(err){
if(err){
console.log('Error connecting to Db');
return;
}
console.log('Connection established');
})

con.query('Select * from employees',function(err,rows){
if(err)
throw err;
console.log('Data received from db\n');
console.log(rows);
for(var i=0;i<rows.length;i++)
{
console.log(rows[i].name);
}
});
var employee = { name: 'Winnie', location: 'Australia' };
con.query('INSERT INTO employees SET ?', employee, function(err,res){
if(err) throw err;

console.log('Last insert ID:', res.insertId);
});
con.query(
'UPDATE employees SET location = ? Where ID = ?',
["South Africa", 5],
function (err, result) {
if (err) throw err;

// console.log('Changed ' + result.changedRows + ' rows');
}
);
/*con.query(
'DELETE FROM employees WHERE id = ?',
[5],
function (err, result) {
if (err) throw err;

console.log('Deleted ' + result.affectedRows + ' rows');
}
);
con.end(function(err) {
// The connection is terminated gracefully
// Ensures all previously enqueued queries are still
// before sending a COM_QUIT packet to the MySQL server.
});*!/*/



21 changes: 21 additions & 0 deletions Employee_management/core/db.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
var sqlDb=require("mysql");
var settings=require("../settings");
exports.executeSql=function(sql,callback){
var con = mysql.createConnection(settings.dbConfig);
con.connect(function(err){
if(err){
console.log('Error connecting to Db');
return;
}
console.log('Connection established');
}).then(function(){
var req=new sqlDb.Request(con);
req.query('Select * from employees').then(function(recordset){
conn.close();
callback(recordset);
}).catch(function(err){
console.log(err);
callback(null,err);
});
})
};
17 changes: 17 additions & 0 deletions Employee_management/gruntfile.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
module.exports=function(grunt){
grunt.initConfig({
execute:{
target:{
src:['app.js']
}
},
watch:{
scripts:{
files:['app.js'],
tasks:['execute'],
},
}
});
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-execute');
}
26 changes: 26 additions & 0 deletions Employee_management/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
{
"name": "my-todolist",
"version": "0.0.1",
"main": "settings.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"devDependencies": {
"grunt": "^0.4.5",
"grunt-contrib-watch": "^0.6.1",
"grunt-execute": "^0.2.2"
},
"author": "",
"license": "ISC",
"description": "",
"dependencies": {
"express":"4.14.0",
"body-parser":"1.16.0",
"mssql":"3.3.0",
"cookie-parser":"1.4.3",
"jsonwebtoken":"5.5.4",
"express-jwt":"5.1.0",
"mysql":"2.12.0",
"mocha":"3.2.0"
}
}
65 changes: 65 additions & 0 deletions Employee_management/routes/employees.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
exports.list=function(req,res){
req.getConnection(function(){connection.query('Select * from employees',function(err,rows){
res.render('employees',{page_title:"",data:rows});
})})
}
exports.add=function(req,res){
res.render('add_employees',{page_title:""});

}
exports.edit=function(req,res) {
var id = req.params.id;
req.getConnection(function (err, connection) {
connection.query('Select * from employees where id=?', [id], function (err, rows) {
if (err)
console.log("Error selecting:%s", err);
res.render('edit_customer', {page_title: "", data: rows})
});
})
res.render('employees',{page_title:""});

}
exports.save=function(req,res) {
var input = JSON.parse(JSON.stringify(req.body));
req.getConnection(function (err, connection) {
var data={
id:input.id,
name:input.name,
location:input.location
};
var query = connection.query("INSERT INTO employee set ? ",data, function(err, rows)
{

if (err)
console.log("Error inserting : %s ",err );

res.redirect('/employees');

});

//res.render('employees',{page_title:""});

});
}
exports.save_edit=function(req,res) {
var input = JSON.parse(JSON.stringify(req.body));
var id = req.params.id;
req.getConnection(function (err, connection) {
var data = {
id: input.id,
name: input.name,
location: input.location
};
connection.query("UPDATE employees set ? WHERE id = ? ", [data, id], function (err, rows) {

if (err)
console.log("Error Updating : %s ", err);

res.redirect('/employees');

});

//res.render('employees',{page_title:""});

});
}
3 changes: 3 additions & 0 deletions Employee_management/routes/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
/**
* Created by lcom64 on 20/1/17.
*/
12 changes: 12 additions & 0 deletions Employee_management/settings.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
/**
* Created by lcom64 on 20/1/17.
*/
var path=require('path');

exports.dbConfig={
host: "localhost",
user: "root",
password: "root",
database:"mydb"
};

1 change: 1 addition & 0 deletions my-todolist/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
node_modules/
Loading