Пример #1
0
        /// <summary>
        /// Adds the update.
        /// </summary>
        /// <param name="developerId">The developer id.</param>
        /// <param name="supervisorId">The supervisor id.</param>
        /// <param name="roleId">The role id.</param>
        /// <param name="projectId">The project identifier.</param>
        /// <param name="tabId">The tab identifier.</param>
        /// <param name="includeInactive">The include inactive.</param>
        /// <returns>
        /// Add Update page
        /// </returns>
        public ActionResult AddUpdate(string developerId, string supervisorId, string roleId, string projectId, string tabId, string includeInactive)
        {
            TeamPresenter presenter = new TeamPresenter();

            if (projectId == null)
            {
                this.AddBreadcrumbItem(Resources.Assignments, Url.AssignmentsAction());
            }
            else
            {
                presenter.ProjectId = projectId;
                presenter.TabId = tabId;

                this.AddBreadcrumbItem(Resources.ProjectDashboard, RetrieveProjectDashboardAddress(Url.ProjectDashboardAction(), presenter.ProjectId, presenter.TabId));
            }

            if (!string.IsNullOrEmpty(includeInactive))
            {
                presenter.IncludeInactive = Convert.ToBoolean(includeInactive, CultureInfo.CurrentCulture);
            }

            presenter.SelectedRoleId = roleId;
            presenter.SelectedSupervisorId = supervisorId;

            presenter.AssignRoles(this.lookupService.RetrieveRoles(null, null, SessionData.Instance.UserInfo.Developer.DeveloperID), false);
            presenter.AssignDesignations(this.lookupService.RetrieveDesignations(SessionData.Instance.UserInfo.Developer.DeveloperID));
            presenter.AssignUserTypes(this.lookupService.RetrieveUserTypes(SessionData.Instance.UserInfo.Developer.DeveloperID));
            presenter.AssignTimeZones(this.lookupService.RetrieveTimeZones());
            presenter.Designations.Insert(0, new LookupItem { ID = -1, Name = Resources.SelectDesignation });
            presenter.Roles.Insert(0, new LookupItem { ID = -1, Name = Resources.SelectRole });

            var supervisors = this.lookupService.RetrieveDevelopers(null, null, SessionData.Instance.UserInfo.Developer.DeveloperID);
            var maritalStatus = this.lookupService.RetrieveMaritalStatusList(SessionData.Instance.UserInfo.Developer.DeveloperID);
            if (string.IsNullOrEmpty(developerId))
            {
                // Add view
                this.AddBreadcrumbItem(Resources.AddTeam, Url.ManageTeamAction());
                presenter.Developer = new Developer();
                presenter.Developer.LoginID = LoginIdValue;
                presenter.Developer.ProductivityPerDay = ApplicationSettings.Instance.TeamMemberProductiveHours;
                presenter.AssignSupervisors(supervisors, false);
                presenter.AssignMaritalStatus(maritalStatus);
                presenter.MaritalStatusList.Insert(0, new LookupItem { ID = -1, Name = Resources.SelectMaritalStatus });
            }
            else
            {
                //// Edit view
                this.AddBreadcrumbItem(Resources.EditTeamMember, Url.ManageTeamAction());
                presenter.IsEdit = true;
                presenter.AssignSupervisors(supervisors.Where(item => item.ID != Convert.ToInt32(developerId, CultureInfo.CurrentCulture)).ToList(), false);
                presenter.Developer = this.developerService.RetrieveById(Convert.ToInt32(developerId, CultureInfo.CurrentCulture));
                presenter.AssignMaritalStatus(maritalStatus);
                presenter.MaritalStatusList.Insert(0, new LookupItem { ID = -1, Name = Resources.SelectMaritalStatus });

                if (presenter.Developer.UserType == UserType.Admin)
                {
                    presenter.IsAdmin = true;
                }

                if (presenter.Developer.ManagerID == null)
                {
                    presenter.SelfId = -1;
                }
                else
                {
                    presenter.SelfId = Convert.ToInt32(presenter.Developer.ManagerID, CultureInfo.CurrentCulture);
                }
            }

            ////presenter.OldPassword = presenter.Developer.Password;
            presenter.Supervisors.Insert(0, new LookupItem { ID = -1, Name = "- Self -" });
            presenter.TimeZoneList.Insert(0, new TimeZoneInfoListItem { TimeZoneID = -1, Name = Resources.SelectTimeZone });
            return this.View("AddUpdate", presenter);
        }