public CodeReview SubmitCodeReviewPoint(CodeReviewPoint codeReviewPoint) { DAL.EntityFramework.CodeReviewPoint codeReviewPointCore; codeReviewPoint.CodeReviewTagId = codeReviewPoint.CodeReviewTagId == 0 ? null : codeReviewPoint.CodeReviewTagId; // existing if (codeReviewPoint.PointId > 0) { codeReviewPointCore = UnitOfWork.CodeReviewRepository .GetCodeReviewWithAllData(codeReviewPoint.CodeReviewMetadataId) .CodeReviewTags .Where(t => !t.IsDeleted) .SelectMany(t => t.CodeReviewPoints) .First(p => p.CodeReviewPointId == codeReviewPoint.PointId && !p.IsDeleted); codeReviewPointCore.CodeReviewTagId = (int)codeReviewPoint.CodeReviewTagId; codeReviewPointCore.PointTitle = codeReviewPoint.Title; codeReviewPointCore.Description = codeReviewPoint.Description; codeReviewPointCore.CodeReviewPointType = codeReviewPoint.Rating; codeReviewPointCore.IsDeleted = codeReviewPoint.IsDeleted; codeReviewPointCore.ModifiedOn = DateTime.Now; } else { codeReviewPointCore = new DAL.EntityFramework.CodeReviewPoint { PointTitle = codeReviewPoint.Title, Description = codeReviewPoint.Description, CodeReviewPointType = codeReviewPoint.Rating, IsDeleted = codeReviewPoint.IsDeleted, CreatedOn = DateTime.Now, ModifiedOn = DateTime.Now }; UnitOfWork.CodeReviewRepository.GetCodeReviewWithAllData(codeReviewPoint.CodeReviewMetadataId) .CodeReviewTags .First(i => i.CodeReviewTagId == codeReviewPoint.CodeReviewTagId && !i.IsDeleted) .CodeReviewPoints.Add(codeReviewPointCore); } UnitOfWork.Commit(); //return FetchCodeReviewPreview(codeReviewPoint.CodeReviewMetadataId,false); CodeReview updatedCodeReview = CodeReviewConverter.ConvertFromCore(UnitOfWork.CodeReviewRepository .GetCodeReviewWithAllData(codeReviewPoint.CodeReviewMetadataId)); updatedCodeReview.CodeReviewPreviewHtml = UtilityFunctions.GenerateCodeReviewPreview(updatedCodeReview, false); updatedCodeReview.SystemRating = CalculateCodeReviewRating(updatedCodeReview); return(updatedCodeReview); }
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); }
/// <summary> /// Get view model for user profile page /// </summary> /// <param name="userId">user id</param> /// <param name="loggedInUser"></param> /// <returns>instance of User vm</returns> public UserProfileVm GetUserProfileVm(int userId, User loggedInUser) { User requestedUser = userId == loggedInUser.UserId ? loggedInUser : UserDataAccesor.GetUserById(userId); CodeReview codeReview = loggedInUser.IsTrainer || loggedInUser.IsManager ? CodeReviewConverter.ConvertFromCore(UnitOfWork.CodeReviewRepository.GetSavedCodeReviewForTrainee(userId, loggedInUser.UserId)) : null; var commonTags = UnitOfWork.CodeReviewRepository .GetCommonlyUsedTags(userId, 5) .Select(skill => new CodeReviewTag { CodeReviewTagId = 0, Skill = new Skill { Name = skill.Name, SkillId = skill.SkillId } }).ToList(); if (codeReview != null) { codeReview.CodeReviewPreviewHtml = UtilityFunctions.GenerateCodeReviewPreview(codeReview, true); codeReview.SystemRating = new FeedbackBl().CalculateCodeReviewRating(codeReview); } return(new UserProfileVm { User = userId == loggedInUser.UserId ? null : requestedUser, Skills = requestedUser.IsTrainee ? SkillDataAccesor.GetSkillsByUserId(userId) : null, TraineeSynopsis = requestedUser.IsTrainee ? FeedbackDataAccesor.GetTraineeFeedbackSynopsis(requestedUser.UserId) : null, Sessions = requestedUser.IsTrainee ? SessionConverter.ConvertListFromCore(UnitOfWork.SessionRepository.GetAllSessionForAttendee(userId)) : null, Projects = null, Feedbacks = requestedUser.IsTrainee ? FeedbackDataAccesor.GetUserFeedback(userId, 5) : FeedbackDataAccesor.GetFeedbackAddedByUser(userId), TrainorSynopsis = requestedUser.IsTrainer || requestedUser.IsManager ? FeedbackDataAccesor.GetTrainorFeedbackSynopsis(requestedUser.UserId) : null, AllAssignedCourses = requestedUser.IsTrainee ? LearningPathDataAccessor.GetAllCoursesForTrainee(requestedUser.UserId).OrderByDescending(x => x.PercentageCompleted).ToList() : new List <CourseTrackerDetails>(), SavedCodeReview = codeReview, CommonTags = commonTags // SavedCodeReviewData = logedInUser.IsTrainer && (codeReview != null && codeReview.Id > 0) ? UtilityFunctions.GenerateCodeReviewPreview(codeReview, true) : string.Empty }); }
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); }
public string FetchCodeReviewPreview(int codeReviewMetaId, bool isFeedback) { return(UtilityFunctions.GenerateCodeReviewPreview(CodeReviewConverter.ConvertFromCore(UnitOfWork.CodeReviewRepository .GetCodeReviewWithAllData(codeReviewMetaId)), isFeedback)); }
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); }