예제 #1
0
        public void DeserializeModel_StartWorkflowCommand_CorrelationId()
        {
            IdentityModel   identityModel   = new IdentityModel(accountName, AuthorizationType.NTLM);
            IdentityContext identityContext = new IdentityContext(identityModel);
            RoleModel       roleModel       = new RoleModel(AuthorizationType.DocSuiteSecurity, Guid.NewGuid());

            identityContext.Roles.Add(roleModel);
            WorkflowModel          workflowModel           = new WorkflowModel("DSW_StartCollaboration");
            SignerModel            singner1                = new SignerModel(1, true, SignerType.AD, identityModel);
            WorkflowParameterModel workflowParameterModel1 = new WorkflowParameterModel(singner1, WorkflowParameterNames.CollaborationNames.SIGNER);

            workflowModel.WorkflowParameters.Add(workflowParameterModel1);
            SignerModel            singner2 = new SignerModel(2, true, SignerType.DSWRole, role: roleModel);
            WorkflowParameterModel workflowParameterModel2 = new WorkflowParameterModel(singner2, WorkflowParameterNames.CollaborationNames.SIGNER);

            workflowModel.WorkflowParameters.Add(workflowParameterModel2);
            StartWorkflowContentType startWorkflowContentType = new StartWorkflowContentType(workflowModel, accountName, Guid.NewGuid());
            StartWorkflowCommand     startWorkflowCommand     = new StartWorkflowCommand(Guid.NewGuid(), tenantName, tenantId, Guid.NewGuid(), identityContext, startWorkflowContentType)
            {
                CorrelationId = Guid.NewGuid()
            };
            string json = ManagerHelper.SerializeModel(startWorkflowCommand);
            StartWorkflowCommand deJson = ManagerHelper.DeserializeModel <StartWorkflowCommand>(json);

            Assert.AreEqual <Guid>(startWorkflowCommand.CorrelationId.Value, deJson.CorrelationId.Value);
        }
 public virtual ActionResult AddOrUpdateSigner(SignerModel signerModel)
 {
     try
     {
         if ((!ModelState.IsValid) || (signerModel.PostId <= 0) || (signerModel.RowNumber <= 0))
         {
             return(Json(new { IsError = true, Message = "ورودی نا معتبر!" }));
         }
         var data = _baseInfoComissionCouncilService.AddOrUpdateSigner(signerModel, signerModel.Id != null && signerModel.Id > 0 ? StateOperation.ویرایش : StateOperation.درج);
         return(Json(new { IsError = !data.Item1, Message = data.Item2 }));
     }
     catch (Exception ex)
     {
         return(Json(new { IsError = true, Message = "خطا در ثبت اطلاعات!" }));
     }
 }
        public Tuple <bool, string> AddOrUpdateSigner(SignerModel signerModel, StateOperation stateOperation)
        {
            try
            {
                if (stateOperation == StateOperation.درج)
                {
                    var signer = _signerRepository.Find(x => x.RequestType == signerModel.RequestType && x.RowNumber == signerModel.RowNumber);
                    if (signer != null)
                    {
                        return(new Tuple <bool, string>(false, "خطا در انجام عملیات : رکورد مورد نظر تکراری می باشد"));
                    }
                    Signer newSigner = new Signer
                    {
                        PostId      = signerModel.PostId,
                        RequestType = signerModel.RequestType,
                        RowNumber   = signerModel.RowNumber
                    };
                    _signerRepository.Add(newSigner);
                }
                else
                {
                    if (_signerRepository.Contains(x => x.Id != signerModel.Id && x.RequestType == signerModel.RequestType && x.RowNumber == signerModel.RowNumber))
                    {
                        return(new Tuple <bool, string>(false, "خطا در انجام عملیات : رکورد مورد نظر تکراری می باشد"));
                    }
                    var signer = _signerRepository.Find(x => x.Id == signerModel.Id);
                    if (signer == null)
                    {
                        return(new Tuple <bool, string>(false, "خطا در انجام عملیات : رکورد مورد نظر یافت نشد"));
                    }
                    signer.PostId = signerModel.PostId;

                    signer.RowNumber = signerModel.RowNumber;

                    _signerRepository.Update(signer);
                }
                _unitOfWork.SaveChanges();
                return(new Tuple <bool, string>(true, "عملیات ثبت شد"));
            }
            catch (Exception)
            {
                return(new Tuple <bool, string>(false, "خطا در انجام عملیات"));
            }
        }