Exemplo n.º 1
0
        public async Task <IActionResult> VerifiedDisaster(VerifiedDisasterRequest request)
        {
            ActionResponse response;

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

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

            return(StatusCode(response.StatusCode, response));
        }
        public async Task <bool> UpdateDocumentAsync(object request = null)
        {
            VerifiedDisasterRequest request_    = (VerifiedDisasterRequest)request;
            ReportedDisaster        oldDisaster = await _disasterCollection.GetAsync(request_.ReferenceCode);

            var copier = new ClassValueCopier();
            ReportedDisaster newDisaster = copier.ConvertAndCopy(request_, oldDisaster);

            newDisaster.LastUpdatedBy = request_.VerifiedBy;
            newDisaster.IsClosed      = false;
            bool result = await _disasterCollection.UpdateAsync(newDisaster);

            if (result && newDisaster.IsInfoTrue)
            {
                VerifiedDisasterMessage verifiedDisaster = copier.ConvertAndCopy <VerifiedDisasterMessage, ReportedDisaster>(newDisaster);
                string data = JsonConvert.SerializeObject(verifiedDisaster);
                await Mqtt.MqttPublish("RSCD/Message/Disaster/Verified", data);
            }
            return(result);
        }