示例#1
0
        public GetTemplatesResponse GetTemplates(GetTemplatesRequest request)
        {
            int totalRecords;
            var query = SortData(request.Search, request.SortingDictionary, out totalRecords);

            if (request.Take != -1)
            {
                query = query.Skip(request.Skip).Take(request.Take);
            }
            var templates = query.ToList();

            var response = new GetTemplatesResponse();

            response.Artifacts    = templates.MapTo <GetTemplatesResponse.TemplateResponse>();
            response.TotalRecords = totalRecords;

            return(response);

            /*if (request.OnlyCount)
             * {
             *  return new GetTemplatesResponse { Count = DataContext.DashboardTemplates.Count() };
             * }
             * else
             * {
             *  return new GetTemplatesResponse
             *  {
             *      Artifacts = DataContext.DashboardTemplates.OrderBy(x => x.Id).Skip(request.Skip).Take(request.Take)
             *                      .ToList().MapTo<GetTemplatesResponse.TemplateResponse>()
             *  };
             * }*/
        }
        public static GetTemplatesResponse Unmarshall(UnmarshallerContext context)
        {
            GetTemplatesResponse getTemplatesResponse = new GetTemplatesResponse();

            getTemplatesResponse.HttpResponse = context.HttpResponse;
            getTemplatesResponse.RequestId    = context.StringValue("GetTemplates.RequestId");

            GetTemplatesResponse.GetTemplates_Result result = new GetTemplatesResponse.GetTemplates_Result();

            List <GetTemplatesResponse.GetTemplates_Result.GetTemplates_SchemaListItem> result_schemaList = new List <GetTemplatesResponse.GetTemplates_Result.GetTemplates_SchemaListItem>();

            for (int i = 0; i < context.Length("GetTemplates.Result.SchemaList.Length"); i++)
            {
                GetTemplatesResponse.GetTemplates_Result.GetTemplates_SchemaListItem schemaListItem = new GetTemplatesResponse.GetTemplates_Result.GetTemplates_SchemaListItem();
                schemaListItem.Id          = context.LongValue("GetTemplates.Result.SchemaList[" + i + "].Id");
                schemaListItem.Name        = context.StringValue("GetTemplates.Result.SchemaList[" + i + "].Name");
                schemaListItem.Description = context.StringValue("GetTemplates.Result.SchemaList[" + i + "].Description");
                schemaListItem.Version     = context.LongValue("GetTemplates.Result.SchemaList[" + i + "].Version");
                schemaListItem.CreateTime  = context.LongValue("GetTemplates.Result.SchemaList[" + i + "].CreateTime");
                schemaListItem.UpdateTime  = context.LongValue("GetTemplates.Result.SchemaList[" + i + "].UpdateTime");
                schemaListItem.IsTemplate  = context.IntegerValue("GetTemplates.Result.SchemaList[" + i + "].IsTemplate");

                result_schemaList.Add(schemaListItem);
            }
            result.SchemaList           = result_schemaList;
            getTemplatesResponse.Result = result;

            return(getTemplatesResponse);
        }
        public GetTemplatesResponse GetTemplates()
        {
            var connectionString = _settings.TournamentDB;

            using (var dataStore = new DataStore(new SqlConnection(connectionString)))
            {
                GetTemplatesResponse response = new GetTemplatesResponse();
                try
                {
                    response.Templates = dataStore.ListTemplates();
                }
                catch (Exception e)
                {
                    response.HasErrors = true;
                    response.Errors.Add(e.Message);
                }
                return(response);
            }
        }
示例#4
0
        public ActionResult <GetTemplatesResponse> Get([FromRoute] string clientID)
        {
            GetTemplatesResponse response;
            string responseMessage = $"GET_{clientID}_TEMPLATES";
            string cacheKey        = $"{clientID}_TEMPLATES";

            try
            {
                if (ExistsInCache(cacheKey))
                {
                    response = GetFromCache <GetTemplatesResponse>(cacheKey);
                }
                else
                {
                    var factory   = Factory.Instance.GetTemplate(_configuration);
                    var templates = factory.GetTemplates(clientID);
                    response = new GetTemplatesResponse
                    {
                        StatusCode = "200"
                    };
                    templates.ForEach(template =>
                                      response.Data.Add(template.Adapt()));
                    AddToCache(cacheKey, response);
                }

                return(Ok(response));
            }
            catch (Exception ex)
            {
                response = new GetTemplatesResponse
                {
                    StatusCode = "500"
                };
                response.Messages.Add(ResponseMessage.Create(ex, responseMessage));
                return(StatusCode(500, response));
            }
        }