public ActionResult <string> Post(
            string callTypeAPI, string weatherObjIdToAssign,
            string callParameter1, string callParameter2 = ""
            )
        {
            string responseStr = null;

            switch (callTypeAPI)
            {
            case CITY_NAME:         // param1: city name; param2?: country code
                if (callParameter2 != "")
                {
                    callParameter2 = "," + callParameter2;
                }
                string cityNameUrl  = "weather?q=" + callParameter1 + callParameter2;
                var    responseName = weatherAPI.GetWeatherObjectFromAPI(cityNameUrl);
                if (responseName != null)
                {
                    responseStr = responseName.Result;
                }
                break;

            case CITY_ID:           // param1: city id
                if (callParameter2 == "")
                {
                    string cityIdUrl  = "weather?id=" + callParameter1;
                    var    responseId = weatherAPI.GetWeatherObjectFromAPI(cityIdUrl);
                    if (responseId != null)
                    {
                        responseStr = responseId.Result;
                    }
                }
                break;

            case COORD:              // param1: lat; param2: lon
                if (callParameter2 != "")
                {
                    string coordUrl      = "weather?lat=" + callParameter1 + "&lon=" + callParameter2;
                    var    responseCoord = weatherAPI.GetWeatherObjectFromAPI(coordUrl);
                    if (responseCoord != null)
                    {
                        responseStr = responseCoord.Result;
                    }
                }
                break;

            default:
                return(BadRequest(new { message = "Check callTypeAPI parameter(s)" }));
            }

            if (responseStr == null)
            {
                return(BadRequest(new { message = "API call failed" }));
            }

            var newWeatherObj = weatherAPI.ParseWeatherDataObject(responseStr);
            var wo            = _weatherService.GetObject(WEATHER_OBJECT, weatherObjIdToAssign);

            if (wo != null)   // weather object already exists, update
            {
                if (!_weatherService.UpdateWeatherObject(newWeatherObj, weatherObjIdToAssign))
                {
                    return(BadRequest(new { message = "Object to update not found in database" }));
                }
            }
            else     // new weather object
            {
                _weatherService.AddWeatherObject(newWeatherObj, weatherObjIdToAssign);
            }

            return(Ok(responseStr));
        }