/// <summary>
        /// Assigns the project release type counts.
        /// </summary>
        /// <param name="releaseItems">The release items.</param>
        /// <param name="userId">The user unique identifier.</param>
        private void AssignProjectReleaseTypeCounts(ProjectReleaseTypeCollection releaseItems, int userId)
        {
            IList<ReleaseCountListItem> releaseCounts = null;
            var startDate = DateTime.Now.Date;
            var endDate = startDate.AddDays(1).AddMinutes(-1);
            releaseCounts = this.releaseService.RetrieveReleaseCount(null, null, startDate, endDate, userId);

            UpdateCounts(releaseItems, releaseCounts);
        }
        /// <summary>
        /// Updates the counts.
        /// </summary>
        /// <param name="releaseItems">The release items.</param>
        /// <param name="releaseCounts">The release counts.</param>
        private static void UpdateCounts(ProjectReleaseTypeCollection releaseItems, IList<ReleaseCountListItem> releaseCounts)
        {
            if (releaseCounts != null)
            {
                releaseItems.ForEach(item => item.TotalCount = 0);
                releaseCounts.SelectMany(releaseCount =>
                         releaseItems.Where(releaseType => releaseType.Id == Convert.ToInt32(releaseCount.Enviornment, CultureInfo.CurrentCulture) && releaseCount.ReleaseCalendarCount.HasValue)

                         .Select(releaseType => releaseType.TotalCount = releaseType.TotalCount + releaseCount.ReleaseCalendarCount.Value).ToList()).ToList();

                var totalCount = releaseItems.Where(releaseType => releaseType.Id != 0).Sum(item => item.TotalCount);
                releaseItems.Where(releaseType => releaseType.Id == 0).ToList().ForEach(releaseType => releaseType.TotalCount = totalCount);
            }
        }
        /// <summary>
        /// Assigns the project release types.
        /// </summary>
        /// <param name="releaseItems">The release items.</param>
        /// <param name="userId">The user unique identifier.</param>
        /// <returns>Project release type collection.</returns>
        private ProjectReleaseTypeCollection AssignProjectReleaseTypes(IList<LookupItem> releaseItems, int userId)
        {
            ProjectReleaseTypeCollection environments = new ProjectReleaseTypeCollection();
            environments.Add(new ProjectReleaseType { Id = 0, Name = "All", IsSelected = "true" });

            releaseItems.Select(releaseType =>
            {
                var environment = new ProjectReleaseType { Id = releaseType.ID, Name = releaseType.Name, IsSelected = "false" };
                if (environment.Name == Internal)
                {
                    environment.ShortName = InternalShort;
                }
                else if (environment.Name == UAT)
                {
                    environment.ShortName = UATShort;
                }
                else if (environment.Name == Production)
                {
                    environment.ShortName = ProductionShort;
                }

                environments.Add(environment);
                return true;
            }).ToList();

            this.AssignProjectReleaseTypeCounts(environments, userId);
            return environments;
        }
        /// <summary>
        /// Gets the dashboard release count.
        /// </summary>
        /// <param name="environment">The environment.</param>
        /// <param name="releaseList">The release list.</param>
        /// <returns>Environment's release count.</returns>
        public string GetDashboardReleaseCount(string environment, ProjectReleaseTypeCollection releaseList)
        {
            string releaseCount;
            switch (environment)
            {
                case AllReleasesShort:
                    return releaseCount = releaseList.Where(count => count.Name == AllReleasesShort).FirstOrDefault().TotalCount.ToString();
                    break;

                case InternalShort:
                    return releaseCount = releaseList.Where(count => count.ShortName == InternalShort).FirstOrDefault().TotalCount.ToString();
                    break;

                case ProductionShort:
                    return releaseCount = releaseList.Where(count => count.ShortName == ProductionShort).FirstOrDefault().TotalCount.ToString();
                    break;

                case UATShort:
                    return releaseCount = releaseList.Where(count => count.ShortName == UATShort).FirstOrDefault().TotalCount.ToString();
                    break;

                default:
                    return releaseCount = string.Empty;
                    break;
            }
        }