Beispiel #1
0
        // Details: ClaimFiles/Details/5
        public ActionResult Details(int?id)
        {
            try
            {
                ParsedViewModel pvm = new ParsedViewModel();
                if (id == null)
                {
                    return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
                }
                ClaimFile claimFile = db.ClaimFiles.Find(id);
                if (claimFile == null)
                {
                    return(HttpNotFound());
                }
                int iFileID = (int)id;
                pvm.cf          = claimFile;
                pvm.cf.fh       = new FileHeader(iFileID);
                pvm.cf.fh.lsdch = new List <ClaimHeader>();
                pvm.lsCHTVM     = new List <ClaimHeaderTableViewModel>();
                List <FileFieldValue> lsClaims = db.FileFieldValues.Where(x => x.FileID == id && x.recordType == RecordType.ClaimHeader).ToList();
                for (int i = 0; i < pvm.cf.fh.NumberofClaims; i++)
                {
                    int iMinRecordSequence        = lsClaims.Min(x => x.recordSequence);
                    List <FileFieldValue> lsClaim = lsClaims.Where(x => x.recordSequence == iMinRecordSequence).ToList();

                    var ffvct = (from c in db.FileFieldValues
                                 join f in db.Fields on c.FieldID equals f.FieldID
                                 where f.Name == "STD_BATCH_TYPE_CODE" &&
                                 c.FileID == iFileID &&
                                 c.recordType == RecordType.ClaimHeader &&
                                 c.recordSequence == iMinRecordSequence
                                 select new { value = c.value });
                    string          sClaimTypeCode = ffvct.First().value;
                    ClaimLayoutType clt            = Utility.GetCLT(sClaimTypeCode);

                    Field                     fDCN   = db.Fields.Where(x => x.RecordType == RecordType.PaperHeader && x.ClaimType == clt && x.FileVersion == pvm.cf.fh.FileVersion && x.Name.Trim().ToUpper() == "ENDORSEMENT NUMBER").Single();
                    FileFieldValue            ffvDCN = db.FileFieldValues.Where(x => x.FieldID == fDCN.FieldID && x.FileID == id && x.recordSequence == iMinRecordSequence + 1).Single();
                    ClaimHeaderTableViewModel chtvm  = new ClaimHeaderTableViewModel(iFileID, pvm.cf.fh.FileVersion, ffvDCN.value, sClaimTypeCode, iMinRecordSequence);
                    pvm.lsCHTVM.Add(chtvm);
                    foreach (FileFieldValue ffv in lsClaim)
                    {
                        lsClaims.Remove(ffv);
                    }
                }

                return(View(pvm));
            }
            catch (Exception ex)
            {
                return(View("Error", new HandleErrorInfo(ex, "ClaimFiles", "Index")));
            }
        }
Beispiel #2
0
        private void SavePVMToDB(ParsedViewModel pvm)
        {
            try
            {
                List <FileFieldValue> ls = new List <FileFieldValue>();
                int iRecordSeq           = 0;
                int FileID = pvm.cf.FileID;
                foreach (Field f in pvm.cf.fh.lsFields)
                {
                    FileFieldValue ffv = new FileFieldValue();
                    ffv.FileID         = FileID;
                    ffv.FieldID        = f.FieldID;
                    ffv.value          = f.Value;
                    ffv.ts             = DateTime.Now;
                    ffv.recordType     = f.RecordType;
                    ffv.recordSequence = iRecordSeq;
                    ls.Add(ffv);
                }
                iRecordSeq++;
                foreach (ClaimHeader ch in pvm.cf.fh.lsdch)
                {
                    foreach (Field f in ch.lsFields)
                    {
                        FileFieldValue ffv = new FileFieldValue();
                        ffv.FileID         = FileID;
                        ffv.FieldID        = f.FieldID;
                        ffv.value          = f.Value;
                        ffv.ts             = DateTime.Now;
                        ffv.recordType     = f.RecordType;
                        ffv.recordSequence = iRecordSeq;
                        ls.Add(ffv);
                    }
                    iRecordSeq++;
                    foreach (Field f in ch.ph.lsFields)
                    {
                        FileFieldValue ffv = new FileFieldValue();
                        ffv.FileID         = FileID;
                        ffv.FieldID        = f.FieldID;
                        ffv.value          = f.Value;
                        ffv.ts             = DateTime.Now;
                        ffv.recordType     = f.RecordType;
                        ffv.recordSequence = iRecordSeq;
                        ls.Add(ffv);
                    }
                    iRecordSeq++;
                    foreach (ClaimDetail cd in ch.lscd)
                    {
                        foreach (Field f in cd.lsFields)
                        {
                            FileFieldValue ffv = new FileFieldValue();
                            ffv.FileID         = FileID;
                            ffv.FieldID        = f.FieldID;
                            ffv.value          = f.Value;
                            ffv.ts             = DateTime.Now;
                            ffv.recordType     = f.RecordType;
                            ffv.recordSequence = iRecordSeq;
                            ls.Add(ffv);
                        }
                        iRecordSeq++;
                        foreach (Field f in cd.pd.lsFields)
                        {
                            FileFieldValue ffv = new FileFieldValue();
                            ffv.FileID         = FileID;
                            ffv.FieldID        = f.FieldID;
                            ffv.value          = f.Value;
                            ffv.ts             = DateTime.Now;
                            ffv.recordType     = f.RecordType;
                            ffv.recordSequence = iRecordSeq;
                            ls.Add(ffv);
                        }
                        iRecordSeq++;
                    }
                }

                for (int i = 0; i < iRecordSeq; i++)
                {
                    Utility.SendProgress("Saving Claims to DB...", i, iRecordSeq);
                    using (SqlConnection sc = new SqlConnection(ConfigurationManager.ConnectionStrings["FESSiteContext"].ConnectionString))
                    {
                        sc.Open();
                        InsertFileFieldValues(sc, ls.Where(x => x.recordSequence == i));
                        sc.Close();
                    }
                }
                Utility.SendProgress("Saving Claims to DB...", iRecordSeq, iRecordSeq);
            }
            catch (Exception e)
            {
                Utility.SendProgress("Saving Claims to DB...", 1, 1);
                throw e;
            }
        }
