public string GetCCMCycle(int patientId, int Cycle) { var CCMCycleStatus = _db.CCMCycleStatuses.Where(x => x.PatientId == patientId && x.Cycle == Cycle).FirstOrDefault(); if (CCMCycleStatus == null) { CCMCycleStatus cCMCycleStatus = new CCMCycleStatus(); cCMCycleStatus.PatientId = patientId; cCMCycleStatus.Cycle = Cycle; cCMCycleStatus.RejectedCount = 0; if (Cycle == 0) { cCMCycleStatus.CCMStatus = "In Progress"; cCMCycleStatus.CCMSubStatus = ""; } else { cCMCycleStatus.CCMStatus = "Enrolled"; cCMCycleStatus.CCMSubStatus = ""; } cCMCycleStatus.CreatedBy = User.Identity.GetUserId(); cCMCycleStatus.CreatedOn = DateTime.Now; _db.CCMCycleStatuses.Add(cCMCycleStatus); _db.SaveChanges(); return(cCMCycleStatus.CCMStatus); } else { return(CCMCycleStatus.CCMStatus); } //return HelperExtensions.GetCCMCycleStatus(patientId, Cycle, User.Identity.GetUserId()); }
private static string GetCCMCycleStatus(int patientId, int?cycle) { using (var _db = new ApplicationdbContect()) { var patient = _db.Patients.Where(x => x.Id == patientId).AsNoTracking().FirstOrDefault(); if (cycle == null) { if (patient != null) { cycle = patient.Cycle; } } int Cycle = cycle.GetInteger(); var CCMCycleStatus = _db.CCMCycleStatuses.Where(x => x.PatientId == patientId && x.Cycle == Cycle).FirstOrDefault(); if (CCMCycleStatus == null) { CCMCycleStatus cCMCycleStatus = new CCMCycleStatus(); cCMCycleStatus.PatientId = patientId; cCMCycleStatus.Cycle = Cycle; cCMCycleStatus.RejectedCount = 0; if (Cycle == 0) { cCMCycleStatus.CCMStatus = "In Progress"; cCMCycleStatus.CCMSubStatus = ""; } else { cCMCycleStatus.CCMStatus = "Enrolled"; cCMCycleStatus.CCMSubStatus = ""; } if (!string.IsNullOrEmpty(patient.EnrollmentSubStatus)) { if (patient.EnrollmentSubStatus != "Active Enrolled" && Cycle > 0) { cCMCycleStatus.CCMStatus = "Expired"; cCMCycleStatus.CCMSubStatus = ""; } } cCMCycleStatus.CreatedBy = User.Identity.GetUserId(); cCMCycleStatus.CreatedOn = DateTime.Now; _db.CCMCycleStatuses.Add(cCMCycleStatus); _db.SaveChanges(); return(cCMCycleStatus.CCMStatus); } else { if (!string.IsNullOrEmpty(patient.EnrollmentSubStatus)) { if (patient.EnrollmentSubStatus == "Active Enrolled") { if (CCMCycleStatus.CCMStatus != "Claims Submission" && CCMCycleStatus.CCMStatus != "Clinical Sign-Off" && CCMCycleStatus.CCMStatus != "Ready for Clinical Sign-Off" /*&& CCMCycleStatus.CCMStatus != "In Progress"*/) { CCMCycleStatus.CCMStatus = "Enrolled"; CCMCycleStatus.UpdatedOn = DateTime.Now; CCMCycleStatus.UpdatedBy = ""; _db.Entry(CCMCycleStatus).State = EntityState.Modified; _db.SaveChanges(); return("Enrolled"); } } else { if (CCMCycleStatus.CCMStatus != "Claims Submission" && CCMCycleStatus.CCMStatus != "Clinical Sign-Off" && CCMCycleStatus.CCMStatus != "Ready for Clinical Sign-Off" && CCMCycleStatus.CCMStatus != "In Progress") { CCMCycleStatus.CCMStatus = "Expired"; CCMCycleStatus.UpdatedOn = DateTime.Now; CCMCycleStatus.UpdatedBy = ""; _db.Entry(CCMCycleStatus).State = EntityState.Modified; _db.SaveChanges(); return("Expired"); } } var previouscycles = _db.CCMCycleStatuses.Where(x => x.PatientId == patientId && x.Cycle < Cycle && x.CCMStatus != "Claims Submission" && x.CCMStatus != "Clinical Sign-Off" && x.CCMStatus != "Ready for Clinical Sign-Off" && x.CCMStatus != "In Progress").ToList(); foreach (var item in previouscycles) { if (item.CCMStatus == "Enrolled") { item.CCMStatus = "Expired"; item.UpdatedOn = DateTime.Now; item.UpdatedBy = ""; _db.Entry(item).State = EntityState.Modified; _db.SaveChanges(); } } } else { if (patient.EnrollmentSubStatus == "Active Enrolled") { if (CCMCycleStatus.CCMStatus != "Claims Submission" && CCMCycleStatus.CCMStatus != "Clinical Sign-Off" && CCMCycleStatus.CCMStatus != "Ready for Clinical Sign-Off" /*&& CCMCycleStatus.CCMStatus != "In Progress"*/) { CCMCycleStatus.CCMStatus = "Enrolled"; CCMCycleStatus.UpdatedOn = DateTime.Now; CCMCycleStatus.UpdatedBy = ""; _db.Entry(CCMCycleStatus).State = EntityState.Modified; _db.SaveChanges(); return("Enrolled"); } } else { if (CCMCycleStatus.CCMStatus != "Claims Submission" && CCMCycleStatus.CCMStatus != "Clinical Sign-Off" && CCMCycleStatus.CCMStatus != "Ready for Clinical Sign-Off" && CCMCycleStatus.CCMStatus != "In Progress") { CCMCycleStatus.CCMStatus = "Expired"; CCMCycleStatus.UpdatedOn = DateTime.Now; CCMCycleStatus.UpdatedBy = ""; _db.Entry(CCMCycleStatus).State = EntityState.Modified; _db.SaveChanges(); return("Expired"); } } var previouscycles = _db.CCMCycleStatuses.Where(x => x.PatientId == patientId && x.Cycle < Cycle && x.CCMStatus != "Claims Submission" && x.CCMStatus != "Clinical Sign-Off" && x.CCMStatus != "Ready for Clinical Sign-Off" && x.CCMStatus != "In Progress").ToList(); foreach (var item in previouscycles) { if (item.CCMStatus == "Enrolled") { item.CCMStatus = "Expired"; item.UpdatedOn = DateTime.Now; item.UpdatedBy = ""; _db.Entry(item).State = EntityState.Modified; _db.SaveChanges(); } } } return(CCMCycleStatus.CCMStatus); } } }