示例#1
0
        public async Task <CHCReceivedShipmentResponse> AddReceivedShipment(AddCHCShipmentReceiptRequest chcSRRequest)
        {
            CHCReceivedShipmentResponse rsResponse = new CHCReceivedShipmentResponse();
            List <BarcodeSampleDetail>  barcodes   = new List <BarcodeSampleDetail>();
            var barcodeNo  = "";
            var shipmentId = "";

            try
            {
                //var msg = CheckValidation(chcSRRequest);
                //if (msg == "")
                //{
                foreach (var sample in chcSRRequest.shipmentReceivedRequest)
                {
                    var slist = new BarcodeSampleDetail();
                    barcodeNo  = sample.barcodeNo;
                    shipmentId = sample.shipmentId;
                    _chcReceiptData.AddReceivedShipment(sample);

                    if (sample.sampleDamaged == true || sample.sampleTimeout == true)
                    {
                        var smsSampleDetails = _sampleCollectionData.FetchSMSSamplesByBarcode(sample.barcodeNo);
                        if (!string.IsNullOrEmpty(smsSampleDetails.barcodeNo))
                        {
                            var subjectMobileNo = smsSampleDetails.subjectMobileNo;
                            var subjectName     = smsSampleDetails.subjectName;
                            var anmName         = smsSampleDetails.anmName;
                            var anmMobileNo     = smsSampleDetails.anmMobileNo;
                            barcodeNo = smsSampleDetails.barcodeNo;

                            var smsToANMURL   = _config.GetSection("RegistrationSamplingOdiyaSMStoSubject").GetSection("SMStoANMSampleTimeoutDamaged").Value;
                            var smsURLANMLink = smsToANMURL.Replace("#MobileNo", subjectMobileNo).Replace("#SubjectName", subjectName).Replace("#BarcodeNo", barcodeNo).Replace("#ANMName", anmName).Replace("#ANMMobile", anmMobileNo);
                            GetResponse(smsURLANMLink);

                            var smsToSubjectURL   = _config.GetSection("RegistrationSamplingOdiyaSMStoSubject").GetSection("SMStoSubjectSampleTimeoutDamaged").Value;
                            var smsURLSubjectLink = smsToSubjectURL.Replace("#MobileNo", subjectMobileNo).Replace("#SubjectName", subjectName).Replace("#BarcodeNo", barcodeNo).Replace("#ANMName", anmName).Replace("#ANMMobile", anmMobileNo);
                            GetResponse(smsURLSubjectLink);
                        }
                    }

                    slist.barcodeNo = sample.barcodeNo;
                    barcodes.Add(slist);
                }
                rsResponse.Status   = "true";
                rsResponse.Message  = barcodes.Count + " Samples received successfully in shipment id: " + shipmentId;
                rsResponse.Barcodes = barcodes;
                //}
                //else
                //{

                //}
            }
            catch (Exception e)
            {
                rsResponse.Status   = "false";
                rsResponse.Message  = "Partially " + barcodes.Count + " samples received successfully, From this (" + barcodeNo + ") onwards not received. " + e.Message;
                rsResponse.Barcodes = barcodes;
            }
            return(rsResponse);
        }
示例#2
0
        public async Task <IActionResult> AddMultipleSamples(AddCHCShipmentReceiptRequest chcSRRequest)
        {
            _logger.LogInformation($"Invoking endpoint: {this.HttpContext.Request.GetDisplayUrl()}");
            _logger.LogDebug($"Request - Add Received shipments to add samples for verification  - {JsonConvert.SerializeObject(chcSRRequest)}");
            var rsResponse = await _chcReceiptService.AddReceivedShipment(chcSRRequest);

            _logger.LogInformation($" Add Received shipments to add samples for verification{rsResponse}");
            _logger.LogDebug($"Respone -Add Received shipments to add samples for verification- {JsonConvert.SerializeObject(rsResponse)}");
            return(Ok(new CHCReceivedShipmentResponse
            {
                Status = rsResponse.Status,
                Message = rsResponse.Message,
                Barcodes = rsResponse.Barcodes,
            }));
        }
示例#3
0
        public string CheckValidation(AddCHCShipmentReceiptRequest chcSRRequest)
        {
            var message = "";
            var count   = 0;

            foreach (var sample in chcSRRequest.shipmentReceivedRequest)
            {
                count += 1;
                if (sample.receivedDate == "")
                {
                    message = "No: " + count + " sample received date is missing";
                }

                if (sample.proceesingDateTime == "")
                {
                    message = "No: " + count + " sample processing date and time is missing";
                }
            }
            return(message);
        }