Esempio n. 1
0
        public void DeleteTempBlobByTracer(int tracerCustomID, int userID)
        {
            //Azure settings

            CloudBlobContainer container = azureContainer();
            CloudBlockBlob     _blockBlob;

            TracerService service = new TracerService();

            //GetTempImagestoClean
            List <ApiGetTracerImagesTempReturnModel> _result = service.GetTempImagestoClean(tracerCustomID, userID);

            if (_result.Count > 0)
            {
                //delete blob from container
                foreach (var tempImage in _result)
                {
                    //delete Actual Image
                    _blockBlob = container.GetBlockBlobReference("Actual/" + tempImage.SiteID + "/" + tempImage.ProgramID + "/" + tempImage.TracerCustomID + "/" + tempImage.ImageName);
                    _blockBlob.Delete();
                    //delete Thumb Image
                    _blockBlob = container.GetBlockBlobReference("Thumb/" + tempImage.SiteID + "/" + tempImage.ProgramID + "/" + tempImage.TracerCustomID + "/" + tempImage.ImageName);
                    _blockBlob.Delete();
                }
            }
        }
Esempio n. 2
0
        public HttpResponseMessage GetTaskList(string standardEffDate, int?siteId, int?programId, int?assignedToUserId, int?assignedByUserId)
        {
            try
            {
                var taskList = TaskServices.GetTaskList(standardEffDate, siteId, programId, assignedToUserId, assignedByUserId);

                if (taskList != null)
                {
                    taskList.ForEach(m =>
                    {
                        m.TaskName   = (m.TaskName.Length > 25 ? m.TaskName.Substring(0, 24) + "...." : m.TaskName);
                        m.TracerName = (m.TracerName.Trim().EndsWith("-") ? m.TracerName.Trim().Replace("-", "") : m.TracerName);
                        m.Std        = m.TaskTypeID == 5 & m.TracerResponseID > 0 ? TracerService.GetAllsStdsByTracerQuestion(m.TracerCustomID, m.TracerResponseID, m.TracerQuestionID, false) : m.Std;
                    });

                    return(Request.CreateResponse(HttpStatusCode.OK, taskList));
                }

                return(Request.CreateErrorResponse(HttpStatusCode.NotFound, "No Tasks Found"));
            }
            catch (Exception ex)
            {
                ex.Data.Add("SiteID", siteId);
                ex.Data.Add("HTTPReferrer", "JCRAPI/TaskInfo/GetTaskList");
                WebExceptionHelper.LogException(ex, null);
                return(null);
            }
        }
Esempio n. 3
0
        public DebugViewModel(TracerService tracerService_)
        {
            tracerService = tracerService_;

            Title = "Debug";

            var key     = tracerService.Key;
            var dayKey  = key.DerivateDailyKey(Date.Today);
            var hourKey = dayKey.DerivateHourlyKey(DateHour.Now);

            TracerKey      = key.ToHumanReadableString();
            CurrentDayKey  = dayKey.ToHumanReadableString();
            CurrentHourKey = hourKey.ToHumanReadableString();

            var stats = tracerService.Contacts.GetStats();

            ContactCount = (int)stats["contacts.Count"];
            CaseCount    = (int)stats["cases.Count"];

            // Adds the messages from the backlog.
            lock (Logger.Backlog) {
                foreach (var message in Logger.Backlog)
                {
                    OnNewMessage(message);
                }

                Logger.NewMessage += OnNewMessage;
            }
        }
Esempio n. 4
0
        public IHttpActionResult APICalls([FromBody] APIPerformance APIEndtoEnd)
        {
            if (APIEndtoEnd == null)
            {
                return(new StatusCodeResult(System.Net.HttpStatusCode.BadRequest, this.Request));
            }
            var loader = new TracerService();
            var result = loader.APIPerformace(new APITrace()
            {
                RunId         = APIEndtoEnd.runId,
                CallId        = APIEndtoEnd.callId,
                DurationInMS  = APIEndtoEnd.responseTime,
                Method        = APIEndtoEnd.method,
                Url           = APIEndtoEnd.url,
                CorrelationId = APIEndtoEnd.correlationId,
                Status        = APIEndtoEnd.statusCode,
                Argument      = APIEndtoEnd.argument,
                Body          = APIEndtoEnd.body,
                Response      = APIEndtoEnd.response
            });

            if (result)
            {
                return(Ok());
            }
            else
            {
                return(new StatusCodeResult(System.Net.HttpStatusCode.InternalServerError, this.Request));
            }
        }
Esempio n. 5
0
        public AboutPage(TracerService tracerService_)
        {
            tracerService = tracerService_;

            BindingContext = new AboutViewModel(tracerService);

            InitializeComponent();
        }
Esempio n. 6
0
        public AboutViewModel(TracerService tracerService_)
        {
            tracerService = tracerService_;

            Title = "Informations";

            TracerKey = tracerService.Key.ToHumanReadableString();
        }
Esempio n. 7
0
        public MainPage(TracerService tracerService_)
        {
            tracerService = tracerService_;

            BindingContext = new MainViewModel(tracerService.Contacts);

            InitializeComponent();
        }
