protected void RepairCardsGridView_PageIndexChanging(Object sender, GridViewPageEventArgs e) { this.repairCardsGrid.PageIndex = e.NewPageIndex; object repairCardsFilterObject = Session[CarServiceConstants.REPAIR_CARDS_FILTER_SESSION_ATTR_NAME]; IQueryable <RepairCard> repairCards; if (repairCardsFilterObject != null) { RepairCardFilter filter = (RepairCardFilter)repairCardsFilterObject; repairCards = FilterRepairCards(filter); } else { repairCards = this.persister.GetRepairCards(); } object sortDirectionObj = ViewState[CarServiceConstants.SORT_DIRECTION_VIEW_STATE_ATTR]; object sortExpressionObj = ViewState[CarServiceConstants.SORT_EXPRESSION_VIEW_STATE_ATTR]; if (sortDirectionObj != null && sortExpressionObj != null) { repairCards = SortingUtility.SortRepairCards(repairCards, sortExpressionObj.ToString(), (SortDirection)sortDirectionObj); } BindRepairCardsGrid(repairCards); CarServicePresentationUtility.ClearNotificationMsgList(this.notificationMsgList); CarServicePresentationUtility.HideNotificationMsgList(this.notificationMsgList); }
protected void RepairCardsGridView_Sorting(object sender, GridViewSortEventArgs e) { SortDirection newSortDirection = SortDirection.Descending; object currentSortDirectionObject = ViewState[CarServiceConstants.SORT_DIRECTION_VIEW_STATE_ATTR]; if (currentSortDirectionObject != null) { SortDirection currentSortDirection = (SortDirection)currentSortDirectionObject; newSortDirection = (currentSortDirection.Equals(SortDirection.Ascending)) ? SortDirection.Descending : SortDirection.Ascending; } ViewState[CarServiceConstants.SORT_DIRECTION_VIEW_STATE_ATTR] = newSortDirection; ViewState[CarServiceConstants.SORT_EXPRESSION_VIEW_STATE_ATTR] = e.SortExpression; object repairCardsFilterObj = Session[CarServiceConstants.REPAIR_CARDS_FILTER_SESSION_ATTR_NAME]; IQueryable <RepairCard> repairCards; if (repairCardsFilterObj != null) { RepairCardFilter filter = (RepairCardFilter)repairCardsFilterObj; repairCards = FilterRepairCards(filter); } else { repairCards = this.persister.GetRepairCards(); } IQueryable <RepairCard> sortedCards = SortingUtility.SortRepairCards(repairCards, e.SortExpression, newSortDirection); BindRepairCardsGrid(sortedCards); }
private IQueryable <RepairCard> FilterRepairCards(RepairCardFilter filter) { IQueryable <RepairCard> repairCards = null; int filterType = filter.Type; switch (filterType) { case CarServiceConstants.ALL_REPAIR_CARDS_FILTER_TYPE: repairCards = FilterRepairCards(filter.VinChassis); break; case CarServiceConstants.UNFINISHED_REPAIR_CARDS_FILTER_TYPE: repairCards = FilterUnfinishedRepairCards(filter.StartRepair, filter.VinChassis); break; case CarServiceConstants.FINISHED_REPAIR_CARDS_FILTER_TYPE: repairCards = FilterFinishedRepairCards(filter.FromFinishRepair, filter.ToFinishRepair); break; } return(repairCards); }
protected void FilterRepairCards_OnClick(object sender, EventArgs e) { CarServicePresentationUtility.ClearNotificationMsgList(this.notificationMsgList); CarServicePresentationUtility.HideNotificationMsgList(this.notificationMsgList); int filterType = this.repairCardsFilterType.SelectedIndex; RepairCardFilter filter = new RepairCardFilter(filterType); if (filterType == CarServiceConstants.ALL_REPAIR_CARDS_FILTER_TYPE) { filter.VinChassis = this.VinChassisAllRepairCardsTxt.Text; } else if (filterType == CarServiceConstants.FINISHED_REPAIR_CARDS_FILTER_TYPE) { DateTime?fromFinishRepairDate = null; bool validFromFinishRepairDate = false; string fromFinishDateTxt = this.fromFinishRepairDate.SelectedDate; if (string.IsNullOrEmpty(fromFinishDateTxt) == false) { DateTime fromFinishRepairDateValue = DateTime.Now; validFromFinishRepairDate = CarServiceUtility.IsValidDate(fromFinishDateTxt, out fromFinishRepairDateValue); if (validFromFinishRepairDate == true) { fromFinishRepairDate = fromFinishRepairDateValue; } } DateTime?toFinishRepairDate = null; bool validToFinishRepairDate = false; string toFinishRepairDateTxt = this.toFinishRepairDate.SelectedDate; if (string.IsNullOrEmpty(toFinishRepairDateTxt) == false) { DateTime toFinishRepairDateValue = DateTime.Now; validToFinishRepairDate = CarServiceUtility.IsValidDate(toFinishRepairDateTxt, out toFinishRepairDateValue); if (validToFinishRepairDate == true) { toFinishRepairDate = toFinishRepairDateValue; } } if (validFromFinishRepairDate && validToFinishRepairDate) { filter.FromFinishRepair = fromFinishRepairDate.Value; filter.ToFinishRepair = toFinishRepairDate.Value; } else { if (validFromFinishRepairDate == false) { CarServicePresentationUtility.AppendNotificationMsg("From finish repair date is not valid format", this.notificationMsgList); } if (validToFinishRepairDate == false) { CarServicePresentationUtility.AppendNotificationMsg("To finish repair date is not valid format", this.notificationMsgList); } CarServicePresentationUtility.ShowNotificationMsgList(this.notificationMsgList); return; } } else if (filterType == CarServiceConstants.UNFINISHED_REPAIR_CARDS_FILTER_TYPE) { bool validDate = false; string startRepairDateTxt = this.startRepairDate.SelectedDate; if (string.IsNullOrEmpty(startRepairDateTxt) == false) { DateTime startRepairDateValue = DateTime.Now; validDate = CarServiceUtility.IsValidDate(startRepairDateTxt, out startRepairDateValue); if (validDate == true) { filter.StartRepair = startRepairDateValue; } } if (validDate == false) { CarServicePresentationUtility.AppendNotificationMsg("Start repair date is not valid format", this.notificationMsgList); CarServicePresentationUtility.ShowNotificationMsgList(this.notificationMsgList); return; } filter.VinChassis = this.VinChassisTxt.Text; } ViewState[CarServiceConstants.SORT_DIRECTION_VIEW_STATE_ATTR] = SortDirection.Ascending; ViewState[CarServiceConstants.SORT_EXPRESSION_VIEW_STATE_ATTR] = CarServiceConstants.REPAIR_CARD_ID_SORT_EXPRESSION; Session[CarServiceConstants.REPAIR_CARDS_FILTER_SESSION_ATTR_NAME] = filter; IQueryable <RepairCard> customRepairCards = FilterRepairCards(filter); BindRepairCardsGrid(customRepairCards); }