public async Task <bool> AllocateAdditionalResourceAsync(AdditionalResourcesRequest request)
        {
            var disaster = await _verifiedDisasterReportCollection.GetAsync(request.ReferenceCode);

            // get the required officer
            List <OfficerDetails> officersList = await _officerDetailsCollection.GetOfficerDetails(request.Department, request.AdditionalUnits);

            foreach (OfficerDetails officer in officersList)
            {
                try
                {
                    // add the assign
                    disaster.AssignedOfficers.Add(officer.ReferenceCode);
                    officer.IsOfficerAssigned = true;
                    bool updateResult = await _officerDetailsCollection.UpdateAsync(officer);

                    //send notification introducing a pipeline or direct
                }
                catch (NullReferenceException)
                {
                    continue;
                }
            }
            Trace.WriteLine(disaster.AssignedOfficers);
            return(await _verifiedDisasterReportCollection.UpdateAsync(disaster));
        }
        public async Task <IActionResult> AdditionalResourceAllocation(AdditionalResourcesRequest request)
        {
            ActionResponse response;

            try
            {
                bool result = await _businessLogic.AllocateAdditionalResourceAsync(request);

                response = (result) ? new ActionResponse(StatusCodes.Status200OK) : new ActionResponse(StatusCodes.Status422UnprocessableEntity);
            }
            catch (Exception ex)
            {
                response = new ActionResponse(StatusCodes.Status500InternalServerError);
                response.StatusDescription += ex.Message.ToString();
            }

            return(StatusCode(response.StatusCode, response));
        }