示例#1
0
 public CtrlDashboard(string position)
 {
     InitializeComponent();
     dashboardPresenter   = new DashboardPresenter();
     lblSchool.Text       = dashboardPresenter.getSchoolName();
     lblOrganization.Text = dashboardPresenter.getOrganization();
     this.position        = position;
 }
 public void RunDashboard()
 {
     using (var view = new VwDashboard())
     {
         IDashboardPresenter presenter = new DashboardPresenter(view, this, _loggedInId);
         presenter.Run();
     }
 }
示例#3
0
        public DashboardView(string username, int roleID)
        {
            InitializeComponent();

            Username = username;
            RoleID   = roleID;

            DashboardPresenter presenter = new DashboardPresenter(this);

            Load += DashboardView_Load;
            buttonPersonalInfo.Click += (_, e) =>
            {
                PersonalInformationView personalInformationView = new PersonalInformationView(Username, RoleID);

                personalInformationView.ShowDialog();
            };
        }
示例#4
0
 protected void Page_Load(object sender, EventArgs e)
 {
     _myPresenter = new DashboardPresenter();
     _myPresenter.SelectedView = this;
     _myPresenter.InitializeView();
 }
        /// <summary>
        /// Indexes this instance.
        /// </summary>
        /// <returns>
        /// The view
        /// </returns>
        public async Task<ActionResult> Index()
        {
            var dashboardPresenter = new DashboardPresenter();
            string shipId = string.Empty;
            var voyageIds = string.Empty;
            if (SessionData.Instance.MasterData != null)
            {
                if (SessionData.Instance.MasterData.Ship != null && !string.IsNullOrEmpty(SessionData.Instance.MasterData.Ship.ShipId))
                {
                    shipId = SessionData.Instance.MasterData.Ship.ShipId;
                }

                voyageIds += string.Join(CommaSeparator, SessionData.Instance.MasterData.Voyages.Where(voyage => voyage.IsActive).Select(voyage => voyage.VoyageId).ToArray());
            }

            if (dashboardPresenter.PersonTypes != null && SessionData.Instance.PersonType == null)
            {
                var personType = dashboardPresenter.PersonTypes.FirstOrDefault(item => item.PersonTypeId.Equals(PersonIdConstant, StringComparison.InvariantCultureIgnoreCase));
                SessionData.Instance.PersonType = personType != null ? personType.Name : string.Empty;
            }

            var dashboard = await this.dashboardManager.RetrieveDashboardDetailsAsync(shipId, BaseController.GenerateLocalDateTime(DateTime.UtcNow).ToString(this.ApplicationSettings.ShipDateTimeFormat), voyageIds);
            if (dashboard != null)
            {
                dashboardPresenter.AlertsAndMessagesDetail = dashboard.AlertAndMessageDetail;
                dashboardPresenter.EmbarkationStatistics = dashboard.EmbarkationStatistics;
                ClearSessionData();
                BaseController.GetAboutUsInformation(dashboardPresenter);
                return this.View(dashboardPresenter);
            }

            return this.View();
        }
