Beispiel #1
0
        public string AddTimeoutExpiry(CHCNotificationTimeoutRequest cnData)
        {
            try
            {
                string stProc = MoveTimeoutExpiry;
                var    pList  = new List <SqlParameter>
                {
                    new SqlParameter("@BarcodeNo", cnData.barcodeNo ?? cnData.barcodeNo),
                    new SqlParameter("@UserId", cnData.userId),
                };
                UtilityDL.ExecuteNonQuery(stProc, pList);

                return("Samples successfully moved to timeout expiry");
            }
            catch (Exception e)
            {
                throw e;
            }
        }
Beispiel #2
0
 public ActionResult <CHCTimeoutResponse> MoveTimeoutExpiry(CHCNotificationTimeoutRequest cnData)
 {
     try
     {
         _logger.LogInformation($"Invoking endpoint: {this.HttpContext.Request.GetDisplayUrl()}");
         _logger.LogDebug($"Request - moving samples to timeout expiry - {JsonConvert.SerializeObject(cnData)}");
         var sampleStatus = _chcNotificationsService.MoveTimeout(cnData);
         _logger.LogInformation($"Sample successfully moved to sample timout expiry - {sampleStatus}");
         _logger.LogDebug($"Response - moving samples to timeout expiry - {JsonConvert.SerializeObject(sampleStatus)}");
         return(new CHCTimeoutResponse {
             Status = sampleStatus.Status, Message = sampleStatus.Message
         });
     }
     catch (Exception ex)
     {
         _logger.LogError($"Failed to move sample data into timout expiry - {ex.StackTrace}");
         return(new CHCTimeoutResponse {
             Status = "false", Message = ex.Message
         });
     }
 }
Beispiel #3
0
        public CHCTimeoutResponse MoveTimeout(CHCNotificationTimeoutRequest cnData)
        {
            CHCTimeoutResponse response = new CHCTimeoutResponse();

            try
            {
                if (cnData.userId <= 0)
                {
                    response.Status  = "false";
                    response.Message = "Invalid user id";
                }
                else if (string.IsNullOrEmpty(cnData.barcodeNo))
                {
                    response.Status  = "false";
                    response.Message = "Barcode is missing";
                }
                else
                {
                    var result = _chcNotificationsData.AddTimeoutExpiry(cnData);

                    if (string.IsNullOrEmpty(result))
                    {
                        response.Status  = "false";
                        response.Message = "Unable to move timeout expiry samples";
                    }
                    else
                    {
                        if (cnData.barcodeNo.Length > 0)
                        {
                            List <string> barcodeList = cnData.barcodeNo.Split(',').ToList();
                            foreach (var sample in barcodeList)
                            {
                                var smsSampleDetails = _sampleCollectionData.FetchSMSSamplesByBarcode(sample);
                                if (!string.IsNullOrEmpty(smsSampleDetails.barcodeNo))
                                {
                                    var subjectMobileNo = smsSampleDetails.subjectMobileNo;
                                    var subjectName     = smsSampleDetails.subjectName;
                                    var anmName         = smsSampleDetails.anmName;
                                    var anmMobileNo     = smsSampleDetails.anmMobileNo;
                                    var 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);
                                }
                            }
                        }

                        response.Status  = "true";
                        response.Message = result;
                    }
                }
            }
            catch (Exception e)
            {
                response.Status  = "false";
                response.Message = e.Message;
            }
            return(response);
        }