예제 #1
0
        public FileContentResult Download(int buildId)
        {
            var buildResponse = _service.GetBuildByID(buildId);

            if (!buildResponse.Success || buildResponse.Result == null)
            {
                return(null);
            }

            var convertedResponse = _procService.ConvertBuildOrderForMobile(buildResponse.Result);

            if (convertedResponse.Success)
            {
                var buildInfo = convertedResponse.Result;
                if (!string.IsNullOrEmpty(buildInfo.Description))
                {
                    buildInfo.Description = HtmlSanitize.SanitizeHtmlTags(buildInfo.Description.Replace("<br />", "\n\n").Replace("<br>", "\n\n").Replace("</p>", "\n\n"));
                }

                var jsonContent = JsonConvert.SerializeObject(buildInfo);
                return(File(Encoding.UTF8.GetBytes(jsonContent), "text/plain", buildInfo.Name + ".txt"));
            }

            return(null);
        }
예제 #2
0
        public JsonResponse GetBuilds(string race, string vsRace, string versionId, string name)
        {
            if (string.IsNullOrEmpty(versionId))
            {
                return(new JsonResponse(false, "versionid parameter was not provided"));
            }

            if (string.IsNullOrEmpty(race) || (race.ToLower() != "terran" && race.ToLower() != "protoss" && race.ToLower() != "zerg"))
            {
                race = string.Empty;
            }

            if (string.IsNullOrEmpty(name))
            {
                name = string.Empty;
            }

            if (string.IsNullOrEmpty(vsRace) || (vsRace.ToLower() != "terran" && vsRace.ToLower() != "protoss" && vsRace.ToLower() != "zerg"))
            {
                vsRace = string.Empty;
            }

            var response = _service.GetBuildOrders(race, vsRace, versionId, name);

            if (!response.Success)
            {
                return(new JsonResponse(false, response.Message));
            }

            if (response.Result != null && response.Result.Count > 0)
            {
                var convertedResponse = _procService.ConvertBuildOrdersForMobile(response.Result);

                foreach (var build in convertedResponse.Result)
                {
                    if (!string.IsNullOrEmpty(build.Description))
                    {
                        build.Description = HtmlSanitize.SanitizeHtmlTags(build.Description.Replace("<br />", "\n\n").Replace("<br>", "\n\n").Replace("</p>", "\n\n"));
                    }
                }

                return(new JsonResponse(convertedResponse));
            }

            return(new JsonResponse(true, "Build Orders not found"));
        }