public static ResponseResult DeleteTrainer(TechnologyTrainerViewModel entity) { ResponseResult result = new ResponseResult(); try { using (var db = new XBC_Context()) { t_technology_trainer ttr = db.t_technology_trainer .Where(t => t.id == entity.id) .FirstOrDefault(); if (ttr != null) { object data = new { ttr.id, ttr.trainer_id, ttr.technology_id }; var json = new JavaScriptSerializer().Serialize(data); t_audit_log log = new t_audit_log(); log.type = "Delete"; log.json_delete = json; log.created_by = entity.UserId; log.created_on = DateTime.Now; db.t_audit_log.Add(log); db.t_technology_trainer.Remove(ttr); db.SaveChanges(); result.Entity = entity; } else { result.Success = false; result.ErrorMessage = "Trainer Not Found"; } } } catch (Exception ex) { result.Success = false; result.ErrorMessage = ex.Message; } return(result); }
//public static TechnologyTrainerViewModel GetTechnology2(long id) //{ // TechnologyTrainerViewModel result = new TechnologyTrainerViewModel(); // using (var db = new MinProContext()) // { // result = (from tc in db.t_technology // join tt in db.t_technology_trainer on tc.id equals tt.technology_id // where tc.id == id // select new TechnologyTrainerViewModel // { // id = tc.id, // name = tc.name, // notes = tc.notes, // active = tc.active, // trainer_id = tt.trainer_id // }).FirstOrDefault(); // if (result == null) // { // result = new TechnologyTrainerViewModel(); // } // } // return result; //} public static ResponResultViewModel Update(TechnologyViewModel entity) { //untuk create dan edit ResponResultViewModel result = new ResponResultViewModel(); try { using (var db = new MinProContext()) { if (entity.id == 0) { t_technology technology = new t_technology(); technology.name = entity.name; technology.notes = entity.notes; technology.active = entity.active; technology.created_by = 1; technology.created_on = DateTime.Now; foreach (var tr in entity.trainer) { t_technology_trainer tt = new t_technology_trainer(); tt.technology_id = technology.id; tt.trainer_id = tr.id; tt.created_by = 1; tt.created_on = DateTime.Now; db.t_technology_trainer.Add(tt); result.Entity = entity; } db.t_technology.Add(technology); db.SaveChanges(); } else { t_technology technology = db.t_technology.Where(o => o.id == entity.id).FirstOrDefault(); if (technology != null) { technology.name = entity.name; technology.notes = entity.notes; technology.active = entity.active; technology.created_by = 1; technology.created_on = DateTime.Now; foreach (var tr in entity.trainer) { t_technology_trainer tt = new t_technology_trainer(); tt.technology_id = technology.id; tt.trainer_id = tr.id; tt.created_by = 1; tt.created_on = DateTime.Now; db.t_technology_trainer.Add(tt); result.Entity = entity; } db.SaveChanges(); } else { result.Success = false; result.Message = "technology not found!"; } } } } catch (Exception e) { result.Success = false; result.Message = e.Message; } return(result); }
public static ResponseResult Update(TechnologyViewModel entity) { ResponseResult result = new ResponseResult(); try { using (var db = new XBC_Context()) { //Create if (entity.id == 0) { t_technology tec = new t_technology(); tec.name = entity.name; tec.notes = entity.notes; tec.is_delete = entity.is_delete; tec.created_by = entity.UserId; tec.created_on = DateTime.Now; db.t_technology.Add(tec); db.SaveChanges(); entity.id = tec.id; foreach (var item in entity.Details) { t_technology_trainer ttr = new t_technology_trainer(); ttr.technology_id = entity.id; ttr.trainer_id = item.id; ttr.created_by = entity.UserId; ttr.created_on = DateTime.Now; db.t_technology_trainer.Add(ttr); db.SaveChanges(); object datattr = new { ttr.id, ttr.trainer_id, ttr.technology_id }; var jsonttr = new JavaScriptSerializer().Serialize(datattr); t_audit_log logttr = new t_audit_log(); logttr.type = "Insert"; logttr.json_insert = jsonttr; logttr.created_by = entity.UserId; logttr.created_on = DateTime.Now; db.t_audit_log.Add(logttr); db.SaveChanges(); } object data = new { tec.id, tec.name, tec.notes }; var json = new JavaScriptSerializer().Serialize(data); t_audit_log log = new t_audit_log(); log.type = "Insert"; log.json_insert = json; log.created_by = entity.UserId; log.created_on = DateTime.Now; db.t_audit_log.Add(log); db.SaveChanges(); result.Entity = entity; } //Edit else { t_technology tec = db.t_technology .Where(t => t.id == entity.id) .FirstOrDefault(); if (tec != null) { object data = new { tec.id, tec.name, tec.notes }; var json = new JavaScriptSerializer().Serialize(data); t_audit_log log = new t_audit_log(); log.type = "Modify"; log.json_before = json; log.created_by = entity.UserId; log.created_on = DateTime.Now; tec.name = entity.name; tec.notes = entity.notes; tec.modified_by = entity.UserId; tec.modified_on = DateTime.Now; entity.id = tec.id; if (entity.Details != null) { foreach (var item in entity.Details) { t_technology_trainer ttr = new t_technology_trainer(); ttr.technology_id = entity.id; ttr.trainer_id = item.id; ttr.created_by = entity.UserId; ttr.created_on = DateTime.Now; db.t_technology_trainer.Add(ttr); object datattr = new { ttr.id, ttr.trainer_id, ttr.technology_id }; var jsonttr = new JavaScriptSerializer().Serialize(datattr); t_audit_log logttr = new t_audit_log(); logttr.type = "Insert"; logttr.json_insert = jsonttr; logttr.created_by = entity.UserId; logttr.created_on = DateTime.Now; db.t_audit_log.Add(logttr); } } object data2 = new { tec.id, tec.name, tec.notes }; var json2 = new JavaScriptSerializer().Serialize(data2); log.json_after = json2; db.t_audit_log.Add(log); db.SaveChanges(); result.Entity = entity; } else { result.Success = false; result.ErrorMessage = "Technology Not Found!"; } } } } catch (Exception ex) { result.Success = false; result.ErrorMessage = ex.Message; } return(result); }