private NarrowerModel GetNarrowerModel(string teamId, IDictionary <string, string> tabFilters) { var teamNarrower = GetTeamNarrower(teamId); var layoutTabNarrower = GetLayoutTabNarrower(tabFilters); var result = new NarrowerModel { TeamNarrower = teamNarrower, LayoutTabNarrower = layoutTabNarrower }; return(result); }
private async Task <Result <WorkOrdersModel> > GetOrdersAsync(NarrowerModel narrowerModel, string operant) { var escapedFilterString = _filterMapper.ToEscaped(narrowerModel, operant); var response = await _workOrdersRestApi.GetOrders($"{UrlsConfig.WorkOrders}{UrlsConfig.WorkOrdersOperations.List(_apiVersion, escapedFilterString)}"); if (response.StatusCode == HttpStatusCode.BadRequest) { return(Result.Fail <WorkOrdersModel>("Bad request to WorkOrders.API")); } else { var responseAsString = await response.Content.ReadAsStringAsync(); var workOrdersModel = JsonConvert.DeserializeObject <WorkOrdersModel>(responseAsString); return(Result.Ok(workOrdersModel)); } }
public string ToEscaped(NarrowerModel narrowerModel, string operant) { string resultTeamNarrower = string.Empty; resultTeamNarrower = GetTeamNarrowerGroupItemsAsFilterString(resultTeamNarrower, narrowerModel.TeamNarrower.Sources); resultTeamNarrower = GetTeamNarrowerGroupItemsAsFilterString(resultTeamNarrower, narrowerModel.TeamNarrower.Sites); resultTeamNarrower = GetTeamNarrowerGroupItemsAsFilterString(resultTeamNarrower, narrowerModel.TeamNarrower.Operations); resultTeamNarrower = GetTeamNarrowerGroupItemsAsFilterString(resultTeamNarrower, narrowerModel.TeamNarrower.OperationalDepartments); resultTeamNarrower = GetTeamNarrowerGroupItemsAsFilterString(resultTeamNarrower, narrowerModel.TeamNarrower.TypePlannings); resultTeamNarrower = GetTeamNarrowerGroupItemsAsFilterString(resultTeamNarrower, narrowerModel.TeamNarrower.Customers); resultTeamNarrower = GetTeamNarrowerGroupItemsAsFilterString(resultTeamNarrower, narrowerModel.TeamNarrower.ProductionSites); resultTeamNarrower = GetTeamNarrowerGroupItemsAsFilterString(resultTeamNarrower, narrowerModel.TeamNarrower.TransportTypes); if (!string.IsNullOrWhiteSpace(resultTeamNarrower)) { resultTeamNarrower = resultTeamNarrower.Remove(resultTeamNarrower.Length - 5); if (resultTeamNarrower.Contains(" and ")) { resultTeamNarrower = "(" + resultTeamNarrower + ")"; } } //2 var resultLayoutListScreenTabNarrower = GetLayoutTabItemsAsFilterString(narrowerModel.LayoutTabNarrower.Items); if (!string.IsNullOrWhiteSpace(resultLayoutListScreenTabNarrower)) { if (resultLayoutListScreenTabNarrower.Contains(" and ")) { resultLayoutListScreenTabNarrower = "(" + resultLayoutListScreenTabNarrower + ")"; } } //3 string result; var mandatoryFilter = Item.OperationalStatus.FilterKey.Value + " eq " + "'" + OrderStatus.Open.ToString() + "'" + " or (" + Item.OperationalOperant.FilterKey.Value + " eq " + "'" + operant + "'" + " and " + Item.OperationalStatus.FilterKey.Value + " eq " + "'" + OrderStatus.Busy.ToString() + "'" + ")"; if (string.IsNullOrWhiteSpace(resultTeamNarrower) && !string.IsNullOrWhiteSpace(resultLayoutListScreenTabNarrower)) { result = resultLayoutListScreenTabNarrower; } else if (!string.IsNullOrWhiteSpace(resultTeamNarrower) && string.IsNullOrWhiteSpace(resultLayoutListScreenTabNarrower)) { result = resultTeamNarrower; } else if (!string.IsNullOrWhiteSpace(resultTeamNarrower) && !string.IsNullOrWhiteSpace(resultLayoutListScreenTabNarrower)) { result = resultTeamNarrower + " and " + resultLayoutListScreenTabNarrower; } else { result = string.Empty; } var res = "(" + mandatoryFilter + ")" + (string.IsNullOrEmpty(result) ? null : " and " + result); return(res); }