コード例 #1
0
        private void LoadData()
        {
            var dal = new MissionsDal();
               Mission curMission = dal.GetMissionCurrentByUser(AuthProvider.UserKey(Session));
            if (curMission != null)
            {
                lblCurrentMissionName.Text = curMission.Name;
                lblCurrentMissionDescr1.InnerHtml = curMission.Description;
                lblReward.Text = curMission.Reward.ToString(CultureInfo.InvariantCulture);
                lblSkillsRequired.InnerHtml = curMission.SkillsRequired;
                rcMissionRatingValue.Value = curMission.Complexity;
                lblOwner.Text = curMission.Owner;
                ProgressBarCurrentMission.Minimum = 0;
                var totalDays = curMission.EndDate.Subtract(curMission.StartDate).Days;
                ProgressBarCurrentMission.Maximum = totalDays;

                lblEndDate.Text = curMission.EndDate.ToShortDateString();
                tbMissionId.Value = curMission.MissionId.ToString(CultureInfo.InvariantCulture);
            }
            else
            {
                tblCurrentMissionInfo.Visible = false;
                NoDataAvailableMessage.Visible = true;
                tbMissionId.Value = string.Empty;

            }
        }
コード例 #2
0
 public static void NotifyMissionOwnerMissionWasTaken(int missionId, string takenBy)
 {
     var missionDal = new MissionsDal();
     string ownerLogin = missionDal.GetMissionOwnerLoginName(missionId);
     string missionName = missionDal.GetMissionName(missionId);
     var ownerMail = Account.AuthProvider.GetMailByLogin(ownerLogin);
     var ownerName = Account.AuthProvider.GetUserFullNameByDomainIdentity(ownerLogin);
     SendMail(ownerMail, "Your mission was taken for completion", string.Format(MailTemplates.MissionTakenForCompletion, ownerName, takenBy, missionName));
 }
コード例 #3
0
 public static void NotifyMissionOwnerMissionCompleted(int missionId, string completedBy)
 {
     var missionDal = new MissionsDal();
     string ownerLogin = missionDal.GetMissionOwnerLoginName(missionId);
     string missionName = missionDal.GetMissionName(missionId);
     var ownerMail = Account.AuthProvider.GetMailByLogin(ownerLogin);
     var ownerName = Account.AuthProvider.GetUserFullNameByDomainIdentity(ownerLogin);
     SendMail(ownerMail, "Your mission has been completed", string.Format(MailTemplates.MissionCompleted, ownerName, completedBy, missionName));
 }
コード例 #4
0
        protected void Page_Load(object sender, EventArgs e)
        {
            var missionsDal = new MissionsDal();
            lblCrewNumber.Text = (new UsersDal()).GetUsersCount().ToString(CultureInfo.InvariantCulture);
            lblInProgressMissionsCount.Text = missionsDal.GetMissionsCountByStatus(MissionStatus.InProgress).ToString(CultureInfo.InvariantCulture);
            lblCompletedMissions.Text = missionsDal.GetMissionsCountByStatus(MissionStatus.Completed).ToString(CultureInfo.InvariantCulture);

            var stageDate = (new StagesDal()).GetNextStageDate();
            if (stageDate != null)
            {
                lblNextStageDate.Text = ((DateTime) stageDate).ToLongDateString();
            }
            else
            {
                lblNextStageDate.Text = "Not Available";
            }
        }
コード例 #5
0
        protected void ASPxButton1_Click(object sender, EventArgs e)
        {
            if (Request.IsAuthenticated && Page.User.Identity.IsAuthenticated)
            {
                var dal = new MissionsDal();

                var name = tbMissionName.Text;
                var descr = editorDescription.Html;
                var skills = editorSkillsRequired.Html;
                var type = Convert.ToInt32(tbMissionType.Value);
                var complexity = Convert.ToInt32(tbMissionComplexity.Value);
                var startDate = tbMissionStartDate.Date;
                var endDate = tbMissionEndDate.Date;

                var playerType = string.Empty;
                var ownerId = AuthProvider.UserKey(Session);

                dal.CreateMission(name, descr, skills, type, complexity, startDate, endDate, playerType, ownerId, AuthProvider.UserKey(Session));
                ClearFields();
                ReloadData();
            }
        }
