public void AddAction(int projectId, SlaveAction action, string userId) { var project = _unitOfWork.ProjectRepository.GetById(projectId); if (project.UserId != userId) { throw new AccessDeniedException(); } var slaveActionEntity = Mapper.Map <SlaveAction, SlaveActionEntity>(action); slaveActionEntity.ProjectId = projectId; _unitOfWork.SlaveActionRepository.Insert(slaveActionEntity); _unitOfWork.Save(); }
public void EditAction(int projectId, SlaveAction action, string userId) { var project = _unitOfWork.ProjectRepository.GetById(projectId); if (project.UserId != userId) { throw new AccessDeniedException(); } var slaveActionEntity = _unitOfWork.SlaveActionRepository.GetById(action.Id); slaveActionEntity.NumberOfRegisters = action.NumberOfRegisters; slaveActionEntity.ProjectId = projectId; slaveActionEntity.SlaveAddress = action.SlaveAddress; slaveActionEntity.StartAddress = action.StartAddress; slaveActionEntity.Formula = action.Formula; slaveActionEntity.ActionType = action.ActionType; _unitOfWork.SlaveActionRepository.Update(slaveActionEntity); var dataTypes = _unitOfWork.DataTypesRepository.Get(x => x.SlaveActionEntityId == slaveActionEntity.Id); foreach (var dataType in dataTypes) { _unitOfWork.DataTypesRepository.Delete(dataType.Id); } foreach (var dataType in action.Types) { var dataTypeEntity = new DataTypeEntity() { SlaveActionEntityId = slaveActionEntity.Id, Type = dataType }; _unitOfWork.DataTypesRepository.Insert(dataTypeEntity); } _unitOfWork.Save(); }