Пример #1
0
        public CodeReview DiscardTagFromCodeReviewFeedback(int codeReviewId, int codeReviewTagId)
        {
            CodeReviewMetaData crMetaData = UnitOfWork.CodeReviewRepository.GetCodeReviewWithAllData(codeReviewId);

            crMetaData.CodeReviewTags
            .First(x => x.CodeReviewTagId == codeReviewTagId)
            .IsDeleted = true;

            UnitOfWork.Commit();

            CodeReview updatedCodeReviewPoint = CodeReviewConverter.ConvertFromCore(UnitOfWork.CodeReviewRepository
                                                                                    .GetCodeReviewWithAllData(codeReviewId));

            updatedCodeReviewPoint.CodeReviewPreviewHtml = UtilityFunctions.GenerateCodeReviewPreview(updatedCodeReviewPoint, false);
            updatedCodeReviewPoint.SystemRating          = CalculateCodeReviewRating(updatedCodeReviewPoint);
            return(updatedCodeReviewPoint);
        }
Пример #2
0
        public bool DiscardCodeReviewFeedback(int codeReviewId)
        {
            if (codeReviewId <= 0)
            {
                return(false);
            }

            CodeReviewMetaData crMetaData = UnitOfWork.CodeReviewRepository.Get(codeReviewId);

            if (crMetaData.FeedbackId.HasValue)
            {
                return(false);
            }

            crMetaData.IsDiscarded = true;
            return(UnitOfWork.Commit() > 0);
        }
Пример #3
0
        public bool SubmitCodeReviewFeedback(CodeReview codeReview)
        {
            CodeReviewMetaData codeReviewMetaData        = UnitOfWork.CodeReviewRepository.GetCodeReviewWithAllData(codeReview.Id);
            CodeReview         codeReviewDetailsFromCore = CodeReviewConverter.ConvertFromCore(codeReviewMetaData);

            Feedback feedback = new Feedback
            {
                AddedBy = new User {
                    UserId = codeReview.AddedBy.UserId
                },
                AddedFor = new User {
                    UserId = codeReview.AddedFor.UserId
                },
                FeedbackType = new Common.Entity.FeedbackType {
                    FeedbackTypeId = (int)FeedbackType.CodeReview
                },
                FeedbackText = UtilityFunctions.GenerateCodeReviewPreview(codeReviewDetailsFromCore, true),
                Skill        = new Skill(),
                Project      = new Project(),
                Title        = codeReviewDetailsFromCore.Title,
                Rating       = codeReview.Rating
            };

            int feedbackId = FeedbackDataAccesor.AddFeedback(feedback);

            if (!(feedbackId > 0))
            {
                return(false);
            }

            codeReviewMetaData.FeedbackId   = feedback.FeedbackId = feedbackId;
            codeReviewMetaData.SystemRating = CalculateCodeReviewRating(codeReviewDetailsFromCore);

            UnitOfWork.Commit();

            return(new NotificationBl().AddFeedbackNotification(feedback));

            //  return AddFeedback(feedback);
        }
Пример #4
0
        public CodeReview SubmitCodeReviewMetaData(CodeReview codeReview)
        {
            CodeReviewMetaData crMetaData;

            // existing
            if (codeReview.Id > 0)
            {
                crMetaData = UnitOfWork.CodeReviewRepository.GetCodeReviewWithAllData(codeReview.Id);
                if (crMetaData == null)
                {
                    throw new Exception("No Record Found");
                }

                crMetaData.Description = codeReview.Description;
                crMetaData.IsDiscarded = codeReview.IsDeleted;
                crMetaData.ProjectName = codeReview.Title;

                List <CodeReviewTag> existingTags = CodeReviewTagConverter.ConvertListFromCore(crMetaData.CodeReviewTags.Where(x => !x.IsDeleted).ToList());

                foreach (var tag in codeReview.Tags)
                {
                    if (existingTags.Any(x => x.Skill.SkillId == tag.Skill.SkillId))
                    {
                        continue;
                    }

                    crMetaData.CodeReviewTags.Add(new DAL.EntityFramework.CodeReviewTag
                    {
                        CreatedOn = DateTime.Now,
                        SkillId   = tag.Skill.SkillId
                    });
                }
            }
            else
            {
                crMetaData = new CodeReviewMetaData
                {
                    AddedBy      = codeReview.AddedBy.UserId,
                    AddedFor     = codeReview.AddedFor.UserId,
                    CreatedOn    = DateTime.Now,
                    Description  = codeReview.Description,
                    IsDiscarded  = false,
                    ProjectName  = codeReview.Title,
                    SystemRating = CalculateCodeReviewRating(codeReview)
                };
                foreach (var tag in codeReview.Tags)
                {
                    crMetaData.CodeReviewTags.Add(new DAL.EntityFramework.CodeReviewTag
                    {
                        CreatedOn = DateTime.Now,
                        SkillId   = tag.Skill.SkillId
                    });
                }

                crMetaData.CodeReviewTags.Add(new DAL.EntityFramework.CodeReviewTag
                {
                    CreatedOn = DateTime.Now,
                    SkillId   = null
                });

                UnitOfWork.CodeReviewRepository.Add(crMetaData);
            }

            UnitOfWork.Commit();

            //get new data
            var newCodeReview = CodeReviewConverter.ConvertFromCore(UnitOfWork.CodeReviewRepository.GetCodeReviewWithAllData(crMetaData.CodeReviewMetaDataId));

            newCodeReview.CodeReviewPreviewHtml = FetchCodeReviewPreview(crMetaData.CodeReviewMetaDataId, false);

            newCodeReview.SystemRating = CalculateCodeReviewRating(codeReview);

            return(newCodeReview);
        }