PROG
- ok cancella - ok metodi API x check + approva salvando senza user - ok procedure insomnia salvate
This commit is contained in:
@@ -115,8 +115,9 @@ namespace MP.FileData.Controllers
|
||||
/// <param name="forceTag">Forza il controllo dei Tags</param>
|
||||
/// <param name="currRule">Regole di ricerca applicate</param>
|
||||
/// <param name="UserName">Utente connesso x approvazione</param>
|
||||
/// <param name="DoApprove">indica se vada approvata la modifica o lasciato "in sospeso"</param>
|
||||
/// <returns></returns>
|
||||
public int CheckFileArchived(string idxMacchina, string path, int numDayPre, string searchPattern, bool forceTag, SearchRules currRule, string UserName)
|
||||
public int CheckFileArchived(string idxMacchina, string path, int numDayPre, string searchPattern, bool forceTag, SearchRules currRule, string UserName, bool DoApprove)
|
||||
{
|
||||
Log.Info($"CheckFileArchived S00 | macchina: {idxMacchina} | path: {path} | pattern: {searchPattern} | # ExcludedFileExt: {currRule.ExcludedFileExt.Count()}");
|
||||
int checkDone = 0;
|
||||
@@ -213,7 +214,7 @@ namespace MP.FileData.Controllers
|
||||
if (fileNew != null && fileNew.Count > 0)
|
||||
{
|
||||
checkDone += fileNew.Count;
|
||||
FileInsert(idxMacchina, path, fileNew, UserName, 0, currRule);
|
||||
FileInsert(idxMacchina, path, fileNew, UserName, 0, currRule, DoApprove);
|
||||
Log.Trace($"CheckFileArchived S03 | insert {fileNew.Count} files");
|
||||
}
|
||||
// aggiorno i file modificati
|
||||
@@ -282,24 +283,26 @@ namespace MP.FileData.Controllers
|
||||
.DbSetProgFile
|
||||
.Where(x => x.FileId == currItem.FileId)
|
||||
.FirstOrDefault();
|
||||
localDbCtx
|
||||
.DbSetProgFile
|
||||
.Remove(file2del);
|
||||
|
||||
// se ce ne fosse un altro precedente --> lo (ri)attiva
|
||||
var file2open = localDbCtx
|
||||
.DbSetProgFile
|
||||
.Where(x => x.Name == currItem.Name && x.IdxMacchina == currItem.IdxMacchina)
|
||||
.OrderByDescending(y => y.Rev)
|
||||
.FirstOrDefault();
|
||||
.DbSetProgFile
|
||||
.Where(x => !x.Active && x.IdxMacchina == currItem.IdxMacchina && x.Path == currItem.Path)
|
||||
.OrderByDescending(y => y.Rev)
|
||||
.FirstOrDefault();
|
||||
if (file2open != null)
|
||||
{
|
||||
file2open.Active = true;
|
||||
}
|
||||
|
||||
// elimino record!
|
||||
localDbCtx
|
||||
.DbSetProgFile
|
||||
.Remove(file2del);
|
||||
|
||||
// salvo!
|
||||
localDbCtx.SaveChanges();
|
||||
done = true;
|
||||
int numDone = localDbCtx.SaveChanges();
|
||||
done = numDone != 0;
|
||||
}
|
||||
return done;
|
||||
}
|
||||
@@ -383,9 +386,9 @@ namespace MP.FileData.Controllers
|
||||
}
|
||||
|
||||
|
||||
public List<DatabaseModels.FileModel> FileGetByPath(string path, bool onlyActive)
|
||||
public List<FileModel> FileGetByPath(string path, bool onlyActive)
|
||||
{
|
||||
List<DatabaseModels.FileModel> dbResult = new List<DatabaseModels.FileModel>();
|
||||
List<FileModel> dbResult = new List<FileModel>();
|
||||
using (MoonPro_ProgContext localDbCtx = new MoonPro_ProgContext(_configuration))
|
||||
{
|
||||
dbResult = localDbCtx
|
||||
@@ -398,9 +401,9 @@ namespace MP.FileData.Controllers
|
||||
return dbResult;
|
||||
}
|
||||
|
||||
public List<DatabaseModels.FileModel> FileGetFilt(string IdxMacchina, bool OnlyActive, bool OnlyMod, bool OnlyNoTag, string FileName, string UserName, string Tag, string SearchVal, int NumStart, int NumRecords)
|
||||
public List<FileModel> FileGetFilt(string IdxMacchina, bool OnlyActive, bool OnlyMod, bool OnlyNoTag, string FileName, string UserName, string Tag, string SearchVal, int NumStart, int NumRecords)
|
||||
{
|
||||
List<DatabaseModels.FileModel> dbResult = new List<DatabaseModels.FileModel>();
|
||||
List<FileModel> dbResult = new List<FileModel>();
|
||||
using (MoonPro_ProgContext localDbCtx = new MoonPro_ProgContext(_configuration))
|
||||
{
|
||||
dbResult = localDbCtx
|
||||
@@ -432,8 +435,9 @@ namespace MP.FileData.Controllers
|
||||
/// <param name="UserName">Utente che ha approvato la modifica, "" = NON confermata/eliminabile</param>
|
||||
/// <param name="rev">rev da usare x creazione</param>
|
||||
/// <param name="currRule">Configuraizone ricerca</param>
|
||||
/// <param name="DoApprove">indica se vada approvata la modifica o lasciato "in sospeso"</param>
|
||||
/// <returns></returns>
|
||||
public bool FileInsert(string idxMacchina, string basePath, List<FileInfo> newFiles, string UserName, int rev, SearchRules currRule)
|
||||
public bool FileInsert(string idxMacchina, string basePath, List<FileInfo> newFiles, string UserName, int rev, SearchRules currRule, bool DoApprove)
|
||||
{
|
||||
// fare: lettura conf x macchina
|
||||
Log.Info($"FileInsert S01 per macchina {idxMacchina}: {newFiles.Count} files da valutare");
|
||||
@@ -448,7 +452,7 @@ namespace MP.FileData.Controllers
|
||||
List<FileModel> newRec = newFiles.Select(o => new FileModel()
|
||||
{
|
||||
Active = true,
|
||||
DiskStatus = FileState.Ok,
|
||||
DiskStatus = DoApprove ? FileState.Ok : FileState.Changed,
|
||||
IdxMacchina = idxMacchina,
|
||||
LastCheck = adesso,
|
||||
LastMod = o.LastWriteTime,
|
||||
@@ -536,6 +540,38 @@ namespace MP.FileData.Controllers
|
||||
return answ;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Imposta utente approvazione + data modifica File
|
||||
/// </summary>
|
||||
/// <param name="currFile"></param>
|
||||
/// <param name="UserName"></param>
|
||||
/// <returns></returns>
|
||||
public bool FileSetUserApp(FileModel currFile, string UserName)
|
||||
{
|
||||
bool done = false;
|
||||
List<FileInfo> listUpdate = new List<FileInfo>();
|
||||
using (MoonPro_ProgContext localDbCtx = new MoonPro_ProgContext(_configuration))
|
||||
{
|
||||
FileModel currRec = localDbCtx
|
||||
.DbSetProgFile
|
||||
.Where(x => x.FileId == currFile.FileId)
|
||||
.FirstOrDefault();
|
||||
if (currRec != null)
|
||||
{
|
||||
DateTime adesso = DateTime.Now;
|
||||
currRec.UserAppr = UserName;
|
||||
currRec.LastMod = adesso;
|
||||
currRec.LastCheck = adesso;
|
||||
//currFile.DiskStatus = FileState.Ok;
|
||||
localDbCtx.Entry(currRec).State = EntityState.Modified;
|
||||
// salvo DB
|
||||
localDbCtx.SaveChanges();
|
||||
}
|
||||
}
|
||||
return done;
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Approvazione modifica File
|
||||
/// </summary>
|
||||
@@ -545,8 +581,6 @@ namespace MP.FileData.Controllers
|
||||
public bool FileModApprove(FileModel currFile, string UserName)
|
||||
{
|
||||
bool done = false;
|
||||
// recupero file regole json da macchina..
|
||||
|
||||
List<FileInfo> listUpdate = new List<FileInfo>();
|
||||
using (MoonPro_ProgContext localDbCtx = new MoonPro_ProgContext(_configuration))
|
||||
{
|
||||
@@ -575,7 +609,7 @@ namespace MP.FileData.Controllers
|
||||
if (currRule.Name != "ND")
|
||||
{
|
||||
// inserisco come REVISIONE
|
||||
FileInsert(currFile.IdxMacchina, currMacchina.BasePath, listUpdate, UserName, currFile.Rev + 1, currRule);
|
||||
FileInsert(currFile.IdxMacchina, currMacchina.BasePath, listUpdate, UserName, currFile.Rev + 1, currRule, true);
|
||||
|
||||
// archivio vecchio file
|
||||
currFile.Active = false;
|
||||
|
||||
Reference in New Issue
Block a user