Example #1
0
        /// <summary>
        /// Converts Merge Review Set Job BEO to Update Review Set Task BEO
        /// </summary>
        /// <param name="reviewSetBeo"></param>
        /// <returns></returns>
        private static UpdateReviewSetTaskBEO ConvertToUTaskBeo(MergeReviewSetTaskBEO reviewSetBeo)
        {
            UpdateReviewSetTaskBEO reviewSet = new UpdateReviewSetTaskBEO
            {
                ReviewSetId             = reviewSetBeo.ReviewSetId,
                ReviewSetName           = reviewSetBeo.ReviewSetName,
                DatasetId               = reviewSetBeo.DatasetId,
                NumberOfDocumentsPerSet = reviewSetBeo.NumberOfDocumentsPerSet,
                NumberOfReviewSets      = reviewSetBeo.NumberOfReviewSets,
                StatusId             = reviewSetBeo.StatusId,
                ReviewsetDescription = reviewSetBeo.ReviewsetDescription,
                StartDate            = reviewSetBeo.StartDate,
                DueDate           = reviewSetBeo.DueDate,
                ReviewSetLogic    = reviewSetBeo.ReviewSetLogic,
                SplittingOption   = reviewSetBeo.SplittingOption,
                SearchQuery       = reviewSetBeo.SearchQuery,
                KeepDuplicates    = reviewSetBeo.KeepDuplicates,
                KeepFamily        = reviewSetBeo.KeepFamily,
                ReviewSetGroup    = reviewSetBeo.ReviewSetGroup,
                AssignTo          = reviewSetBeo.AssignTo,
                NumberOfDocuments = reviewSetBeo.NumberOfDocuments
            };

            reviewSet.Documents.AddRange(reviewSetBeo.Documents);
            reviewSet.ReviewSetUserList.AddRange(reviewSetBeo.ReviewSetUserList);

            return(reviewSet);
        }
Example #2
0
        /// <summary>
        /// Atomic work 1) Delete search sub-system Data 2) Delete Vault Data 3) Delete EVMaster Data
        /// </summary>
        /// <param name="task"></param>
        /// <param name="jobParameters"></param>
        /// <returns></returns>
        protected override bool DoAtomicWork(MergeReviewSetTaskBEO task, MergeReviewSetJobBEO jobParameters)
        {
            bool output = false;

            try
            {
                string datasetId = task.DatasetId.ToString(CultureInfo.InvariantCulture);

                switch (task.Activity)
                {
                case Constants.Create:
                {
                    /*since documents not needed for create reviewset, removing the docouments from the ReviewsetTaskBeo*/
                    List <RVWDocumentBEO> taskDocs = new List <RVWDocumentBEO>();
                    task.Documents.SafeForEach(taskDocs.Add);
                    task.Documents.Clear();

                    CreateReviewSetTaskBEO createReviewSetTaskBeo = ConvertToCTaskBeo(task);
                    createReviewSetTaskBeo.StatusId        = 1;
                    createReviewSetTaskBeo.Activity        = Constants.Merge;
                    createReviewSetTaskBeo.SplittingOption = Constants.Single;

                    /*Create Reviewset*/
                    task.reviewSetId = ReviewSetService.CreateReviewSetJob(createReviewSetTaskBeo);
                    taskDocs.SafeForEach(o => task.Documents.Add(o));

                    UpdateReviewSetTaskBEO updateReviewSetTaskBeo = ConvertToUTaskBeo(task);
                    updateReviewSetTaskBeo.StatusId        = 1;
                    updateReviewSetTaskBeo.Activity        = Constants.Merge;
                    updateReviewSetTaskBeo.SplittingOption = Constants.Single;
                    ReviewSetService.UpdateReviewSetJob(updateReviewSetTaskBeo);

                    //Assigning the reviewset id to the documents
                    IEnumerable <ReviewsetDocumentBEO> rsDocBeoList = PopulateReviewSetDocumentEntites(task.ReviewSetId, task.Documents);
                    output = AddDocumentsBychunk(datasetId, task.reviewSetId, rsDocBeoList);
                    output = true;
                    break;
                }

                default:
                {
                    if (task.Documents.Count > 0)
                    {
                        //Assigning the reviewset id to the documents
                        IEnumerable <ReviewsetDocumentBEO> rsDocBeoList = PopulateReviewSetDocumentEntites(task.ReviewSetId, task.Documents);

                        //Delete documents from vault and  from search sub-system
                        output = RemoveDocumentsBychunk(datasetId, task.reviewSetId, rsDocBeoList);
                    }
                    //Update Review set service - Archiving
                    UpdateReviewSetTaskBEO updateReviewSetTaskBeo = ConvertToUTaskBeo(task);
                    ReviewSetService.UpdateReviewSetJob(updateReviewSetTaskBeo);
                    output = true;
                    break;
                }
                }
            }
            catch (Exception ex)
            {
                ex.AddResMsg(ErrorCodes.ProblemInDoAtomicWork).Trace().Swallow();
            }
            return(output);
        }