public DeleteDesiredStateResponse DeleteDesiredState(DeleteDesiredStateRequest request) { try { var desiredStae = new DesiredState { Id = request.Id }; DataContext.DesiredStates.Attach(desiredStae); DataContext.DesiredStates.Remove(desiredStae); DataContext.SaveChanges(); return new DeleteDesiredStateResponse { IsSuccess = true, Message = "The item has been deleted successfully", }; } catch { return new DeleteDesiredStateResponse { IsSuccess = false, Message = "An error occured, please contact the administrator for further information" }; } }
public SavePostureConstraintResponse SavePostureConstraint(SavePostureConstraintRequest request) { try { var postureConstraint = request.MapTo<PostureConstraint>(); if (request.Id == 0) { var posture = new Posture { Id = request.PostureId }; DataContext.Postures.Attach(posture); postureConstraint.Posture = posture; foreach (var id in request.RelationIds) { var desiredState = new DesiredState { Id = id }; DataContext.DesiredStates.Attach(desiredState); postureConstraint.DesiredStates.Add(desiredState); } DataContext.PostureConstraints.Add(postureConstraint); } else { postureConstraint = DataContext.PostureConstraints.Include(x => x.DesiredStates).First(x => x.Id == request.Id); request.MapPropertiesToInstance<PostureConstraint>(postureConstraint); postureConstraint.DesiredStates = new List<DesiredState>(); foreach (var id in request.RelationIds) { var desiredState = DataContext.DesiredStates.Local.FirstOrDefault(x => x.Id == id); if (desiredState == null) { desiredState = new DesiredState { Id = id }; DataContext.DesiredStates.Attach(desiredState); } postureConstraint.DesiredStates.Add(desiredState); } } DataContext.SaveChanges(); return new SavePostureConstraintResponse { IsSuccess = true, Message = "The item has been saved successfully", Id = postureConstraint.Id, Definition = postureConstraint.Definition, RelationIds = postureConstraint.DesiredStates.Select(x => x.Id).ToArray() }; } catch { return new SavePostureConstraintResponse { IsSuccess = false, Message = "An error occured, please contact the administrator for further information" }; } }