private void startNotificationUserProcess(DataModels.Announcement.NotificationUser dataModel, IDAL dal) { int processDefinitionId = _parameterReader.ReadPublicParameter <int>("SubeDuyuruSureci", 2010); var user = dal.Read <User>(dataModel.User); var processInstanceRef = 'N' + dataModel.Notification.ToString() + 'U' + dataModel.User.ToString(); // var processInstanceRef = dataModel.Notification.ToString(); // var branch = dal.Read<Branch>(store.OrganizationBranch); IProcessInstance processInstance = new ProcessInstance(processDefinitionId, OTApplication.Context.User.Id); // Set Process Variables processInstance.AddProcessVariable("user", OTApplication.Context.User.Id); processInstance.AddProcessVariable("screenReference", "Announcement#NotificationListComponent#" + processInstanceRef); // processInstance.AddProcessVariable("branch", user.Branch); processInstance.AddProcessVariable("branchUser", dataModel.User); processInstance.AddProcessVariable("notification", dataModel.Notification); // Set Action Varibles processInstance.AddActionVariable("user", OTApplication.Context.User.Id); //processInstance.AddActionVariable("description", dataModel.Description); // Start Process var processId = processInstance.Start(processInstanceRef); // Assing ProcessInstanceID to NotificationUser; dataModel.ProcessInstance = processId; IUniParameter prmNotificationId = dal.CreateParameter("Notification", dataModel.Notification); IUniParameter prmUserId = dal.CreateParameter("User", dataModel.User); IUniParameter prmProcessInstance = dal.CreateParameter("ProcessInstance", processId); dal.ExecuteNonQuery("ANN_UPD_NOTIFICATIONUSER_SP", prmNotificationId, prmUserId, prmProcessInstance); }
public void TakeAction([FromBody] ViewModels.Announcement.NotificationUser viewModel) { if (ModelState.IsValid) { try { var mapperConfig = MapperConfig.Init(); mapperConfig.CreateMap <DataModels.Announcement.NotificationUser, ViewModels.Announcement.NotificationUser>(); DataModels.Announcement.NotificationUser dataModel = viewModel.Map <DataModels.Announcement.NotificationUser, ViewModels.Announcement.NotificationUser>(mapperConfig); _dataService.TakeAction(dataModel, viewModel.action, viewModel.actionChoice, viewModel.actionComment); } catch (Exception ex) { _logger.Error(PrepareExceptionMessage(MethodBase.GetCurrentMethod().Name), ex); throw CreateUserException(ex); } } else { var errors = ModelState.Values.SelectMany(value => value.Errors).Select(error => error.ErrorMessage); throw CreateUserException(new OTException(OTErrors.ModelStateInvalid, true, null, errors)); } }
public void TakeAction(DataModels.Announcement.NotificationUser dataObject, long actionId, string choice, string comment) { // var originalObject = GetNotificationUser(dataObject.Notification, dataObject.User); IActionOperations actionOperations = new Overtech.API.BPM.ActionOperations(OTApplication.Context.User.Id); var actionInfo = actionOperations.GetActionInfo(actionId); IAction action = new Overtech.API.BPM.Action(actionId, OTApplication.Context.User.Id); using (IDAL dal = this.DAL) { dal.BeginTransaction(); try { action.Commit(choice, comment); dal.CommitTransaction(); } catch { dal.RollbackTransaction(); throw; } } }