bool DeleteRestriction(RestrictionIdName restrictionMain, string[] ids) { if (restrictionMain.AbsoluteId == ids[0]) { if (ids.Count() == 1) { return(true); } var childRestrictionMain = restrictionMain.Children;//new var remainIds = ids.ToList(); remainIds.RemoveAt(0); int i = 0; foreach (var rm in childRestrictionMain) { var returned = DeleteRestriction(rm, remainIds.ToArray()); if (returned) { rm.Void = false; //childRestrictionMain.Remove(rm); _deleted = true; return(false); } i++; } } return(false); }
RestrictionIdName GetParentRestriction(RestrictionIdName restrictionMain, string[] ids) { if (restrictionMain.AbsoluteId == ids[0]) { if (ids.Count() == 1) { return(restrictionMain); } var childRestrictionMain = restrictionMain.Children.Where(x => x.Name == "main");//new var remainIds = ids.ToList(); remainIds.RemoveAt(0); int i = 0; foreach (var rm in childRestrictionMain) { var returned = GetParentRestriction(rm, remainIds.ToArray()); if (returned != null) { return(returned); } i++; } } return(null); }
RestrictionIdName GetParentRestriction(RestrictionIdName restrictionMain, string[] ids, RestrictionFifth uiMaiin) { if (restrictionMain.AbsoluteId == ids[0]) { if (ids.Count() == 1) { _foundMain = uiMaiin; return(restrictionMain); } var childRestrictionMainUi = uiMaiin.GetAllChildMainRestrictions();//old //var childrens = foundMain.GetAllControls(); var childRestrictionMain = restrictionMain.Children.Where(x => x.Name == "main");//new var remainIds = ids.ToList(); remainIds.RemoveAt(0); int i = 0; foreach (var rm in childRestrictionMain) { //var returned = GetParentRestriction(rm, remainIds.ToArray());//old var temp = childRestrictionMainUi[i]; var returned = GetParentRestriction(rm, remainIds.ToArray(), temp); if (returned != null) { //return foundMain return(returned); } i++; } } return(null); }
protected void Page_Load(object sender, EventArgs e) { try { if (IsPostBack) { var cntrl = Session["ControlList_" + hidPageKeyForUniqueSession.Value] as RestrictionIdName; if (cntrl == null) { //var key = Guid.NewGuid().ToString(); //hidPageKeyForUniqueSession.Value = key; //EachRestriction1.PageKeyForUniqueSession = key; //Session["ControlList_" + key] = new RestrictionIdName() //{ // AbsoluteId = EachRestriction1.AbsoluteId, // ParentId = "0", // Name = "Main", // Children = new List<RestrictionIdName>(), // RelativeId = "1" //}; Response.Redirect("~/Views/All_Resusable_Codes/Error/ErrorPage.aspx?returl=" + Page.Request.Url.PathAndQuery); } } else { EachRestriction1.IsFirstRestriction = true; //Session["RestrictionControl"] = this.RestrictionFourth1; //<Main Restriction Id, Dict< child Id, //if (hidPageKeyForUniqueSession.Value == "") //{ var key = Guid.NewGuid().ToString(); hidPageKeyForUniqueSession.Value = key; EachRestriction1.PageKeyForUniqueSession = key; Session["ControlList_" + key] = new RestrictionIdName() { AbsoluteId = EachRestriction1.AbsoluteId, ParentId = "0", Name = "Main", Children = new List <RestrictionIdName>(), RelativeId = "1" }; SetRestriction(); } //ChooseRestrictionTypeUC1.RestrictionChoosen += Choose_RestrictionChoosen;//old //ChooseRestrictionTypeUC1.RestrictionChoosen += Choose_RestrictionChoosenNew; //PopulateControls();//old //LoadFromType(); } catch { } }
//public event EventHandler<EventArgs> AddRestrictionClicked; protected void Page_Load(object sender, EventArgs e) { //lblJavaScript.Text = ""; myLabel1.Text = DateTime.Now.ToString(); try { if (IsPostBack) { //var con = RestrictionFourth1.GetAllControls(); //var grade = RestrictionFourth1.GetAllGradeRestrictionControls(); string parameter = Request["__EVENTARGUMENT"]; // parameter // Request["__EVENTTARGET"]; // btnSave if (!string.IsNullOrEmpty(parameter)) { //after dash(-) there is NoOfChildRestrictions var split = parameter.Split(new char[] { '-' }); if (split.Count() >= 2) { Session["NoOfChildRestrictions"] = split[1]; Session["CurrentRestrictionId"] = split[0]; } } } else { //Session["RestrictionControl"] = this.RestrictionFourth1; //<Main Restriction Id, Dict< child Id, Session["ControlList"] = new RestrictionIdName() { AbsoluteId = RestrictionFifth1.AbsoluteId, ParentId = "0", Name = "Main", Children = new List <RestrictionIdName>() }; hidPageKeyForUniqueSession.Value = Guid.NewGuid().ToString(); } //ChooseRestrictionTypeUC1.RestrictionChoosen += Choose_RestrictionChoosen;//old ChooseRestrictionTypeUC1.RestrictionChoosen += Choose_RestrictionChoosenNew; //PopulateControls();//old LoadFromType(); } catch { } }
//public void SetData(Restriction res) //{ // var restrictionId = RelativeId; // RestrictionId = res.Id; // var restriction = Session["ControlList_" + hidPageKeyForUniqueSession.Value] as RestrictionIdName; // //ddlMustMatch.SelectedIndex = res.mu // if (restriction != null) // { // var split = restrictionId.ToString().Split(new char[] { '_' }); // var parent = GetParentRestriction(restriction, split); // var list = parent.Children; //[restrictionId.ToString()]; // var noOfChildRestrictions = parent.Children.Count; // var thisId = (noOfChildRestrictions + 1); // RestrictionIdName resClass = null; // foreach (var dr in res.DateRestrictions) // { // resClass = GetRestriction(restrictionId.ToString(), "date" // , thisId.ToString(), restrictionId + "_" + thisId // , "", new List<RestrictionIdName>()); // var dateRestriction = (DateRestrictionUC) // Page.LoadControl("~/Views/RestrictionAccess/DateRestrictionUC.ascx"); // dateRestriction.SetIds(resClass.ParentId, resClass.AbsoluteId, // resClass.RelativeId, resClass.Name); // dateRestriction.RestrictionId = dr.Id; // dateRestriction.CloseClicked += RestrictionType_CloseClicked; // dateRestriction.InitialDate = DateTime.Now; // this.AddControl(dateRestriction); // //if (resClass != null) // list.Add(resClass); // } // foreach (var grd in res.GradeRestrictions) // { // } // foreach (var grp in res.GroupRestrictions) // { // } // foreach (var ur in res.UserProfileRestrictions) // { // } // foreach (var r in res.Restrictions) // { // } // //activity completion // } //} #region Events Callback void dialog_ItemClick(object sender, IdAndNameEventArgs e) { //var restrictionId = Session["CurrentRestrictionId"]; var relativeId = RelativeId; var subjectId = SubjectId; var restriction = Session["ControlList_" + hidPageKeyForUniqueSession.Value] as RestrictionIdName; var user = Page.User as CustomPrincipal; if (user != null) { if (restriction != null) { var split = relativeId.Split(new char[] { '_' }); var parent = GetParentRestriction(restriction, split); //if (parent != null && _foundMain != null) //new { var list = parent.Children; //[restrictionId.ToString()]; var noOfChildRestrictions = parent.Children.Count; var thisId = (noOfChildRestrictions + 1); RestrictionIdName resClass = null; switch (e.Id) { //case 0: // resClass = GetRestriction(relativeId, "activity" // , thisId.ToString(), relativeId + "_" + thisId // , "", new List<RestrictionIdName>()); // var activityCompleteRestriction = (ActivityCompleteRestrictionUC) // Page.LoadControl("~/Views/RestrictionAccess/ActivityCompleteRestrictionUC.ascx"); // activityCompleteRestriction.SetIds(resClass.ParentId, resClass.AbsoluteId, // resClass.RelativeId, resClass.Name); // activityCompleteRestriction.CloseClicked += RestrictionType_CloseClicked; // this.AddControl(activityCompleteRestriction); // break; case 1: resClass = GetRestriction(relativeId.ToString(), "date" , thisId.ToString(), relativeId + "_" + thisId , "", new List <RestrictionIdName>()); var dateRestriction = (DateRestrictionUC) Page.LoadControl("~/Views/RestrictionAccess/DateRestrictionUC.ascx"); dateRestriction.SetIds(resClass.ParentId, resClass.AbsoluteId, resClass.RelativeId, resClass.Name); dateRestriction.CloseClicked += RestrictionType_CloseClicked; dateRestriction.InitialDate = DateTime.Now; dateRestriction.ID = resClass.Name + "_" + resClass.ParentId + "_" + resClass.AbsoluteId + "_" + resClass.RelativeId; this.AddControl(dateRestriction); break; case 2: resClass = GetRestriction(relativeId.ToString(), "grade" , thisId.ToString(), relativeId + "_" + thisId , "", new List <RestrictionIdName>()); var gradeRestriction = (GradeRestrictionUC) Page.LoadControl("~/Views/RestrictionAccess/GradeRestrictionUC.ascx"); gradeRestriction.SetIds(resClass.ParentId, resClass.AbsoluteId, resClass.RelativeId, resClass.Name, subjectId); gradeRestriction.CloseClicked += RestrictionType_CloseClicked; //gradeRestriction.RestrictionId = RestrictionId gradeRestriction.ID = resClass.Name + "_" + resClass.ParentId + "_" + resClass.AbsoluteId + "_" + resClass.RelativeId; this.AddControl(gradeRestriction); break; case 3: resClass = GetRestriction(relativeId.ToString(), "class" , thisId.ToString(), relativeId + "_" + thisId , "", new List <RestrictionIdName>()); var groupRestriction = (GroupRestrictionUC) Page.LoadControl("~/Views/RestrictionAccess/GroupRestrictionUC.ascx"); groupRestriction.SetIds(resClass.ParentId, resClass.AbsoluteId, resClass.RelativeId, resClass.Name, subjectId); string s = ""; user.GetRoles().ForEach(x => { s += (x + ","); }); groupRestriction.Roles = s; //user.GetRoles(); //groupRestriction.PopulateClassList(); groupRestriction.CloseClicked += RestrictionType_CloseClicked; groupRestriction.ID = resClass.Name + "_" + resClass.ParentId + "_" + resClass.AbsoluteId + "_" + resClass.RelativeId; this.AddControl(groupRestriction); break; case 4: resClass = GetRestriction(relativeId.ToString(), "userprofile" , thisId.ToString(), relativeId + "_" + thisId , "", new List <RestrictionIdName>()); var userProfileRestriction = (UserProfileRestriction) Page.LoadControl("~/Views/RestrictionAccess/UserProfileRestriction.ascx"); userProfileRestriction.SetIds(resClass.ParentId, resClass.AbsoluteId, resClass.RelativeId, resClass.Name); pnlRestrictions.Controls.Add(userProfileRestriction); userProfileRestriction.ID = resClass.Name + "_" + resClass.ParentId + "_" + resClass.AbsoluteId + "_" + resClass.RelativeId; this.AddControl(userProfileRestriction); break; case 5: resClass = GetRestriction(relativeId.ToString(), "main" , thisId.ToString(), relativeId + "_" + thisId , "", new List <RestrictionIdName>()); var restrictionSetUc = (EachRestriction) Page.LoadControl("~/Views/RestrictionAccess/Custom/EachRestriction.ascx"); restrictionSetUc.SetIds(resClass.ParentId, resClass.AbsoluteId, resClass.RelativeId, resClass.Name); //restrictionSetUc.RestrictionParentId = resClass.RestrictionTypeId; //restrictionSetUc.RestrictionId = resClass.RestrictionTypeId; restrictionSetUc.PageKeyForUniqueSession = PageKeyForUniqueSession; restrictionSetUc.Chilren = new List <RestrictionIdName>(); restrictionSetUc.SubjectId = subjectId; this.AddControl(restrictionSetUc); break; } if (resClass != null) { list.Add(resClass); } dialog.CloseDialog(); //LoadFromType(); } } } }
void SetRestriction(Restriction res, RestrictionIdName parent) { var list = parent.Children; var i = parent.Children.Count + 1; parent.Constraints = new object[] { res.MatchMust, res.MatchAllAny }; #region Date Restriction foreach (var dr in res.DateRestrictions) { var resClass = GetRestriction(parent.RelativeId, "date" , i.ToString(), parent.RelativeId + "_" + i , "", new List <RestrictionIdName>() , res.Id, dr.Id, dr.Constraint, dr.Date, dr.Time); list.Add(resClass); i++; } #endregion #region Grade Restriction foreach (var gr in res.GradeRestrictions) { list.Add(GetRestriction(parent.RelativeId.ToString(), "grade" , i.ToString(), parent.RelativeId + "_" + i , "", new List <RestrictionIdName>() , res.Id, gr.Id , gr.ActivityResourceId, gr.MustBeGreaterThanOrEqualTo, gr.GreaterThanOrEqualToValue , gr.MustBeLessThan, gr.LessThanValue )); i++; } #endregion #region Group/Class Restriction foreach (var gpr in res.GroupRestrictions) { list.Add(GetRestriction(parent.RelativeId.ToString(), "class" , i.ToString(), parent.RelativeId + "_" + i , "", new List <RestrictionIdName>() , res.Id, gpr.Id , gpr.RestrictionId, gpr.Id, gpr.SubjectClassId, gpr.GroupId )); i++; } #endregion #region User profile Restriction foreach (var gr in res.UserProfileRestrictions) { list.Add(GetRestriction(parent.RelativeId.ToString(), "userprofile" , i.ToString(), parent.RelativeId + "_" + i , "", new List <RestrictionIdName>() , res.Id, gr.Id , gr.FieldName, gr.Constraint, gr.Value )); i++; } #endregion #region Child Restricions foreach (var r in res.Restrictions) { // AbsoluteId = EachRestriction1.AbsoluteId, // ParentId = "0", // Name = "Main", // Children = new List<RestrictionIdName>(), // RelativeId = "1" var newParent = GetRestriction(parent.RelativeId.ToString(), "main" , i.ToString(), parent.RelativeId + "_" + i.ToString() , "", new List <RestrictionIdName>() , res.Id, r.Id ); list.Add(newParent); i++; SetRestriction(r, newParent); } #endregion }
void Choose_RestrictionChoosenNew(object sender, Academic.ViewModel.IdAndNameEventArgs e) { var restrictionId = Session["CurrentRestrictionId"]; var restriction = Session["ControlList"] as RestrictionIdName; //if (list == null) list = new List<RestrictionIdName>(); if (restrictionId != null) { var split = restrictionId.ToString().Split(new char[] { '_' }); var parent = GetParentRestriction(restriction, split, RestrictionFifth1); if (parent != null && _foundMain != null) //new { var list = parent.Children; //[restrictionId.ToString()]; var noOfChildRestrictions = parent.Children.Count; var thisId = (noOfChildRestrictions + 1); RestrictionIdName resClass = null; switch (e.Id) { case 0: resClass = GetRestriction(restrictionId.ToString(), "activity" , thisId.ToString(), restrictionId + "_" + thisId , "", new List <RestrictionIdName>()); var activityCompleteRestriction = (ActivityCompleteRestrictionUC) Page.LoadControl("~/Views/RestrictionAccess/ActivityCompleteRestrictionUC.ascx"); activityCompleteRestriction.SetIds(resClass.ParentId, resClass.AbsoluteId, resClass.RelativeId, resClass.Name); _foundMain.AddControl(activityCompleteRestriction); break; case 1: resClass = GetRestriction(restrictionId.ToString(), "date" , thisId.ToString(), restrictionId + "_" + thisId , "", new List <RestrictionIdName>()); var dateRestriction = (DateRestrictionUC) Page.LoadControl("~/Views/RestrictionAccess/DateRestrictionUC.ascx"); dateRestriction.SetIds(resClass.ParentId, resClass.AbsoluteId, resClass.RelativeId, resClass.Name); _foundMain.AddControl(dateRestriction); break; case 2: resClass = GetRestriction(restrictionId.ToString(), "grade" , thisId.ToString(), restrictionId + "_" + thisId , "", new List <RestrictionIdName>()); var gradeRestriction = (GradeRestrictionUC) Page.LoadControl("~/Views/RestrictionAccess/GradeRestrictionUC.ascx"); gradeRestriction.SetIds(resClass.ParentId, resClass.AbsoluteId, resClass.RelativeId, resClass.Name, 0); _foundMain.AddControl(gradeRestriction); break; case 3: resClass = GetRestriction(restrictionId.ToString(), "group" , thisId.ToString(), restrictionId + "_" + thisId , "", new List <RestrictionIdName>()); var groupRestriction = (GroupRestrictionUC) Page.LoadControl("~/Views/RestrictionAccess/GroupRestrictionUC.ascx"); groupRestriction.SetIds(resClass.ParentId, resClass.AbsoluteId, resClass.RelativeId, resClass.Name, 0); _foundMain.AddControl(groupRestriction); break; case 4: resClass = GetRestriction(restrictionId.ToString(), "userprofile" , thisId.ToString(), restrictionId + "_" + thisId , "", new List <RestrictionIdName>()); var userProfileRestriction = (UserProfileRestriction) Page.LoadControl("~/Views/RestrictionAccess/UserProfileRestriction.ascx"); userProfileRestriction.SetIds(resClass.ParentId, resClass.AbsoluteId, resClass.RelativeId, resClass.Name); _foundMain.AddControl(userProfileRestriction); break; case 5: resClass = GetRestriction(restrictionId.ToString(), "main" , thisId.ToString(), restrictionId + "_" + thisId , "", new List <RestrictionIdName>()); var restrictionSetUc = (RestrictionFifth) Page.LoadControl("~/Views/RestrictionAccess/Main/RestrictionFifth.ascx"); restrictionSetUc.SetIds(resClass.ParentId, resClass.AbsoluteId, resClass.RelativeId, resClass.Name); _foundMain.AddControl(restrictionSetUc); break; } if (resClass != null) { list.Add(resClass); PutJavaScript(); CallJavaScript(); //ScriptManager.RegisterStartupScript(this, typeof(Page), "UpdateMsg", "$(document).ready(function(){" + // ";alert('Overrides successfully Updated.');" + // "});", true); ////ScriptManager.RegisterStartupScript(this, typeof(Page), "UpdateMsg", "$(document).ready(function(){EnableControls();alert('Overrides successfully Updated.');DisableControls();});", true); //lblJavaScript.Text = "<script type='text/javascript'>showDialogue();</script>"; } //LoadFromType(); } } }
void Choose_RestrictionChoosenNew(object sender, Academic.ViewModel.IdAndNameEventArgs e) { var restrictionId = Session["CurrentRestrictionId"]; var restriction = Session["ControlList"] as RestrictionIdName; //if (list == null) list = new List<RestrictionIdName>(); if (restrictionId != null) { var split = restrictionId.ToString().Split(new char[] { '_' }); var parent = GetParentRestriction(restriction, split, RestrictionFifth1); if (parent != null && _foundMain != null) //new { var list = parent.Children; //[restrictionId.ToString()]; var noOfChildRestrictions = parent.Children.Count; var thisId = (noOfChildRestrictions + 1); RestrictionIdName resClass = null; switch (e.Id) { case 0: resClass = GetRestriction(restrictionId.ToString(), "activity" , thisId.ToString(), restrictionId + "_" + thisId , "", new List <RestrictionIdName>()); var activityCompleteRestriction = (ActivityCompleteRestrictionUC) Page.LoadControl("~/Views/RestrictionAccess/ActivityCompleteRestrictionUC.ascx"); activityCompleteRestriction.SetIds(resClass.ParentId, resClass.AbsoluteId, resClass.RelativeId, resClass.Name); _foundMain.AddControl(activityCompleteRestriction); break; case 1: resClass = GetRestriction(restrictionId.ToString(), "date" , thisId.ToString(), restrictionId + "_" + thisId , "", new List <RestrictionIdName>()); var dateRestriction = (DateRestrictionUC) Page.LoadControl("~/Views/RestrictionAccess/DateRestrictionUC.ascx"); dateRestriction.SetIds(resClass.ParentId, resClass.AbsoluteId, resClass.RelativeId, resClass.Name); _foundMain.AddControl(dateRestriction); break; case 2: resClass = GetRestriction(restrictionId.ToString(), "grade" , thisId.ToString(), restrictionId + "_" + thisId , "", new List <RestrictionIdName>()); var gradeRestriction = (GradeRestrictionUC) Page.LoadControl("~/Views/RestrictionAccess/GradeRestrictionUC.ascx"); gradeRestriction.SetIds(resClass.ParentId, resClass.AbsoluteId, resClass.RelativeId, resClass.Name, 0); _foundMain.AddControl(gradeRestriction); break; case 3: resClass = GetRestriction(restrictionId.ToString(), "group" , thisId.ToString(), restrictionId + "_" + thisId , "", new List <RestrictionIdName>()); var groupRestriction = (GroupRestrictionUC) Page.LoadControl("~/Views/RestrictionAccess/GroupRestrictionUC.ascx"); groupRestriction.SetIds(resClass.ParentId, resClass.AbsoluteId, resClass.RelativeId, resClass.Name, 0); _foundMain.AddControl(groupRestriction); break; case 4: resClass = GetRestriction(restrictionId.ToString(), "userprofile" , thisId.ToString(), restrictionId + "_" + thisId , "", new List <RestrictionIdName>()); var userProfileRestriction = (UserProfileRestriction) Page.LoadControl("~/Views/RestrictionAccess/UserProfileRestriction.ascx"); userProfileRestriction.SetIds(resClass.ParentId, resClass.AbsoluteId, resClass.RelativeId, resClass.Name); _foundMain.AddControl(userProfileRestriction); break; case 5: resClass = GetRestriction(restrictionId.ToString(), "main" , thisId.ToString(), restrictionId + "_" + thisId , "", new List <RestrictionIdName>()); var restrictionSetUc = (RestrictionFifth) Page.LoadControl("~/Views/RestrictionAccess/Main/RestrictionFifth.ascx"); restrictionSetUc.SetIds(resClass.ParentId, resClass.AbsoluteId, resClass.RelativeId, resClass.Name); _foundMain.AddControl(restrictionSetUc); break; } if (resClass != null) { list.Add(resClass); } //LoadFromType(); } } }