public static int GetAribaExceptionSender(string primaryFileName, out string sender, out DateTime?receivedDate, out string sourceImage, out string originalFileName) // only if batch type is OPG-EMAIL, use this to get sender { sender = ""; originalFileName = ""; sourceImage = ""; receivedDate = null; try { using (var db = new Octacom_OICS_Entities()) { db.Database.CommandTimeout = 180; var ret = db.GetAribaExceptionSender(primaryFileName).FirstOrDefault(); if (ret != null) { sender = ret.Sender; receivedDate = ret.ReceivedDate; originalFileName = ret.Filename; sourceImage = ret.SourceImage; } } } catch (Exception ex) { OdissLogger.Error($"GetAribaExceptionSender error: {ex.ToString()}"); return(-1); } return(1); }
public static int GetDayExceptionList(DateTime finalizationTime, bool processDaysTillfinalizationTime, out List <GetAribaWaitingExceptionList_Result> processList) {//if processDaysTillfinalizationTime == true, it will process multiple dates from aribaExceptionsStartDate to finalizationTime, if not, only process one date: finalizationTime int year = finalizationTime.Year; int month = finalizationTime.Month; int day = finalizationTime.Day; DateTime exceptionStartDate; if (processDaysTillfinalizationTime) { exceptionStartDate = aribaExceptionsStartDate; } else { exceptionStartDate = finalizationTime; // only one day } try { using (var db = new Octacom_OICS_Entities()) { processList = db.GetAribaWaitingExceptionList(exceptionStartDate, finalizationTime).ToList(); return(1); } } catch (Exception ex) { OdissLogger.Error($"GetDayExceptionList from database error: {ex.ToString()}"); processList = null; return(-1); } }
public static int GetAribaExceptionBatchType(string primaryFileName, out string batchType, out DateTime?finalizationTime, out string processMessage) { batchType = ""; finalizationTime = null; processMessage = ""; try { using (var db = new Octacom_OICS_Entities()) { db.Database.CommandTimeout = 180; var ret = db.GetAribaExceptionBatchType(primaryFileName).FirstOrDefault(); if (ret != null) { batchType = ret.BatchType; finalizationTime = ret.FinalizationTime; } } } catch (Exception ex) { processMessage = $"GetAribaExceptionBatchType error: {ex.ToString()}"; OdissLogger.Error(processMessage); return(-1); } return(1); }
public static int ProcessAribaDayExceptionList(DateTime aDate, List <GetAribaWaitingExceptionList_Result> processList) { string filename, processMessage; foreach (var process1 in processList) { if (stopRequested) { return(0); } filename = process1.PrimaryFileName; try { int iret = ProcessPrimaryFile(process1.FinalizationTime.Value, process1.PrimaryFileName, out processMessage); if (iret == 1) // if all right, then move files to backup folder { MoveFilesToBackupFolder(process1.FinalizationTime.Value, process1.PrimaryFileName); } // insert into AribaProcessedException table, so it wont pricess it next time AribaProcessedException processed1 = new AribaProcessedException(); processed1.OICSConnectorProcessId = process1.OICSConnectorProcessId; processed1.ProcessedDate = DateTime.Now; processed1.ServiceState = iret; processed1.ServiceDetails = processMessage; using (var db = new Octacom_OICS_Entities()) { db.Entry(processed1).State = System.Data.Entity.EntityState.Added; db.SaveChanges(); } } catch (Exception ex) { OdissLogger.Error($"Error occurred when process {filename}: {ex.ToString()}"); } } OdissLogger.Info($"Ariba service processed {processList.Count} exception records."); return(1); }