Esempio n. 8
0
        //
        // This method is invoked when the application has loaded and is ready to run. In this
        // method you should instantiate the window, load the UI into it and then make the window
        // visible.
        //
        // You have 17 seconds to return from this method, or iOS will terminate your application.
        //
        public override bool FinishedLaunching(UIApplication app, NSDictionary options)
        {
            var tracerService = new TracerService(new IOSBLEServer());

            Action tracerServiceStart = () => { tracerService.Start(); };

            global::Xamarin.Forms.Forms.Init();
            LoadApplication(new App(tracerService, tracerServiceStart));

            return(base.FinishedLaunching(app, options));
        }
Esempio n. 9
0
        public IHttpActionResult APIErrorLogger([FromUri] Guid RunId, [FromBody] string Error)
        {
            var loader  = new TracerService();
            var success = loader.APIErrorLogger(RunId, Error);

            if (success)
            {
                return(Ok());
            }
            else
            {
                return(new StatusCodeResult(System.Net.HttpStatusCode.InternalServerError, this.Request));
            }
        }
Esempio n. 10
0
        public IHttpActionResult TracingReport([FromUri] Guid RunId, [FromUri] string CompletedAt)
        {
            var loader = new TracerService();
            var report = loader.TracingReport(RunId, CompletedAt);

            if (report != null)
            {
                return(Json(report));
            }
            else
            {
                return(new StatusCodeResult(System.Net.HttpStatusCode.InternalServerError, this.Request));
            }
        }
Esempio n. 11
0
        public IHttpActionResult Report(Guid runId)
        {
            var loader = new TracerService();
            var report = loader.GetReport(runId);

            if (report != null)
            {
                return(Json(report));
            }
            else
            {
                return(new StatusCodeResult(System.Net.HttpStatusCode.InternalServerError, this.Request));
            }
        }
Esempio n. 12
0
        public DebugPage(TracerService tracerService_)
        {
            tracerService = tracerService_;

            var vm = new DebugViewModel(tracerService);

            BindingContext = vm;

            InitializeComponent();

            foreach (var item in vm.MessageItems)
            {
                OnNewMessageItem(item);
            }

            vm.NewMessageItem += OnNewMessageItem;
        }
Esempio n. 13
0
        public IHttpActionResult CreateTracing([FromBody] Tracer Tracer)
        {
            if (Tracer == null)
            {
                return(new StatusCodeResult(System.Net.HttpStatusCode.BadRequest, this.Request));
            }
            var loader  = new TracerService();
            var success = loader.InitializeMaster(Tracer);

            if (success)
            {
                return(Ok());
            }
            else
            {
                return(new StatusCodeResult(System.Net.HttpStatusCode.InternalServerError, this.Request));
            }
        }
Esempio n. 14
0
        public HttpResponseMessage GuestLinkAccessed(int userId, Guid guestLinkGuid)
        {
            TracerService tracerService = new TracerService();

            try
            {
                tracerService.InsertGuestLinkAccessed(userId, guestLinkGuid);

                return(Request.CreateResponse(HttpStatusCode.OK, "Success"));
            }
            catch (Exception ex)
            {
                ex.Data.Add("GuestLinkAccessed", guestLinkGuid);
                ex.Data.Add("HTTPReferrer", "JCRAPI/post/guestlinkaccessed");
                WebExceptionHelper.LogException(ex, null);
                return(null);
            }
        }
Esempio n. 15
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            Xamarin.Essentials.Platform.Init(this, savedInstanceState);

            // Starts the UI

            ToolbarResource = Resource.Layout.Toolbar; // Needed ?
            global::Xamarin.Forms.Forms.Init(this, savedInstanceState);

            if (TracerService == null)
            {
                var bleServer = new AndroidBLEServer(this.ApplicationContext);
                TracerService = new TracerService(bleServer);
            }

            app = new App(TracerService, StartTracerService);

            LoadApplication(app);
        }
Esempio n. 16
0
        /** Starts the CovidTracer mobile app.
         *
         * Accepts an action that will be called by the app when the
         * `TracerService` instance shall be started in the platform specific
         * background-process system (by calling the `Start()` method).
         * E.g. on Android, the action will call `TracerService.Start()` in a
         * `Service` process.
         */
        public App(TracerService tracerService_, Action startTracerService)
        {
            TracerService = tracerService_;

            InitializeComponent();

            // Opens the onboarding page if it's the first time the app is
            // opened. Starts the tracer service only if the user went through
            // the onboarding process, as this will trigger permission requests.

            if (Preferences.Get(ONBOARDING_DONE_KEY, false))
            {
                StartApp(startTracerService);
            }
            else
            {
                MainPage = new OnboardingPage(() => {
                    Preferences.Set(ONBOARDING_DONE_KEY, true);
                    StartApp(startTracerService);
                });
            }
        }
