Fix alarm note/file foreign keys and query
This commit is contained in:
@@ -59,7 +59,7 @@ namespace Step.Database.Controllers
|
||||
&& ( (ifNoUser && x.Users.Count() == 0) || x.Users.Any(y => userIds.Any(z => z == y.UserId))) // Check user
|
||||
&&
|
||||
((x.Source == ALARM_SOURCE.NC && ncAlarmDescIds.Contains(x.AlarmDescriptionId.Value)) // Check if message is contained in NC messages
|
||||
|| (x.Source == ALARM_SOURCE.PLC && plcAlarmDescIds.Contains(x.PlcMessageId.Value))) // Check if message is contained in PLC messages
|
||||
|| (x.Source == ALARM_SOURCE.PLC && plcAlarmDescIds.Contains(x.AlarmId))) // Check if message is contained in PLC messages
|
||||
)
|
||||
.Skip(page * pageSize) // Paginate
|
||||
.Take(pageSize)
|
||||
@@ -116,21 +116,21 @@ namespace Step.Database.Controllers
|
||||
};
|
||||
}
|
||||
|
||||
public AlarmDescriptionsModel FindById(int id)
|
||||
public AlarmOccurrencesModel FindById(int id, ALARM_SOURCE source)
|
||||
{
|
||||
return dbCtx
|
||||
.AlarmDescriptions
|
||||
.Where(x => x.AlarmId == id)
|
||||
.AlarmOccurrences
|
||||
.Where(x => x.AlarmId == id && x.Source == source)
|
||||
.FirstOrDefault();
|
||||
}
|
||||
|
||||
#region NOTES
|
||||
|
||||
public List<DTOAlarmNoteModel> GetNotesByAlarmDescId(int alarmDescriptionId)
|
||||
public List<DTOAlarmNoteModel> GetNotesByAlarmDescId(int alarmDescriptionId, ALARM_SOURCE source)
|
||||
{
|
||||
return dbCtx
|
||||
.AlarmsNotes
|
||||
.Where(x => x.AlarmDescriptionId == alarmDescriptionId) // Filter by id
|
||||
.Where(x => x.AlarmId == alarmDescriptionId && x.Source == source) // Filter by id
|
||||
.Select(x => new DTOAlarmNoteModel() // Convert to return model
|
||||
{
|
||||
Id = x.NoteId,
|
||||
@@ -156,15 +156,16 @@ namespace Step.Database.Controllers
|
||||
.FirstOrDefault();
|
||||
}
|
||||
|
||||
public DTOAlarmNoteModel CreateNote(int userId, int alarmDescId, DTONewAlarmNoteModel newNote)
|
||||
public DTOAlarmNoteModel CreateNote(int userId, int alarmId, ALARM_SOURCE source, DTONewAlarmNoteModel newNote)
|
||||
{
|
||||
// Create model
|
||||
AlarmNoteModel note = new AlarmNoteModel()
|
||||
{
|
||||
Message = newNote.Message,
|
||||
DateTime = DateTime.Now,
|
||||
AlarmDescriptionId = alarmDescId,
|
||||
UserId = userId
|
||||
AlarmId = alarmId,
|
||||
UserId = userId,
|
||||
Source = source
|
||||
};
|
||||
// Add & save into database
|
||||
dbCtx.AlarmsNotes.Add(note);
|
||||
@@ -197,11 +198,11 @@ namespace Step.Database.Controllers
|
||||
|
||||
#region ATTACHMENT
|
||||
|
||||
public List<AlarmFileModel> FindAttachmentByAlarmDescId(int alarmDescId)
|
||||
public List<AlarmFileModel> FindAttachmentByAlarmDescId(int alarmId, ALARM_SOURCE source)
|
||||
{
|
||||
return dbCtx
|
||||
.AlarmFiles
|
||||
.Where(x => x.AlarmDescriptionId == alarmDescId)
|
||||
.Where(x => x.AlarmId == alarmId && x.Source == source)
|
||||
.ToList();
|
||||
}
|
||||
|
||||
@@ -213,15 +214,16 @@ namespace Step.Database.Controllers
|
||||
.FirstOrDefault();
|
||||
}
|
||||
|
||||
public AlarmFileModel AddAttachment(string fileName, string localFileName, int alarmDescId, int userId)
|
||||
public AlarmFileModel AddAttachment(string fileName, string localFileName, int alarmId, int userId, ALARM_SOURCE source)
|
||||
{
|
||||
// Create obj
|
||||
AlarmFileModel file = new AlarmFileModel()
|
||||
{
|
||||
FileName = fileName,
|
||||
LocalFileName = localFileName,
|
||||
AlarmDescriptionId = alarmDescId,
|
||||
UserId = userId
|
||||
AlarmId = alarmId,
|
||||
UserId = userId,
|
||||
Source = source
|
||||
};
|
||||
// Add to db
|
||||
dbCtx.AlarmFiles.Add(file);
|
||||
|
||||
Reference in New Issue
Block a user