public async Task <int> AddCPs(int ReleaseID) { IEnumerable <CP> CPs = null; int count = 0; using (ICPRepository db = new CPRepository()) { CPs = db.Get().Where(cp => cp.EffectiveDate <DateTime.Today.Date && cp.ExpirationDate> DateTime.Today.Date && cp.IsDeleted == false); } using (IReleaseCPRepository db = new ReleaseCPRepository()) { IList <ReleaseCP> ReleaseCP = new List <ReleaseCP>(); CPs.ToList().ForEach(cp => ReleaseCP.Add(new ReleaseCP() { CPID = cp.CPID, ReleaseID = ReleaseID, ExceptionIndicator = false, IsDeleted = false })); db.AddRange(ReleaseCP); count += await db.SaveAsync((WindowsPrincipal)User); } return(count); }
public async Task <JsonResult> publishCP(int CPID, int ReleaseID, bool ChangeRiskLevel = false) { try { CP currentCP; IEnumerable <ReleaseChecklistAnswer> InitiatedQuestion = null; int count = 0; using (ICPRepository db = new CPRepository()) { currentCP = db.Where(cp => cp.CPID == CPID).Include(cp => cp.Milestone).Include(cp => cp.Milestone.ReleaseMilestones).FirstOrDefault(); } using (IReleaseChecklistAnswerRepository db = new ReleaseChecklistAnswerRepository()) { var cpDate = currentCP.Milestone.ReleaseMilestones.Where(rm => rm.ReleaseID == ReleaseID).FirstOrDefault().MilestoneDate; InitiatedQuestion = cpDate != null?db.Where(s => s.RiskLevelID == RiskLevels.Initiated && s.HandlingStartDate <= cpDate && s.ReleaseID == ReleaseID).ToList() : null; int AllQuestion = db.Where(s => s.HandlingStartDate <= cpDate && s.ReleaseID == ReleaseID).Count(); if (InitiatedQuestion != null && InitiatedQuestion.Count() > 0) { if (ChangeRiskLevel) { InitiatedQuestion.ToList().ForEach(q => { q.RiskLevelID = RiskLevels.High; q.HandlingStartDate = DateTime.Today; }); count += await db.SaveAsync((WindowsPrincipal)User); //(WindowsPrincipal)User); // ViewStatus(ReleaseID); } return(Json(new { Result = "ExistQuestions", IsChanged = ChangeRiskLevel, IsUpdated = true })); } return(Json(new { Result = "NotExistQuestions", TotalCPQuestion = AllQuestion })); } } catch (Exception ex) { throw; } }