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); }
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 }); }