/// <summary> /// Inits the filter. /// </summary> private void InitFilter() { var userSettings = DataManager.UserSettings.SelectByClassName(CurrentUser.Instance.ID, RequirementWidgetFilter); if (userSettings != null && !string.IsNullOrEmpty(userSettings.UserSettings)) { var settings = new RequirementFilterSettings(); settings.Deserialize(userSettings.UserSettings); if (settings.ToPay) { gridRequirements.Where.Add(new GridWhere { CustomQuery = "(tbl_Requirement.Quantity > 0 AND tbl_Requirement.InvoiceID IS NULL)" }); } if (settings.CurrentRequirements) { gridRequirements.Where.Add(new GridWhere { CustomQuery = string.Format("(tbl_RequirementStatus.IsLast = {0})", settings.CurrentRequirements ? 0 : 1) }); } if (settings.ByResponsible && settings.ResponsibleId.HasValue) { gridRequirements.Where.Add(new GridWhere { CustomQuery = string.Format("(tbl_Requirement.ResponsibleID = '{0}')", settings.ResponsibleId.ToString()) }); } chxToPay.Checked = settings.ToPay; chxByResponsible.Checked = settings.ByResponsible; chxCurrentRequirements.Checked = settings.CurrentRequirements; ucResponsible.SelectedValue = settings.ResponsibleId; } else { ucResponsible.SelectedValue = CurrentUser.Instance.ContactID; gridRequirements.Where.Add(new GridWhere { CustomQuery = "tbl_RequirementStatus.IsLast = 0" }); } }
/// <summary> /// Applies the filter. /// </summary> private void ApplyFilter() { gridRequirements.Where.Clear(); if (chxToPay.Checked) { gridRequirements.Where.Add(new GridWhere { CustomQuery = "(tbl_Requirement.Quantity > 0 AND tbl_Requirement.InvoiceID IS NULL)" }); } if (chxCurrentRequirements.Checked) { gridRequirements.Where.Add(new GridWhere { CustomQuery = "(tbl_RequirementStatus.IsLast = 0)" }); } if (chxByResponsible.Checked && ucResponsible.SelectedValue.HasValue) { gridRequirements.Where.Add(new GridWhere { CustomQuery = string.Format("(tbl_Requirement.ResponsibleID = '{0}')", ucResponsible.SelectedValue.ToString()) }); } var userSettings = DataManager.UserSettings.SelectByClassName(CurrentUser.Instance.ID, RequirementWidgetFilter) ?? new tbl_UserSettings(); var filter = new RequirementFilterSettings { CurrentRequirements = chxCurrentRequirements.Checked, ResponsibleId = ucResponsible.SelectedValue, ByResponsible = chxByResponsible.Checked, ToPay = chxToPay.Checked }; userSettings.UserID = CurrentUser.Instance.ID; userSettings.ClassName = RequirementWidgetFilter; userSettings.UserSettings = filter.Serialize(); DataManager.UserSettings.Save(userSettings); gridRequirements.Rebind(); }