Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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));
            }
        }
Ejemplo n.º 3
0
        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);
        }