Ejemplo n.º 1
0
        public string ReportIncident(IncidentTag incidentTag)
        {
            string liveUserID = WebOperationContext.Current.IncomingRequest.Headers["LiveUserID"];

            bool isAuthorizedForSelf = _authService.SelfAccess(liveUserID, incidentTag.ProfileID).Result;

            if (isAuthorizedForSelf)
            {
                entity.Incident teaser = Caster.MakeEntityTeaser(incidentTag);
                try
                {
                    if (incidentTag.MediaContent != null && incidentTag.MediaContent.Length > 0)
                    {
                        byte[] MediaContents = incidentTag.MediaContent;
                        teaser.MediaUri = new BlobAccess().UploadImage(MediaContents, Guid.NewGuid().ToString());
                    }
                }
                catch (Exception ex)
                {
                    Trace.TraceError(
                        string.Format("Error while saving the media contents for profile id: {0}; Error details: {1}",
                                      incidentTag.ProfileID, ex.Message));
                }

                _incidentAccess.RecordIncident(teaser);

                return(teaser.IncidentID);
            }
            return(null);
        }
Ejemplo n.º 2
0
 internal static contract.Incident MakeContractIncident(entity.Incident incident)
 {
     return(new contract.Incident
     {
         IncidentID = incident.IncidentID.Substring(incident.IncidentID.LastIndexOf("-") + 1),
         ProfileID = incident.ProfileID,
         Lat = incident.Latitude,
         Long = incident.Longitude,
         Alt = incident.Altitude,
         MediaUri = incident.MediaUri,
         DateTime = incident.DateTime,
         Type = incident.Type,
         AdditionalInfo = incident.AdditionalInfo,
         Name = incident.Name,
         MobileNumber =
             (!String.IsNullOrEmpty(incident.MobileNumber))
                 ? utility.Security.Decrypt(incident.MobileNumber)
                 : null
     });
 }