//--------------------------------------------------------------------------------------------------------------------------------
        /// <summary>
        /// Add a new customer
        /// </summary>
        /// <param name="client"></param>
        /// <returns></returns>
        //--------------------------------------------------------------------------------------------------------------------------------
        public async Task <BossIDWS.Vendor.REST.ReturnObjects.RO <string> > AddClientNew(ClientNewData client)
        {
            BossIDWS.Vendor.REST.ReturnObjects.RO <string> roc = new ReturnObjects.RO <string>();
            try
            {
                VendorEngine engine = new VendorEngine();
                if (client.AccessPoints == null || client.AccessPoints.AccessPoint == null)
                {
                    roc.ReturnCode = 1024;
                    roc.Message    = "AddClientNew failure - NULL accesspoints in parameter";
                    return(await Task.FromResult(roc));
                }
                // Keep Vendor separate from the REST api
                VendorAccessPointList    saplist = new VendorAccessPointList();
                List <VendorAccessPoint> saps    = new List <VendorAccessPoint>();

                foreach (AccessPointCustomer ap in client.AccessPoints.AccessPoint)
                {
                    VendorAccessPoint sap = new VendorAccessPoint();
                    sap.accesspointid = ap.accesspointid;
                    sap.role          = ap.role;
                    sap.size          = ap.size;
                    saps.Add(sap);
                }
                saplist.AccessPoints = saps.ToArray();
                VendorRO vendorro = engine.CustomerNew(client.InstallationID, client.CustomerType, client.CustomerID, client.CustomerGUID, client.CustomerName,
                                                       client.StreetAddress, client.Description, client.RFID, saplist);
                roc.ReturnCode  = vendorro.ReturnCode;
                roc.ReturnValue = vendorro.ReturnValue;
                roc.Message     = vendorro.Message;
            }
            catch (Exception e)
            {
                roc.ReturnCode = 1024;
                roc.Message    = "AddClientNew failure - " + e.ToString();
            }
            return(await Task.FromResult(roc));
        }
 //--------------------------------------------------------------------------------------------------------------------------------
 /// <summary>
 /// 7.5.1
 /// </summary>
 /// <param name="installationid"></param>
 /// <param name="customertype"></param>
 /// <param name="customerid"></param>
 /// <param name="customerguid"></param>
 /// <param name="customername"></param>
 /// <param name="streetaddress"></param>
 /// <param name="description"></param>
 /// <param name="rfid"></param>
 /// <param name="acplist"></param>
 /// <returns></returns>
 //--------------------------------------------------------------------------------------------------------------------------------
 public VendorRO CustomerNew(string installationid, string customertype, string customerid, string customerguid, string customername, string streetaddress, string description,
                             string rfid, VendorAccessPointList acplist)
 {
     // Replace with your code - in example a GUID is return as customer ID at vendor site
     return(new VendorRO(0, "Customer created", new Guid().ToString()));
 }
 //--------------------------------------------------------------------------------------------------------------------------------
 /// <summary>
 /// 7.5.8
 /// </summary>
 /// <param name="installationid"></param>
 /// <param name="customerkey"></param>
 /// <param name="acplist"></param>
 /// <returns></returns>
 //--------------------------------------------------------------------------------------------------------------------------------
 public VendorRO CustomerChangePoints(string installationid, string customerkey, VendorAccessPointList acplist)
 {
     // Replace with your code
     return(new VendorRO(0, "Customer points changed"));
 }