private void RunProcedure(Processes processes, ProcessJob job, ProcessTrigger processTrigger) { var actionName = processes.PackageName; var parameters = new List <SqlParameter>(); Log.WriteErrorLog(string.Format("Starting store procedure execution for {0}-{1}.", _serviceName, processes.Title)); //Update tigger to Running processTrigger.Status = PackageStatus.Running; processTrigger.Remark = "Store procedure currently running..."; _dataManager.UpdateProcessTrigger(_connectionString, processTrigger); var result = string.Empty; SqlDataManager.RunProcedureWithMessage(_connectionString, actionName, parameters.ToArray()); if (result.Contains("Success")) { Log.WriteErrorLog(string.Format("Store procedure execution for {0}-{1} successfull.", _serviceName, processes.Title)); //Update tigger to Done processTrigger.Status = PackageStatus.Done; processTrigger.Remark = result; _dataManager.UpdateProcessTrigger(_connectionString, processTrigger); } else { Log.WriteErrorLog(string.Format("Store procedure execution for {0}-{1} failed.{2}", _serviceName, processes.Title, result)); //Update tigger to Fail processTrigger.Status = PackageStatus.Fail; processTrigger.Remark = string.Format("Package {0}-{1} failed. {2}", _serviceName, processes.Title, result); _dataManager.UpdateProcessTrigger(_connectionString, processTrigger); } }
public ProcessTriggerViewModel(ProcessTrigger trigger) : base(trigger) { Option = new OptionViewModel(trigger, nameof(trigger.Option)); Text = new TextViewModel(trigger); Attach(Option); Attach(Text); }
public void UpdateProcessTrigger(string connectionString, ProcessTrigger trigger) { using (var entityContext = new CoreContext(connectionString)) { var existingEntity = (from e in entityContext.Set <ProcessTrigger>() where e.ProcessTriggerId == trigger.ProcessTriggerId select e).FirstOrDefault(); SimpleMapper.PropertyMap(trigger, existingEntity); entityContext.SaveChanges(); } }
public ProcessTrigger UpdateProcessTrigger(ProcessTrigger processTrigger) { return(Channel.UpdateProcessTrigger(processTrigger)); }
private void RunPackage(Processes processes, ProcessJob job, ProcessTrigger processTrigger) { var packagePath = processes.PackagePath + processes.PackageName + ".dtsx"; dts.Package package = _app.LoadPackage(packagePath, null); Log.WriteErrorLog(string.Format("Starting package execution for {0}---{1}.", _serviceName, processes.Title)); //Update tigger to Running processTrigger.Status = PackageStatus.Running; processTrigger.Remark = "Package currently running..."; _dataManager.UpdateProcessTrigger(_connectionString, processTrigger); var result = package.Execute(); if (result == dts.DTSExecResult.Success) { int ssisDuration = 0; ssisDuration = (package.ExecutionDuration / 1000); // int.TryParse(Math.Round((package.ExecutionDuration / 1000.00), 2).ToString(), out ssisDuration); var statusMessage = string.Format("Package execution for {0}-{1} successfull.", _serviceName, processes.Title); try { if (_currentProcess == Convert.ToInt32(processId) && Count() != 0) { //processTrigger.Remark = string.Format("Package {0}-{1} successfully executed,however cannot proceed with the next process ", _serviceName, processes.Title) + "Duration: (" + HHMMSS(ssisDuration) + ")"; processTrigger.Remark = string.Format("Package {0}-{1} successfully executed,however cannot proceed with the next process ", _serviceName, processes.Title) + "Duration- HH:MM:SS: (" + HHMMSS(ssisDuration) + ")"; processTrigger.Status = PackageStatus.Done; } else { processTrigger.Remark = string.Format("Package {0}-{1} successfully executed: ", _serviceName, processes.Title) + "Duration- HH:MM:SS: (" + HHMMSS(ssisDuration) + ")"; processTrigger.Status = PackageStatus.Done; } //processTrigger.Remark = string.Format("Package {0}-{1} successfully executed: ", _serviceName, processes.Title) + "Duration: (" + HHMMSS(ssisDuration) + ")"; //processTrigger.Status = PackageStatus.Done; var message = package.Variables["Message"].Value.ToString(); if (!string.IsNullOrEmpty(message)) { char firstLevelSeparator = '/'; char secondLevelSeparator = '|'; var firstLevels = message.Split(firstLevelSeparator); var secondLevels = firstLevels[2].Split(secondLevelSeparator); if (firstLevels[1] == "Failed") { statusMessage = string.Format("Package execution for {0}-{1} for operation {2} Fail.", _serviceName, processes.Title, firstLevels[0]) + "Duration- HH:MM:SS: (" + HHMMSS(ssisDuration) + ")"; processTrigger.Remark = string.Format("Package {0}-{1} for operation {2} execution failed: ", _serviceName, processes.Title, firstLevels[0]) + "Duration- HH:MM:SS: (" + HHMMSS(ssisDuration) + ")/n"; foreach (var s in secondLevels) { processTrigger.Remark += s + "/n"; } processTrigger.Status = PackageStatus.Fail; Log.WriteErrorLog(processTrigger.Remark); } else { //if (_redcount != 0) //{ // statusMessage = string.Format("Package execution for {0}-{1} for operation {2} successful.", _serviceName, processes.Title, firstLevels[0]) + "Duration: (" + HHMMSS(ssisDuration) + ")"; // processTrigger.Remark = string.Format("Package {0}-{1} for operation {2} execution successful: ", _serviceName, processes.Title, firstLevels[0]) + "Duration: (" + HHMMSS(ssisDuration) + ")"; //} //else //{ // statusMessage = string.Format("Package execution for {0}-{1} for operation {2} successful,however cannot proceed with the nest process", _serviceName, processes.Title, firstLevels[0]) + "Duration: (" + HHMMSS(ssisDuration) + ")"; // processTrigger.Remark = string.Format("Package {0}-{1} for operation {2} execution successful:however cannot proceed with the nest process ", _serviceName, processes.Title, firstLevels[0]) + "Duration: (" + HHMMSS(ssisDuration) + ")"; //} statusMessage = string.Format("Package execution for {0}-{1} for operation {2} successful.", _serviceName, processes.Title, firstLevels[0]) + "Duration- HH:MM:SS: (" + HHMMSS(ssisDuration) + ")"; processTrigger.Remark = string.Format("Package {0}-{1} for operation {2} execution successful: ", _serviceName, processes.Title, firstLevels[0]) + "Duration- HH:MM:SS: (" + HHMMSS(ssisDuration) + ")"; foreach (var s in secondLevels) { processTrigger.Remark += s; } processTrigger.Status = PackageStatus.Done; Log.WriteErrorLog(processTrigger.Remark); } } else { Log.WriteErrorLog("Message variable is empty."); } } catch (Exception ex) { Log.WriteErrorLog(ex.Message); } Log.WriteErrorLog(statusMessage); //Update tigger to Done _dataManager.UpdateProcessTrigger(_connectionString, processTrigger); //_Exp = _ProcessName & ": " & _ssisCount & " lines extracted (" & HHMMSS(_ssisDuration) & ")" } else { string errorMessage = string.Empty; foreach (var error in package.Errors) { errorMessage += error.Description; } Log.WriteErrorLog(string.Format("Package execution for {0}-{1} failed.", _serviceName, processes.Title)); //Update tigger to Fail processTrigger.Status = PackageStatus.Fail; processTrigger.Remark = string.Format("Package {0}-{1} failed.", _serviceName, processes.Title) + "\n" + errorMessage; _dataManager.UpdateProcessTrigger(_connectionString, processTrigger); } }
public void UpdateTrigger(ProcessTrigger trigger) { _triggerRepository.Update(trigger); }