示例#1
0
        public ReviewsForArtifact GetReviewsForArtifact(int id)
        {
            ReviewsForArtifact artifact = new ReviewsForArtifact();

            var          art = context.IbmArtifact.Where(x => x.Id == id).Include(p => p.IbmArtifactReview).FirstOrDefault();
            JazzArtifact a   = new JazzArtifact()
            {
                Id = art.Id, IbmId = art.IbmId, Name = art.Name, Url = art.Url
            };

            artifact.Artifact = a;
            List <int>         ids     = art.IbmArtifactReview.Select(x => x.ReviewId).ToList();
            var                reviews = context.Review.Where(x => ids.Contains(x.Id)).ToList();
            List <ReviewSetup> setups  = new List <ReviewSetup>();

            foreach (var r in reviews)
            {
                ReviewSetup s = new ReviewSetup()
                {
                    Id = r.Id, Name = r.Name
                };
                setups.Add(s);
            }
            artifact.Reviews = setups;
            return(artifact);
        }
示例#2
0
        public string CloseReview(int oldreview, ReviewSetup reviewsetup)
        {
            string result = "";

            if (oldreview > 0)
            {
                var review = new ReviewServices().GetByID(oldreview);
                review.IsCurrent = false;
                review.IsActive  = false;
                review.Status    = (int)GoalStatus.COMPLETED;
                review.Score     = ReviewServices.CalculateCommentsScore(review)["Weighted"] + ReviewServices.CalculateGoalsScore(review)["Weighted"] + ReviewServices.CalculateQuestionsScore(review)["Weighted"];
                new ReviewServices().Save(review);

                var newreview = new Review();
                newreview.AccountID        = SecurityContextManager.Current.CurrentAccount.ID;
                newreview.ChangedBy        = SecurityContextManager.Current.CurrentUser.ID;
                newreview.DateCreated      = DateTime.Now;
                newreview.DueDate          = reviewsetup.DueDate;
                newreview.EnteredBy        = SecurityContextManager.Current.CurrentUser.ID;
                newreview.EnteredFor       = review.EnteredForRef.ID;
                newreview.IsActive         = true;
                newreview.IsCurrent        = true;
                newreview.LastUpdated      = DateTime.Now;
                newreview.ReviewTemplateID = reviewsetup.TemplateID;
                newreview.StartDate        = reviewsetup.StartDate;
                newreview.Status           = (int)GoalStatus.ACCEPTED;
                newreview.Title            = review.EnteredForRef.Name + " - Due: " + review.DueDate.ToShortDateString();
                newreview.CommentsWeight   = SecurityContextManager.Current.CurrentAccount.CommentsWeight;
                newreview.GoalsWeight      = SecurityContextManager.Current.CurrentAccount.GoalsWeight;
                newreview.QuestionsWeight  = SecurityContextManager.Current.CurrentAccount.QuestionsWeight;
                new ReviewServices().Save(newreview);
                var t = new ReviewTemplateServices().GetByID(newreview.ReviewTemplateID);
                foreach (var i in t.Questions)
                {
                    var q = new ReviewQuestionScore();
                    q.Comment          = "";
                    q.DateCreated      = DateTime.Now;
                    q.EnteredBy        = SecurityContextManager.Current.CurrentUser.ID;
                    q.Score            = 0;
                    q.ReviewID         = newreview.ID;
                    q.ReviewQuestionID = i.ID;
                    new ReviewQuestionScoreServices().Save(q);
                }
                EmailHelper.SendReviewNotification(newreview, review.EnteredForRef.Email);
                if (review.EnteredForRef.ReceiveCommentNotifications)
                {
                    result = "1:New Review Successfully Created!:Reviews/" + newreview.ID.ToString();
                }
                return(result);
            }
            return(result);
        }
示例#3
0
        public string SavePerson(Person person, ReviewSetup reviewsetup)
        {
            string result = "";

            person.AccountID         = SecurityContextManager.Current.CurrentAccount.ID;
            person.TerminationDate   = null;
            person.DateAcceptedTerms = null;
            person.AvatarPath        = ResourceStrings.GravatarBasePath + DateTime.Now.ToBinary().ToString().Replace("-", "") + "?d=identicon&s=";
            person.Password          = IdeaSeed.Core.SecurityUtils.GetMd5Hash(person.Password);
            var p = new PersonServices().Save(person);

            if (person.ManagerID == -1)
            {
                person.ManagerID = p.ID;
                new PersonServices().Save(p);
            }

            foreach (var m in person.Memberships)
            {
                m.PersonID = person.ID;
                new TeamMemberServices().Save(m);
            }
            var review = new Review();

            review.AccountID        = SecurityContextManager.Current.CurrentAccount.ID;
            review.ChangedBy        = SecurityContextManager.Current.CurrentUser.ID;
            review.DateCreated      = DateTime.Now;
            review.DueDate          = reviewsetup.DueDate;
            review.EnteredBy        = SecurityContextManager.Current.CurrentUser.ID;
            review.EnteredFor       = person.ID;
            review.IsActive         = true;
            review.IsCurrent        = true;
            review.LastUpdated      = DateTime.Now;
            review.ReviewTemplateID = reviewsetup.TemplateID;
            review.StartDate        = reviewsetup.StartDate;
            review.Status           = (int)GoalStatus.ACCEPTED;
            review.Title            = person.Name + " - Due: " + review.DueDate.ToShortDateString();
            new ReviewServices().Save(review);

            var t = new ReviewTemplateServices().GetByID(review.ReviewTemplateID);

            foreach (var i in t.Questions)
            {
                var q = new ReviewQuestionScore();
                q.Comment          = "";
                q.DateCreated      = DateTime.Now;
                q.EnteredBy        = SecurityContextManager.Current.CurrentUser.ID;
                q.Score            = 0;
                q.ReviewID         = review.ID;
                q.ReviewQuestionID = i.ID;
                new ReviewQuestionScoreServices().Save(q);
            }

            if (person.ReceiveCommentNotifications)
            {
                EmailHelper.SendNewEmployeeNotification(person, "");
            }
            IdeaSeed.Core.Data.NHibernate.NHibernateSessionManager.Instance.CloseSession();
            result = "1:Employee Added Succesfully!:People/" + person.Email;

            var _cache = new MemcacheCacheAdapter();

            _cache.Remove(SecurityContextManager
                          .Current
                          .CurrentUser.ID.ToString() + "_DepartmentsList");
            var list = new DepartmentServices().GetAll().ToList <Department>();

            _cache.Store(SecurityContextManager
                         .Current
                         .CurrentUser.ID.ToString() + "_DepartmentsList", list);

            return(result);
        }