コード例 #1
0
 public MicroOrmComparison.UI.Models.Employee Add(MicroOrmComparison.UI.Models.Employee employee)
 {
     var employeeToInsert = AutoMapper.Mapper.Map<MicroOrmComparison.UI.Models.Employee, Employee>(employee);
     using (var db = new EmployeeDb())
     {
         db.Employees.AddOrUpdate(employeeToInsert);
         if (employeeToInsert.Addresses != null)
         {
             foreach (var address in employeeToInsert.Addresses)
             {
                 db.Addresses.AddOrUpdate(address);
             }
         }
         if (employeeToInsert.AssignedRoles != null)
         {
             foreach (var roleId in employeeToInsert.AssignedRoles.Select(x => x.Id).Distinct())
             {
                 var roleToInsert = new AssignedRole
                 {
                     EmployeeId = employeeToInsert.Id,
                     RoleId = roleId
                 };
                 db.AssignedRoles.Add(roleToInsert);
             }
         }
         db.SaveChanges();
         employee.Id = employeeToInsert.Id;
     }
     return employee;
 }
コード例 #2
0
 public void Remove(int id)
 {
     using (var db = new EmployeeDb())
     {
         var employeeToRemove = db.Employees.First(x => x.Id == id);
         if (employeeToRemove.Addresses != null)
         {
             db.Addresses.RemoveRange(employeeToRemove.Addresses);
         }
         if (employeeToRemove.AssignedRoles != null)
         {
             db.AssignedRoles.RemoveRange(employeeToRemove.AssignedRoles);
         }
         db.Employees.Remove(employeeToRemove);
         db.SaveChanges();
     }
 }
コード例 #3
0
 public void RemoveRole(int employeeId, int roleId)
 {
     using (var db = new EmployeeDb())
     {
         db.AssignedRoles.Remove(db.AssignedRoles.FirstOrDefault(ar => ar.RoleId == roleId && ar.EmployeeId == employeeId));
         db.SaveChanges();
     }
 }