public async Task <List <Branch> > GetAll()
        {
            List <Branch> lstBranch = null;
            var           uri       = new Uri(UrlHelper.GetUrl() + "mdbranch");

            try
            {
                var response = await _client.GetAsync(uri);

                if (response.IsSuccessStatusCode)
                {
                    var content = await response.Content.ReadAsStringAsync();

                    var results =
                        Unwrapper.Unwrap <List <Branch> >(content);
                    lstBranch = results;
                }
                else
                {
                    throw new Exception("Error: Gagal ambil data Branch");
                }
                return(lstBranch);
            }
            catch (Exception ex)
            {
                throw new Exception($"{ex.Message}");
            }
        }
Пример #2
0
        public async Task <SampleResponse> GetDataAsync <SampleResponse>(string endPoint)
        {
            var httpResponse = await _httpClient.GetAsync(endPoint);

            if (!httpResponse.IsSuccessStatusCode)
            {
                _logger.Log(LogLevel.Warning, $"[{httpResponse.StatusCode}] An error occured while requesting external api.");
                return(default(SampleResponse));
            }

            var jsonString = await httpResponse.Content.ReadAsStringAsync();

            var data = Unwrapper.Unwrap <SampleResponse>(jsonString);

            return(data);
        }
Пример #3
0
        public async Task <SampleResponse> PostDataAsync <SampleResponse, SampleRequest>(string endPoint, SampleRequest dto)
        {
            var content      = new StringContent(JsonSerializer.Serialize(dto), Encoding.UTF8, HttpContentMediaTypes.JSON);
            var httpResponse = await _httpClient.PostAsync(endPoint, content);

            if (!httpResponse.IsSuccessStatusCode)
            {
                _logger.Log(LogLevel.Warning, $"[{httpResponse.StatusCode}] An error occured while requesting external api.");
                return(default(SampleResponse));
            }

            var jsonString = await httpResponse.Content.ReadAsStringAsync();

            var data = Unwrapper.Unwrap <SampleResponse>(jsonString);

            return(data);
        }
Пример #4
0
        public static void TestUnwrappedMeshAreas()
        {
            var mesh = Unwrapper.MakeUnwrappedMeshBFS(MeshUnwrapper.Common.Icosahedron.Points, MeshUnwrapper.Common.Icosahedron.Triangles);

            HashSet <int> usedTris = new HashSet <int>();

            int N = 0;

            foreach (var tri in mesh.Triangles)
            {
                var  p0    = mesh.Vertices[tri.p0];
                var  p1    = mesh.Vertices[tri.p1];
                var  p2    = mesh.Vertices[tri.p2];
                var  e0    = p1 - p0;
                var  e1    = p2 - p0;
                var  A0    = Vec3HighPrecision.Cross(e0, e1).Length / 2.0;
                bool match = false;
                for (int i = 0; i < MeshUnwrapper.Common.Icosahedron.Triangles.Length; i++)
                {
                    if (usedTris.Contains(i))
                    {
                        continue;
                    }
                    var tri0 = MeshUnwrapper.Common.Icosahedron.Triangles[i];
                    var q0   = MeshUnwrapper.Common.Icosahedron.Points[tri0.p0];
                    var q1   = MeshUnwrapper.Common.Icosahedron.Points[tri0.p1];
                    var q2   = MeshUnwrapper.Common.Icosahedron.Points[tri0.p2];
                    var f0   = q1 - q0;
                    var f1   = q2 - q0;
                    var A1   = Vec3HighPrecision.Cross(f0, f1).Length / 2.0;
                    var err  = Math.Abs(A0 - A1);
                    if (err < 0.001)
                    {
                        usedTris.Add(i);
                        match = true;
                        break;
                    }
                }
                Assert.True(match, "Area of triangles is distorted, N=" + N + ", A0=" + A0);
                N++;
            }
        }
Пример #5
0
        public static void TestUnwrappedMeshInXZPlane()
        {
            var mesh = Unwrapper.MakeUnwrappedMeshBFS(MeshUnwrapper.Common.Icosahedron.Points, MeshUnwrapper.Common.Icosahedron.Triangles);

            Assert.AreEqual(MeshUnwrapper.Common.Icosahedron.Triangles.Length, mesh.Triangles.Count, "Triangle counts don't match!");

            int N = 0;

            foreach (var tri in mesh.Triangles)
            {
                var p0 = mesh.Vertices[tri.p0];
                var p1 = mesh.Vertices[tri.p1];
                var p2 = mesh.Vertices[tri.p2];
                var e0 = p1 - p0;
                var e1 = p2 - p0;
                var n  = Vec3HighPrecision.Cross(e0, e1).Normalized;
                Assert.That(n.Y, Is.EqualTo(1.0).Within(0.01), string.Format("Normal {0} of tri #{1} ({2}-{3}-{4}) not facing up.", n, N, p0, p1, p2));
                N++;
            }
        }