Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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));
            }
        }
Ejemplo n.º 3
0
        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;
                }
            }
        }