コード例 #1
0
        public async Task <IActionResult> CloseCreateIncident(SimsCloseCreateIncident closeCreate)
        {
            var incidentId = await this.simsApp.Signals.CloseCreateIncident(closeCreate);

            return(new OkObjectResult(new IncidentIdViewModel {
                IncidentId = incidentId
            }));
        }
コード例 #2
0
        public async Task <IActionResult> CloseOnlineFormCreateIncident(SimsCloseCreateIncident closeCreate)
        {
            var incidentId = await this.simsApp.OnlineForms.CloseCreateIncident(closeCreate.HostId, closeCreate.ReasonNote);

            return(new OkObjectResult(new IncidentIdViewModel {
                IncidentId = incidentId
            }));
        }
コード例 #3
0
        public async Task <int> CloseCreateIncident(SimsCloseCreateIncident close)
        {
            if (await dbHost.Signals.IsClosed(close.HostId))
            {
                throw new SimsSignalClosedException("Signal closed");
            }
            var incidentId = await dbHost.Signals.CloseCreateIncident(close.ReasonNote, close.HostId);

            if (incidentId != -1)
            {
                // var signInfo = await this.attachments.Incidents.EnsureLibrary(GeneralExtensions.GenerateSignalsId(close.SignalId));
                // Once an incident is created, then we can migrate all the documents.
                // Createing library just breaks down the task
                // Then we need to migrate any tags that have been applied.
                var libInfo = await this.attachments.Incidents.EnsureLibrary(GeneralExtensions.GenerateIncidentId(incidentId));

                var currentDocInfo = (await dbHost.Signals.Attachments.Get(close.HostId)).ToHashSet();
                // All files found, might not totally refelect whats in the signals
                // There could be more
                var allFileUrls = await this.attachments.Signals.MigrateToLibrary(GeneralExtensions.GenerateIncidentId(incidentId), GeneralExtensions.GenerateSignalsId(close.HostId));

                var mergedTags = new Dictionary <string, int>();
                foreach (var fileItem in allFileUrls)
                {
                    var signal = currentDocInfo.FirstOrDefault(f => f.FileName == fileItem.FileName);
                    mergedTags.Add(fileItem.IncidentUrl, signal != null ? signal.Tags : 0);
                }

                await this.dbHost.Incidents.Attachments.BulkAdd(incidentId, mergedTags);

                return(incidentId);
            }
            else
            {
                throw new SIMSException("Signal already closed.");
            }
        }
コード例 #4
0
        public async Task <IActionResult> CloseOnlineFormNoIncident(SimsCloseCreateIncident closeCreate)
        {
            await this.simsApp.OnlineForms.CloseNoIncident(closeCreate.HostId, closeCreate.ReasonNote);

            return(Ok());
        }