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