Esempio n. 17
0
        public IHttpActionResult APITestCase([FromBody] Integration.Model.APITestCase APITestCase)
        {
            if (APITestCase == null)
            {
                return(new StatusCodeResult(System.Net.HttpStatusCode.BadRequest, this.Request));
            }
            var loader = new TracerService();
            var result = loader.APITestCase(new Models.APITestCase()
            {
                APITraceCallId = APITestCase.callId,
                API            = APITestCase.api,
                Url            = APITestCase.url,
                FailedTestCase = APITestCase.failedTestCase
            });

            if (result)
            {
                return(Ok());
            }
            else
            {
                return(new StatusCodeResult(System.Net.HttpStatusCode.InternalServerError, this.Request));
            }
        }
Esempio n. 18
0
        public DetailsPage(TracerService tracerService, bool isDebug)
        {
            BindingContext = new DetailsViewModel(tracerService.Contacts);

            InitializeComponent();
        }
Esempio n. 19
0
        public static async Task <FileUploadResult> UploadToAzure(Stream streamImg, int userID, int siteID, int programID, int tracerID, int tracerResponseID, int tracerQuestionID, string fileName, bool rotateImage = false, int clockRotation = 0)
        {
            Bitmap sourceImage = new Bitmap(streamImg);
            double imgHeight   = sourceImage.Size.Height;
            double imgWidth    = sourceImage.Size.Width;

            var container = azureContainer();
            await container.CreateIfNotExistsAsync();

            //Actual Image Start

            CloudBlockBlob blob = container.GetBlockBlobReference("Actual/" + siteID + "/" + programID + "/" + tracerID + "/" + fileName);
            //minimise actual image size as required.
            double x         = imgWidth / 1000;
            int    newWidth  = Convert.ToInt32(imgWidth / x);
            int    newHeight = Convert.ToInt32(imgHeight / x);

            rotateImage = false;
            if (imgWidth <= newWidth)
            {
                blob.Properties.ContentType = MimeMapping.GetMimeMapping(fileName); // contentType;
                if (rotateImage && clockRotation > 0)
                {
                    switch (clockRotation)
                    {
                    case 90:
                    default:
                        sourceImage.RotateFlip(RotateFlipType.Rotate90FlipNone);
                        break;

                    case 180:
                        sourceImage.RotateFlip(RotateFlipType.Rotate180FlipNone);
                        break;

                    case 270:
                        sourceImage.RotateFlip(RotateFlipType.Rotate270FlipNone);
                        break;
                    }


                    MemoryStream memoryStream = new MemoryStream();
                    sourceImage.Save(memoryStream, GetImageFormat(fileName));
                    memoryStream.Position = 0;
                    blob.UploadFromStream(memoryStream);
                }
                else
                {
                    streamImg.Position = 0;
                    blob.UploadFromStream(streamImg);
                }
            }
            else
            {
                imageUpload(newWidth, newHeight, blob, sourceImage, fileName, rotateImage, clockRotation);
            }

            //Actual Image End

            //Resize Image Start

            blob = container.GetBlockBlobReference("Thumb/" + siteID + "/" + programID + "/" + tracerID + "/" + fileName);

            // Getting Decreased Size
            x         = imgWidth / 200;
            newWidth  = Convert.ToInt32(imgWidth / x);
            newHeight = Convert.ToInt32(imgHeight / x);

            if (imgWidth <= newWidth)
            {
                blob.Properties.ContentType = MimeMapping.GetMimeMapping(fileName);
                if (rotateImage && clockRotation > 0)
                {
                    switch (clockRotation)
                    {
                    case 90:
                    default:
                        sourceImage.RotateFlip(RotateFlipType.Rotate90FlipNone);
                        break;

                    case 180:
                        sourceImage.RotateFlip(RotateFlipType.Rotate180FlipNone);
                        break;

                    case 270:
                        sourceImage.RotateFlip(RotateFlipType.Rotate270FlipNone);
                        break;
                    }


                    MemoryStream memoryStream = new MemoryStream();
                    sourceImage.Save(memoryStream, GetImageFormat(fileName));
                    memoryStream.Position = 0;
                    blob.UploadFromStream(memoryStream);
                }
                else
                {
                    streamImg.Position = 0;
                    blob.UploadFromStream(streamImg);
                }
            }
            else
            {
                imageUpload(newWidth, newHeight, blob, sourceImage, fileName, rotateImage, clockRotation);
            }
            var tempImageID = 0;

            TracerService service = new TracerService();

            tempImageID = service.TracerTempImage(siteID, programID, tracerID, tracerQuestionID, fileName, userID);

            if (tracerResponseID > 0)
            {
                service.TracerImage(tracerQuestionID, tracerResponseID, tempImageID.ToString(), userID);
            }

            //Resize Image End
            return(new FileUploadResult
            {
                AzureFilePath = "",
                FileName = fileName,
                IsFileUploaded = true,
                Message = "Success",
                TempImageID = tempImageID
            });
        }
Esempio n. 20
0
 public UploadController()
 {
     tracerService = new TracerService();
     TRepository   = new TrackingRepository();
 }
Esempio n. 21
0
 public TaskController()
 {
     tracerService = new TracerService();
 }