public void Add(EmployeeDetailDTO item) { p1p.Data.Employee mdlEmployee = (p1p.Data.Employee)P1PObjectMapper.Convert(item, typeof(p1p.Data.Employee)); mdlEmployee.InsertDate = DateTime.Now; using (p1p.Data.P1PContext ctx = new p1p.Data.P1PContext()) { if (item.Team.Id != 0) { ctx.EmployeeTeamXREFs.Add(new EmployeeTeamXREF() { EmployeeId = item.Id, TeamId = item.Team.Id, InsertDate = DateTime.Now }); } ctx.Employees.Add(mdlEmployee); ctx.SaveChanges(); } }
public void Update(EmployeeDetailDTO item) { p1p.Data.Employee mdlEmployee = (p1p.Data.Employee)P1PObjectMapper.Convert(item, typeof(p1p.Data.Employee)); p1p.Data.Employee match; using (p1p.Data.P1PContext ctx = new p1p.Data.P1PContext()) { if (item.Team != null && item.Team.Id != 0) { EmployeeTeamXREF xref = ctx.EmployeeTeamXREFs.FirstOrDefault(x => x.EmployeeId == item.Id); if (xref != null) { if (xref.TeamId != item.Team.Id) { ctx.EmployeeTeamXREFs.Remove(xref); ctx.EmployeeTeamXREFs.Add(new EmployeeTeamXREF() { EmployeeId = item.Id, TeamId = item.Team.Id, InsertDate = DateTime.Now }); ctx.SaveChanges(); } } else { ctx.EmployeeTeamXREFs.Add(new EmployeeTeamXREF() { EmployeeId = item.Id, TeamId = item.Team.Id, InsertDate = DateTime.Now }); ctx.SaveChanges(); } } match = ctx.Employees.Single(c => item.Id == c.Id); ctx.Entry(match).CurrentValues.SetValues(mdlEmployee); ctx.SaveChanges(); } }