Ejemplo n.º 1
0
        public IList <ClsResultsStatus> GetResultStatus(ClsGetResultStatus GetResultStatus)
        {
            IList <ClsResultsStatus> resultsStatus = null;


            try
            {
                resultsStatus = repository.GetResultStatus(GetResultStatus);
            }
            catch (Exception e)
            {
                throw new Exception("400|" + e.Message, e);
            }

            return(resultsStatus);
        }
Ejemplo n.º 2
0
        public HttpResponseMessage GetResultStatus([FromUri] ClsGetResultStatus ResultStatus)
        {
            string str = string.Empty;
            string errMsg = string.Empty, errData = string.Empty;
            var    errorsList = new JObject();
            JArray errors     = new JArray();

            try
            {
                ClaimsPrincipal principal = Request.GetRequestContext().Principal as ClaimsPrincipal;
                var             appId     = principal.Claims.Where(c => c.Type == "clientId").Single().Value;
                var             orgId     = principal.Claims.Where(c => c.Type == "orgId").Single().Value;
                if (ResultStatus == null)
                {
                    errorsList["Error"] = "Order Id and location Id is required";
                    errors.Add(errorsList);
                    this.response = this.Request.CreateResponse(HttpStatusCode.OK, GetResponseBody("error", errors, "info"));
                }
                else
                {
                    if (ModelState.IsValid)
                    {
                        ResultStatus.appId    = appId;
                        ResultStatus.remoteIP = Request.GetClientIpAddress();
                        var result = this.iICLabsService.GetResultStatus(ResultStatus);

                        if (result == null || result.Count == 0)
                        {
                            errorsList["Warning"] = "No record found for orderId =" + ResultStatus.orderId + " and locationId =" + ResultStatus.locationId;
                            errors.Add(errorsList);
                            this.response = Request.CreateResponse(HttpStatusCode.OK, GetResponseBody("error", errors, "info"));
                        }
                        else
                        {
                            this.response = Request.CreateResponse(HttpStatusCode.OK, GetResponseBody("ok", result));
                        }
                    }
                    else if (!ModelState.IsValid)
                    {
                        foreach (var state in this.ModelState)
                        {
                            foreach (var error in state.Value.Errors)
                            {
                                errMsg  = error.ErrorMessage;
                                errData = state.Key.ToString();
                                string   result      = errMsg + "|" + errData.Replace("Vendor.", string.Empty);
                                string[] splitValues = result.Split('|');
                                for (int i = 0; i < splitValues.Count(); i++)
                                {
                                    errorsList[splitValues[i].ToString()] = splitValues[i + 1].ToString();
                                    i++;
                                    errors.Add(errorsList);
                                    errorsList = new JObject();
                                }
                            }
                        }

                        this.response = Request.CreateResponse(HttpStatusCode.OK, GetResponseBody("error", errors, "info"));
                    }
                }
            }
            catch (Exception e)
            {
                errorsList["Error"] = e.Message;
                errors.Add(errorsList);
                return(Request.CreateResponse(HttpStatusCode.BadRequest, GetResponseBody("error", errors, "info")));
            }

            return(this.response);
        }