示例#6
0
        protected void Page_Load(object sender, EventArgs e)
        {
            CffPrincipal cPrincipal = (CffPrincipal)Context.User;

            // verify if this user agreed on the CFF Agreement
            if (SessionWrapper.Instance.Get == null)
            {
                if ((cPrincipal.CffUser.UserType == UserType.EmployeeStaffUser) ||
                    (cPrincipal.CffUser.UserType == UserType.EmployeeManagementUser) ||
                    (cPrincipal.CffUser.UserType == UserType.EmployeeAdministratorUser))
                {
                    string viewID = SaferTrader.Core.Common.StringEnum.GenerateUniqueKey(12);
                    SessionWrapper.Instance.GetSession(viewID).ClientFromQueryString = RepositoryFactory.CreateClientRepository().GetCffClientByClientId(Convert.ToInt32(QueryString.ClientId));
                    SessionWrapper.Instance.GetSession(viewID).UserIdentity          = 1;

                    string rUrl = ResolveClientUrl(Context.Request.Url.AbsolutePath + "?Client=" + QueryString.ClientId.ToString() + "&User="******"&ViewID=" + viewID);

                    string tUrl = this.Context.Request.RawUrl;
                    this.Response.Redirect(rUrl);
                }
                else
                { //redirect to logon page - allow only one window tab instance to open, unless it came from the reports tab etc
                    string rUrl = ResolveClientUrl("~/Logon.aspx");
                    string tUrl = this.Context.Request.RawUrl;
                    this.Response.Redirect(rUrl);
                }
            }

            if ((QueryString.ClientId != cPrincipal.CffUser.ClientId) && (cPrincipal.IsInClientRole || cPrincipal.IsInCustomerRole))
            {
                SessionWrapper.Instance.Get.ClientFromQueryString = RepositoryFactory.CreateClientRepository().GetCffClientByClientId((int)cPrincipal.CffUser.ClientId);
            }

            if (Page.IsPostBack)
            {
                int ClientId = (this.Client != null) ? this.Client.Id : 0;
                if (ClientId == 0)
                {
                    if (QueryString.ClientId == null)
                    {
                        ClientId = Convert.ToInt32(cPrincipal.CffUser.ClientId.ToString());
                    }
                    else
                    {
                        ClientId = (int)QueryString.ClientId;
                    }
                }

                if (SessionWrapper.Instance.Get != null)
                {
                    if ((SessionWrapper.Instance.Get.ClientFromQueryString.Id != ClientId) &&
                        (!string.IsNullOrEmpty(SessionWrapper.Instance.Get.AccountsIDList)))
                    {
                        SessionWrapper.Instance.Get.ClientFromQueryString = RepositoryFactory.CreateClientRepository().GetCffClientByClientId(ClientId);
                    }

                    else if (SessionWrapper.Instance.Get.ClientFromQueryString.Id != ClientId)
                    {
                        if (cPrincipal.CffUser.UserType == UserType.EmployeeAdministratorUser ||
                            cPrincipal.CffUser.UserType == UserType.EmployeeManagementUser || cPrincipal.CffUser.UserType == UserType.EmployeeStaffUser)
                        {
                            SessionWrapper.Instance.Get.ClientFromQueryString = RepositoryFactory.CreateClientRepository().GetCffClientByClientId(ClientId);
                        }
                        else if (cPrincipal.IsInClientRole || cPrincipal.IsInCustomerRole)
                        {
                            SessionWrapper.Instance.Get.ClientFromQueryString = RepositoryFactory.CreateClientRepository().GetCffClientByClientId(Convert.ToInt32(cPrincipal.CffUser.ClientId.ToString()));
                        }
                    }
                }
                else if (!string.IsNullOrEmpty(QueryString.ViewIDValue))
                {
                    if ((SessionWrapper.Instance.GetSession(QueryString.ViewIDValue).ClientFromQueryString.Id != ClientId) &&
                        (!string.IsNullOrEmpty(SessionWrapper.Instance.GetSession(QueryString.ViewIDValue).AccountsIDList)))
                    {
                        SessionWrapper.Instance.GetSession(QueryString.ViewIDValue).ClientFromQueryString = RepositoryFactory.CreateClientRepository().GetCffClientByClientId(ClientId);
                    }

                    else if (SessionWrapper.Instance.GetSession(QueryString.ViewIDValue).ClientFromQueryString.Id != ClientId)
                    {
                        if (cPrincipal.CffUser.UserType == UserType.EmployeeAdministratorUser ||
                            cPrincipal.CffUser.UserType == UserType.EmployeeManagementUser || cPrincipal.CffUser.UserType == UserType.EmployeeStaffUser)
                        {
                            SessionWrapper.Instance.GetSession(QueryString.ViewIDValue).ClientFromQueryString = RepositoryFactory.CreateClientRepository().GetCffClientByClientId(ClientId);
                        }
                        else if (cPrincipal.IsInClientRole || cPrincipal.IsInCustomerRole)
                        {
                            SessionWrapper.Instance.GetSession(QueryString.ViewIDValue).ClientFromQueryString = RepositoryFactory.CreateClientRepository().GetCffClientByClientId(Convert.ToInt32(cPrincipal.CffUser.ClientId.ToString()));
                        }
                    }
                }
            }

            IScopeService scopeService = new ScopeService(this,
                                                          SecurityManagerFactory.Create(Context.User as CffPrincipal, SessionWrapper.Instance.Get.Scope),
                                                          RepositoryFactory.CreateClientRepository(),
                                                          RepositoryFactory.CreateCustomerRepository());

            presenter = new DashboardPresenter(this, scopeService);

            MembershipUser membershipUser = Membership.GetUser(User.Identity.Name);

            if (presenter.IsReadAgreement((Guid)membershipUser.ProviderUserKey) == false)
            {
                RedirectTo("AgreementPage.aspx");
            }
            else
            {
                if (!IsPostBack)
                {
                    presenter.InitialiseView();
                }
                content.InnerHtml = presenter.DashboardMainContent();
            }
        }
        /// <summary>
        /// Indexes the specified from date.
        /// </summary>
        /// <returns>
        /// return dashboard
        /// </returns>
        public ActionResult Index()
        {
            var dashboardPresenter = new DashboardPresenter();

            dashboardPresenter.AssignDashboardProjectsHealth(this.projectService.RetrieveDashboardProjectsHealth(null, SessionData.Instance.UserInfo.Developer.DeveloperID));
            this.RetrieveReleaseScheduleDates(dashboardPresenter);

            dashboardPresenter.AssignStatusList(this.reportService.RetrieveProjectPercentCompleteList(SessionData.Instance.UserInfo.Developer.DeveloperID));
            dashboardPresenter.AssignPipelineResourceList(this.reportService.RetrievePipelineResourcesList(SessionData.Instance.UserInfo.Developer.DeveloperID));
            dashboardPresenter.AssignProjectEstimateAndActualHourList(this.reportService.RetrieveProjectEstimateAndActualHourList(SessionData.Instance.UserInfo.Developer.DeveloperID));
            dashboardPresenter.NextMonthEndDate = DateTimeHelper.RetrieveCurrentDateTime().RetrieveNextMonthEndDate();
            dashboardPresenter.NextMonthStartDate = DateTimeHelper.RetrieveCurrentDateTime().RetrieveNextMonthStartDate();
            dashboardPresenter.CurrentMonthEndDate = GetMonthLastDate();
            dashboardPresenter.AssignResourceAllocationList(this.reportService.RetrieveResourceAllocations(DateTimeHelper.RetrieveCurrentDate(), DateTimeHelper.RetrieveCurrentDate().AddDays(ApplicationSettings.Instance.DashboardAllocationGraphDayDuration), SessionData.Instance.UserInfo.Developer.DeveloperID));
            dashboardPresenter.AssignReleaseList(this.releaseService.RetrieveListForDate(DateTimeHelper.RetrieveCurrentDateTime(), null, null, SessionData.Instance.UserInfo.Developer.DeveloperID, false).ToList(), TodayReleaseTab);
            dashboardPresenter.CurrentDate = DateTimeHelper.RetrieveCurrentDate();
            dashboardPresenter.EndDate = GetMonthPreviousDate();
            dashboardPresenter.AssignClientHourAllocationList(this.reportService.RetrieveClientHourAllocations(dashboardPresenter.CurrentDate, dashboardPresenter.EndDate, SessionData.Instance.UserInfo.Developer.DeveloperID));
            dashboardPresenter.AssignProjectHourAllocationsList(this.reportService.RetrieveProjectHourAllocations(dashboardPresenter.CurrentDate, dashboardPresenter.EndDate, SessionData.Instance.UserInfo.Developer.DeveloperID));
            dashboardPresenter.AssignClientPipelineList(this.reportService.RetrieveDashboardClientPipelineInfo(SessionData.Instance.UserInfo.Developer.DeveloperID));
            dashboardPresenter.AssignProjectPipelineList(this.reportService.RetrieveDashboardProjectPipelineInfo(SessionData.Instance.UserInfo.Developer.DeveloperID));
            dashboardPresenter.AssignProjectComplianceStatusReportFuture(this.projectComplianceReportService.RetrieveComplianceStatusReport(null, null, false, SessionData.Instance.UserInfo.Developer.DeveloperID));
            dashboardPresenter.AssignProjectComplianceStatusReportPast(this.projectComplianceReportService.RetrieveComplianceStatusReport(null, null, true, SessionData.Instance.UserInfo.Developer.DeveloperID));          
            return this.View(dashboardPresenter);
        }
        /// <summary>
        /// Retrieves the timesheet defaulter count.
        /// </summary>
        /// <param name="dashboardPresenter">The dashboard presenter.</param>
        private void AssignTimesheetDefaulterCount(DashboardPresenter dashboardPresenter)
        {
            var fromDate = this.timesheetService.RetrieveApplicableDate(false, DateTimeHelper.RetrieveCurrentDateTime(), SessionData.Instance.UserInfo.Developer.DeveloperID);
            dashboardPresenter.TimesheetDefaulterTodayCount = this.reportService.RetrieveTimesheetDefaulterCount(fromDate, fromDate);

            Tuple<DateTime, DateTime> timesheetDates = this.RetrieveTimesheetDates(SelectedThisMonth);
            dashboardPresenter.TimesheetDefaulterThisMonthCount = this.reportService.RetrieveTimesheetDefaulterCount(timesheetDates.Item1, timesheetDates.Item2);

            timesheetDates = this.RetrieveTimesheetDates(SelectedLastMonth);
            dashboardPresenter.TimesheetDefaulterLastMonthCount = this.reportService.RetrieveTimesheetDefaulterCount(timesheetDates.Item1, timesheetDates.Item2);
        }
        /// <summary>
        /// Retrieves the release schedule count.
        /// </summary>
        /// <param name="dashboardPresenter">The dashboard presenter.</param>
        /// <returns>returns release schedule dates</returns>
        private Tuple<DateTime, DateTime> RetrieveReleaseScheduleDates(DashboardPresenter dashboardPresenter)
        {
            var releaseScheduleDates = RetrieveReleaseScheduleDatesForThisWeek();
            var releaseTypeId = string.IsNullOrEmpty(dashboardPresenter.SelectedReleaseType) ? null : new List<byte>() { (byte)Enum.Parse(typeof(ReleaseType), dashboardPresenter.SelectedReleaseType) };
            var startDate = DateTimeHelper.RetrieveCurrentDate();
            var endDate = DateTimeExtensions.RetrieveTodayEndTime(startDate);
            dashboardPresenter.ReleaseScheduleTodayCount = this.releaseService.RetrieveReleaseScheduleCount(releaseTypeId, null, startDate, endDate, SessionData.Instance.UserInfo.Developer.DeveloperID);
            dashboardPresenter.ReleaseScheduleThisWeekCount = this.releaseService.RetrieveReleaseScheduleCount(releaseTypeId, null, releaseScheduleDates.Item1, releaseScheduleDates.Item2, SessionData.Instance.UserInfo.Developer.DeveloperID);

            return releaseScheduleDates;
        }
        /// <summary>
        /// Releases the schedule.
        /// </summary>
        /// <param name="tabId">The tab identifier.</param>
        /// <param name="releaseType">Type of the release.</param>
        /// <returns>
        /// return release schedule
        /// </returns>
        public ActionResult ReleaseSchedule(string tabId, string releaseType)
        {
            var dashboardPresenter = new DashboardPresenter();
            dashboardPresenter.SelectedReleaseType = releaseType;
            var releaseScheduleDates = this.RetrieveReleaseScheduleDates(dashboardPresenter);
            var releaseTypeId = string.IsNullOrEmpty(releaseType) ? null : new List<byte>() { (byte)Enum.Parse(typeof(ReleaseType), releaseType) };
            if (tabId == TodayReleaseTab)
            {
                dashboardPresenter.AssignReleaseList(this.releaseService.RetrieveListForDate(DateTimeHelper.RetrieveCurrentDateTime(), releaseTypeId, null, SessionData.Instance.UserInfo.Developer.DeveloperID, false), tabId);
            }
            else
            {
                dashboardPresenter.AssignReleaseList(this.releaseService.RetrieveList(releaseTypeId, null, releaseScheduleDates.Item1, releaseScheduleDates.Item2, SessionData.Instance.UserInfo.Developer.DeveloperID), null);
            }

            dashboardPresenter.SelectedReleaseTab = tabId;

            return this.View(ReleaseSchedulePartialView, dashboardPresenter);
        }
        /// <summary>
        /// Timesheets the defaulters.
        /// </summary>
        /// <param name="tabId">The tab identifier.</param>
        /// <returns>return time sheet</returns>
        public ActionResult TimesheetDefaulters(string tabId)
        {
            var dashboardPresenter = new DashboardPresenter();
            var timesheetDates = this.RetrieveTimesheetDates(tabId);
            this.AssignTimesheetDefaulterCount(dashboardPresenter);

            dashboardPresenter.AssignDefaulterListTime(this.reportService.RetrieveTimesheetDefaulters(timesheetDates.Item1, timesheetDates.Item2, SessionData.Instance.UserInfo.Developer.DeveloperID));

            return this.View(TimesheetDefaultersPartialView, dashboardPresenter);
        }