コード例 #6
0
        protected void GridViewMissionsList_CellEditorInitialize(object sender, DevExpress.Web.ASPxGridView.ASPxGridViewEditorEventArgs e)
        {
            var statusType = GridViewMissionsList.GetRowValuesByKeyValue(e.KeyValue, new string[] { "StatusDescription" });
            var dal = new MissionsDal();
            switch (e.Column.Name)
            {
                case "Name":
                    if (e.Editor != null)
                    {
                        var editorName = (e.Editor as ASPxTextEdit);
                        editorName.ReadOnly = (string)statusType == "In Progress";
                        editorName.Enabled = (string)statusType != "In Progress";
                    }
                    break;

                case "Description":
                    if (e.Editor != null)
                    {
                        var editorDescr = (e.Editor as ASPxMemo);
                        editorDescr.ReadOnly = (string)statusType == "In Progress";
                        editorDescr.Enabled = (string)statusType != "In Progress";
                    }
                    break;

                case "SkillsRequired":
                    if (e.Editor != null)
                    {
                        var editorSkills = (e.Editor as ASPxMemo);
                        editorSkills.ReadOnly = (string)statusType == "In Progress";
                        editorSkills.Enabled = (string)statusType != "In Progress";
                    }
                    break;
                case "StartDate":
                    if (e.Editor != null)
                    {
                        var editorStartDate = (e.Editor as ASPxDateEdit);
                        editorStartDate.ReadOnly = (string)statusType == "In Progress";
                        editorStartDate.Enabled = (string)statusType != "In Progress";
                    }
                    break;

                case "TypeId":
                    if (e.Editor != null)
                    {
                        var editorType = (e.Editor as ASPxComboBox);
                        editorType.ValueField = "TypeId";
                        editorType.TextField = "Description";

                        editorType.DataSource = dal.GetMissionTypes();
                        editorType.DataBind();
                        editorType.ReadOnly = (string) statusType == "In Progress";
                        editorType.Enabled = (string)statusType != "In Progress";
                    }
                    break;

                case "ComplexityId":
                    if (e.Editor != null)
                    {
                        var editorComplexity= (e.Editor as ASPxComboBox);
                        editorComplexity.ValueField = "ComplexityId";
                        editorComplexity.TextField = "Description";

                        editorComplexity.DataSource = dal.GetMissionComplexityList();
                        editorComplexity.DataBind();
                        editorComplexity.ReadOnly = (string)statusType == "In Progress";
                        editorComplexity.Enabled = (string)statusType != "In Progress";
                    }
                    break;
                case "PlayerType":
                    break;
                case "StatusId":
                    if (e.Editor != null)
                    {
                        var editorStatus= (e.Editor as ASPxComboBox);
                        editorStatus.ValueField = "StatusId";
                        editorStatus.TextField = "Description";
                        editorStatus.Enabled = AuthProvider.IsUserInRole(Session, AuthRoles.SystemAdmin) ||
                                               AuthProvider.IsUserInRole(Session, AuthRoles.Admin) ||
                                               AuthProvider.IsUserInRole(Session, AuthRoles.Moderator);
                        editorStatus.DataSource = dal.GetMissionStatuses(Convert.ToInt32(e.Editor.Value));
                        editorStatus.DataBind();
                    }
                    break;
                case "OwnerId":
                    if (e.Editor != null)
                    {
                        var editorOwner = (e.Editor as ASPxComboBox);
                        editorOwner.Enabled = AuthProvider.IsUserInRole(Session, AuthRoles.SystemAdmin) ||
                                              AuthProvider.IsUserInRole(Session, AuthRoles.Admin) ||
                                              AuthProvider.IsUserInRole(Session, AuthRoles.Moderator);

                        editorOwner.ValueField = "UserId";
                        editorOwner.TextField = "FullName";
                        editorOwner.DataSource = (new UsersDal()).GetOwnersList();
                        editorOwner.DataBind();
                    }
                    break;
                case "StageId":
                     if (e.Editor != null)
                    {
                        var editorStage = (e.Editor as ASPxComboBox);
                        editorStage.Enabled = AuthProvider.IsUserInRole(Session, AuthRoles.SystemAdmin) ||
                                              AuthProvider.IsUserInRole(Session, AuthRoles.Admin) ||
                                              AuthProvider.IsUserInRole(Session, AuthRoles.Moderator);

                        editorStage.ValueField = "StageId";
                        editorStage.TextField = "Description";
                        editorStage.DataSource = (new StagesDal()).GetNotCompletedStagesList();
                        editorStage.DataBind();
                        editorStage.ReadOnly = (string)statusType == "In Progress";
                        editorStage.Enabled = (string)statusType != "In Progress";
                    }
                    break;
            }
        }
