1: using System;
2: using System.Collections;
3: using System.Collections.Generic;
4: using System.Runtime.Serialization;
5: using System.Text.Json;
6: using System.Web.Http;
7:
8: namespace Ia.Ngn.Ofn.Wa.Api.Model.Controller
9: {
10: ////////////////////////////////////////////////////////////////////////////
11:
12: /// <summary publish="true">
13: /// Service API Controller class of Optical Fiber Network (OFN) model.
14: /// </summary>
15: ///
16: /// <remarks>
17: /// Copyright © 2015-2022 Jasem Y. Al-Shamlan (info@ia.com.kw), Integrated Applications - Kuwait. All Rights Reserved.
18: ///
19: /// This library is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by
20: /// the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
21: ///
22: /// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
23: /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
24: ///
25: /// You should have received a copy of the GNU General Public License along with this library. If not, see http://www.gnu.org/licenses.
26: ///
27: /// Copyright notice: This notice may not be removed or altered from any source distribution.
28: /// </remarks>
29: // [Authorize]
30: public class ServiceController : ApiController
31: {
32: private static readonly object objectLock = new object();
33:
34: ////////////////////////////////////////////////////////////////////////////
35:
36: /// <summary>
37: /// Service: Public information about service configuration of the Optical Fiber Network
38: /// </summary>
39: public ServiceController() { }
40:
41: ////////////////////////////////////////////////////////////////////////////
42:
43: /// <summary>
44: /// List of Kuwait OFN areas
45: /// </summary>
46: [HttpGet]
47: [Route("api/v1/service/kuwait-ofn-areas")]
48: public List<Ia.Ngn.Cl.Model.Business.Service.KuwaitOfnArea> KuwaitAreaList()
49: {
50: var list = Ia.Ngn.Cl.Model.Data.Service.KuwaitOfnAreaList;
51:
52: return list;
53: }
54:
55: ////////////////////////////////////////////////////////////////////////////
56:
57: /// <summary>
58: /// List of Kuwait areas
59: /// </summary>
60: [HttpGet]
61: [Route("api/v1/service/kuwait-areas")]
62: public List<Ia.Cl.Model.Kuwait> KuwaitList()
63: {
64: var list = Ia.Cl.Model.Kuwait.KuwaitAreaList;
65:
66: return list;
67: }
68:
69: ////////////////////////////////////////////////////////////////////////////
70:
71: /// <summary>
72: /// List of the Optical Fiber Network (OFN) allowed to be provisioned domain list
73: /// </summary>
74: [HttpGet]
75: [Route("api/v1/service/allowed-to-be-provisioned-domains")]
76: public List<int> DomainList()
77: {
78: return Ia.Ngn.Cl.Model.Business.Service.AllowedToBeProvisionedDomainList;
79: }
80:
81: ////////////////////////////////////////////////////////////////////////////
82: ////////////////////////////////////////////////////////////////////////////
83: }
84: }