Beispiel #3
0
 private void SavePVMToDB(ParsedViewModel pvm)
 {
     try
     {
         List <FileFieldValue> ls = new List <FileFieldValue>();
         int iRecordSeq           = 0;
         int FileID = pvm.cf.FileID;
         foreach (Field f in pvm.cf.fh.lsFields)
         {
             FileFieldValue ffv = new FileFieldValue();
             ffv.FileID         = FileID;
             ffv.FieldID        = f.FieldID;
             ffv.value          = f.Value;
             ffv.ts             = DateTime.Now;
             ffv.recordType     = f.RecordType;
             ffv.recordSequence = iRecordSeq;
             ls.Add(ffv);
         }
         iRecordSeq++;
         foreach (ClaimHeader ch in pvm.cf.fh.lsdch)
         {
             foreach (Field f in ch.lsFields)
             {
                 FileFieldValue ffv = new FileFieldValue();
                 ffv.FileID         = FileID;
                 ffv.FieldID        = f.FieldID;
                 ffv.value          = f.Value;
                 ffv.ts             = DateTime.Now;
                 ffv.recordType     = f.RecordType;
                 ffv.recordSequence = iRecordSeq;
                 ls.Add(ffv);
             }
             iRecordSeq++;
             foreach (Field f in ch.ph.lsFields)
             {
                 FileFieldValue ffv = new FileFieldValue();
                 ffv.FileID         = FileID;
                 ffv.FieldID        = f.FieldID;
                 ffv.value          = f.Value;
                 ffv.ts             = DateTime.Now;
                 ffv.recordType     = f.RecordType;
                 ffv.recordSequence = iRecordSeq;
                 ls.Add(ffv);
             }
             iRecordSeq++;
             foreach (ClaimDetail cd in ch.lscd)
             {
                 foreach (Field f in cd.lsFields)
                 {
                     FileFieldValue ffv = new FileFieldValue();
                     ffv.FileID         = FileID;
                     ffv.FieldID        = f.FieldID;
                     ffv.value          = f.Value;
                     ffv.ts             = DateTime.Now;
                     ffv.recordType     = f.RecordType;
                     ffv.recordSequence = iRecordSeq;
                     ls.Add(ffv);
                 }
                 iRecordSeq++;
                 foreach (Field f in cd.pd.lsFields)
                 {
                     FileFieldValue ffv = new FileFieldValue();
                     ffv.FileID         = FileID;
                     ffv.FieldID        = f.FieldID;
                     ffv.value          = f.Value;
                     ffv.ts             = DateTime.Now;
                     ffv.recordType     = f.RecordType;
                     ffv.recordSequence = iRecordSeq;
                     ls.Add(ffv);
                 }
                 iRecordSeq++;
             }
         }
         if (ls.Count > 0)
         {
             using (SqlConnection sc = new SqlConnection(ConfigurationManager.ConnectionStrings["FESSiteContext"].ConnectionString))
             {
                 sc.Open();
                 InsertFileFieldValues(sc, ls);
                 sc.Close();
             }
         }
     }
     catch (Exception e)
     {
         throw e;
     }
 }