Sanjeev Raj

Sanjeev Raj

  • NA
  • 11
  • 486

How to generate Ref No on each raw

Jul 12 2023 11:00 AM

 async Task<string> GenerateTestResultRefNo(int SampleId)
        {
            var Location = _authenticationManager.GetAuthenticatedUser().Result.LabLocation;
            var ReportRefNo = string.Empty;
            var MaxJobRefNo = 0;
            int JobLabId = _dbContext.TblSample.Where(k => k.Id == (int)SampleId).Select(k => (int)k.LabId).FirstOrDefault();
            string CountryCode = _dbContext.MstLabLocation.Where(k => k.Id == JobLabId).Select(k => k.CountryCode).FirstOrDefault();
            string LabCode = _dbContext.MstLabLocation.Where(k => k.Id == JobLabId).Select(k => k.LabCode).FirstOrDefault();
            string StateCode = _dbContext.MstLabLocation.Where(k => k.Id == JobLabId).Select(k => k.StateCode).FirstOrDefault();
            string MergeReportRefNo ="IGI:"+ CountryCode + LabCode + ":TR:" + ApplicationData.AppDateToYear(ApplicationData.DefaultDateTime).ToString().Substring(2, 2) + ":";
            try
            {
                var SampleRefNoList = (from TblSampleLog in _dbContext.TblSampleReportHeader.Where(x => x.LabId == JobLabId)
                                       select new
                                       {
                                           ReportNo = TblSampleLog.ReportNo
                                       }).ToList();
                if (SampleRefNoList.ToList().Count == 0)
                {
                    ReportRefNo = MergeReportRefNo + "00001";
                    // IGI:INMUM:TR:23:00001
                }
                else
                {
                    var Max = SampleRefNoList.AsEnumerable().Select(k => new { SampleRefNo = int.Parse(k.ReportNo.Substring(16, 5)) }).Max(x => x.SampleRefNo);
                    MaxJobRefNo = Max + 1;
                    var MaxTransmitalString = "00000" + MaxJobRefNo.ToString();
                    var GenerateNo = MaxTransmitalString.Substring(MaxTransmitalString.Length - 5, 5);
                    //SampleRefNo = "INMUM" + "/" + GenerateNo.ToString().Trim();

                    ReportRefNo = MergeReportRefNo + GenerateNo.ToString().Trim();
                }
            }
            catch (Exception ex)
            {
                _logger.Error(ex.Message);
                ReportRefNo = string.Empty;
            }
            return await Task.Run(() =>
            {
                return ReportRefNo;
            });

        }

 


Answers (1)