コード例 #7
0
        private void ReloadData()
        {
            var dal = new MissionsDal();
            var isAccessibleForModerateMissions = AuthProvider.IsUserInRole(Session, AuthRoles.SystemAdmin) ||
                                                AuthProvider.IsUserInRole(Session, AuthRoles.Admin) ||
                                                AuthProvider.IsUserInRole(Session, AuthRoles.Moderator);

            GridViewMissionsList.DataSource = isAccessibleForModerateMissions ? dal.GetAllMissionsList() : dal.GetMissionsListByUser(AuthProvider.UserKey(Session));
            GridViewMissionsList.DataBind();

            lblPendingMissionsCount.Text = dal.GetMissionsCountByStatus(MissionStatus.Pending).ToString(CultureInfo.InvariantCulture);
        }
コード例 #8
0
        private void LoadParameters()
        {
            var dal = new MissionsDal();
            tbMissionType.DataSource = dal.GetMissionTypes();
            tbMissionType.DataBind();

            tbMissionComplexity.DataSource = dal.GetMissionComplexityList();
            tbMissionComplexity.DataBind();

            tbMissionStartDate.Date = DateTime.Now;
            tbMissionEndDate.Date = DateTime.Now;
        }
コード例 #9
0
        protected void GridViewMissionsList_RowUpdating(object sender, DevExpress.Web.Data.ASPxDataUpdatingEventArgs e)
        {
            var htmlEditorDescription = (GridViewMissionsList.FindEditFormTemplateControl("ASPxPanel1") as ASPxPanel).FindControl("ASPxHtmlEditor1") as ASPxHtmlEditor;
            e.NewValues["Description"] = htmlEditorDescription.Html;

            var htmlEditorSkills = (GridViewMissionsList.FindEditFormTemplateControl("ASPxPanel1") as ASPxPanel).FindControl("editorSkillsRequired") as ASPxHtmlEditor;
            e.NewValues["SkillsRequired"] = htmlEditorSkills.Html;

            var dal = new MissionsDal();
            dal.UpdateMission(Convert.ToInt32(e.Keys["MissionId"])
                , e.NewValues["Name"].ToString()
                , e.NewValues["Description"].ToString()

                , Convert.ToInt32(e.NewValues["Reward"])
                , e.NewValues["PlayerType"] == null ? string.Empty : e.NewValues["PlayerType"].ToString()
                , Guid.Parse(e.NewValues["OwnerId"].ToString())
                , Convert.ToDateTime(e.NewValues["StartDate"])
                , Convert.ToDateTime(e.NewValues["EndDate"])
                , e.NewValues["SkillsRequired"] == null ? string.Empty : e.NewValues["SkillsRequired"].ToString()

                , Convert.ToInt32(e.NewValues["StatusId"])
                , Convert.ToInt32(e.NewValues["TypeId"])
                , Convert.ToInt32(e.NewValues["ComplexityId"])
                , e.NewValues["StageId"] == null ? (int?)null : Convert.ToInt32(e.NewValues["StageId"]));
        }