Exemple #1
0
        public async Task <IActionResult> AddSample(AddSampleCollectionRequest scData)
        {
            _logger.LogInformation($"Invoking endpoint: {this.HttpContext.Request.GetDisplayUrl()}");
            _logger.LogDebug($"Collecting sample of subject - {JsonConvert.SerializeObject(scData)}");
            var subjectSample = await _sampleCollectionService.AddSample(scData);

            return(Ok(new ServiceResponse
            {
                Status = subjectSample.Status,
                Message = subjectSample.Message,
            }));
        }
Exemple #2
0
 public BabySampleCollection AddSample(AddSampleCollectionRequest scData)
 {
     try
     {
         string stProc = AddSampleCollection;
         var    pList  = new List <SqlParameter>
         {
             new SqlParameter("@BabySubjectId", scData.babySubjectId ?? scData.babySubjectId),
             new SqlParameter("@HospitalId", scData.hospitalId),
             new SqlParameter("@BarcodeNo", scData.barcodeNo ?? scData.barcodeNo),
             new SqlParameter("@SampleCollectionDate", scData.sampleCollectionDate ?? scData.sampleCollectionDate),
             new SqlParameter("@SampleCollectionTime", scData.sampleCollectionTime ?? scData.sampleCollectionTime),
             new SqlParameter("@CollectedBy", scData.collectedBy),
         };
         var samplecollection = UtilityDL.FillEntity <BabySampleCollection>(stProc, pList);
         return(samplecollection);
     }
     catch (Exception e)
     {
         throw e;
     }
 }
Exemple #3
0
        public async Task <ServiceResponse> AddSample(AddSampleCollectionRequest scData)
        {
            ServiceResponse sResponse = new ServiceResponse();

            try
            {
                if (string.IsNullOrEmpty(scData.babySubjectId))
                {
                    sResponse.Status  = "false";
                    sResponse.Message = "Baby subjectid is missing";
                    return(sResponse);
                }
                if (string.IsNullOrEmpty(scData.barcodeNo))
                {
                    sResponse.Status  = "false";
                    sResponse.Message = "Barcode is missing";
                    return(sResponse);
                }
                if (string.IsNullOrEmpty(scData.sampleCollectionDate))
                {
                    sResponse.Status  = "false";
                    sResponse.Message = "Sample collection date is missing";
                    return(sResponse);
                }
                if (string.IsNullOrEmpty(scData.sampleCollectionTime))
                {
                    sResponse.Status  = "false";
                    sResponse.Message = "Sample collection time is missing";
                    return(sResponse);
                }
                if (scData.hospitalId <= 0)
                {
                    sResponse.Status  = "false";
                    sResponse.Message = "Invalid hospitalId";
                    return(sResponse);
                }
                if (scData.collectedBy <= 0)
                {
                    sResponse.Status  = "false";
                    sResponse.Message = "Invalid collection by data";
                    return(sResponse);
                }

                var barcode = _sampleCollectionData.FetchBarcode(scData.barcodeNo);
                if (barcode.Count <= 0)
                {
                    var result = _sampleCollectionData.AddSample(scData);
                    sResponse.Status  = result.collectStatus.ToString();
                    sResponse.Message = result.msg;
                    return(sResponse);
                }
                else
                {
                    sResponse.Status  = "false";
                    sResponse.Message = $" This barcode no- {scData.barcodeNo} is already associated with another baby subject";
                    return(sResponse);
                }
            }
            catch (Exception e)
            {
                sResponse.Status  = "false";
                sResponse.Message = $"Unable to collect sample for this baby subjectid - {scData.babySubjectId} - {e.Message}";
                return(sResponse);
            }
        }