public ApproveByJudgeStatus ApproveSessionByJudge(int SessionID, int CaseID) { try { if (!DefSessionLogComp.IsPresenceSaved(SessionID) || !VictimsSessionLogComp.IsPresenceSaved(SessionID)) { return(ApproveByJudgeStatus.Failed_DefectsPresence); } if (!DecisionsComp.IsDecisionSaved(SessionID)) { return(ApproveByJudgeStatus.Failed_Decision); } if (!SessionsComp.IsSessionMinutesSaved(SessionID)) { return(ApproveByJudgeStatus.Failed_Decision); } if (!AttachementComp.IsAttachementsSaved(CaseID)) { return(ApproveByJudgeStatus.Failed_Decision); } SessionsComp.ApproveSessionByJudge(SessionID); // update case status after approve in table cases return(ApproveByJudgeStatus.SessionApprovedSuccessfully); } catch (Exception ex) { HandleException(ex); return(ApproveByJudgeStatus.Failed); } }
public ApproveByJudgeStatus SendSessionToJudge(int SessionID, int CaseID) { try { if (!AttachementComp.IsAttachementsSaved(CaseID)) { return(ApproveByJudgeStatus.Failed_Attachements); } if (!DefSessionLogComp.IsPresenceSaved(SessionID) || !VictimsSessionLogComp.IsPresenceSaved(SessionID)) { return(ApproveByJudgeStatus.Failed_DefectsPresence); } if (!SessionsComp.IsSessionMinutesSaved(SessionID)) { return(ApproveByJudgeStatus.Failed_Session); } if (!DecisionsComp.IsDecisionSaved(SessionID)) { return(ApproveByJudgeStatus.Failed_Decision); } SessionsComp.SendSessionToJudge(SessionID); return(ApproveByJudgeStatus.SessionSentSuccessfully); } catch (Exception ex) { HandleException(ex); return(ApproveByJudgeStatus.Failed); } }
public vw_CaseData GetCaseData(int CaseID) { vw_CaseData CaseFulldata = new vw_CaseData(); CaseFulldata.CaseBasicData = CaseComponent.GetCaseData(CaseID); CaseFulldata.Defendants = DefendantsComp.GetDefendantsByCaseID(CaseID); CaseFulldata.Victims = VictimsComp.GetVictimsByCaseID(CaseID); CaseFulldata.CaseDecision = DecisionsComp.GetCaseDecisions(CaseID); CaseFulldata.CaseSessions = SessionsComp.GetSessionDataByCaseID(CaseID); CaseFulldata.OrderOfAssignment = OrderOfAssignmentComponent.GetOrderByID(CaseID); // CaseFulldata.CaseDescription = DescComponent .GetCaseDescriptionByCaseID (CaseID); List <vw_Documents> Doc = AttachComponent.GetDocuments(CaseID, null, null).ToList(); List <vw_CaseDocuments> Documents = new List <vw_CaseDocuments>(); foreach (vw_Documents d in Doc) { Documents.Add(new vw_CaseDocuments { DocumentID_Guid = d.ID, DocumentName = d.DocumentTitle }); } CaseFulldata.Documents = Documents; return(CaseFulldata); }
public bool IsDecisionSaved(int CaseID, int SessionID) { vw_CaseDecision CD = new vw_CaseDecision(); List <vw_CaseDecision> Decisions = DecisionsComp.GetCaseDecisions(CaseID); CD = Decisions.Where(x => x.CaseSessionID == SessionID).FirstOrDefault(); if (CD == null) { return(false); } else { return(true); } }
vw_CaseDecision IDecisionService.GetCaseLastDecision(int CaseID, int SessionID) { vw_CaseDecision CD = new vw_CaseDecision(); List <vw_CaseDecision> Decisions = DecisionsComp.GetCaseDecisions(CaseID); CD = Decisions.Where(x => x.CaseSessionID == SessionID).FirstOrDefault(); if (CD.DecisionTypeID == (int)DecisionTypes.L1_Guilty || CD.DecisionTypeID == (int)DecisionTypes.L1_NotGuilty) { CD.DefendantsListJudges = DefentantsComp.GetSessionDefendantsDecision(SessionID); } if (CD.DecisionTypeID == (int)DecisionTypes.L2_Experts || CD.DecisionTypeID == (int)DecisionTypes.L2_Forensic || CD.DecisionTypeID == (int)DecisionTypes.L2_Investigations || CD.DecisionTypeID == (int)DecisionTypes.L3_Postponed) { CD.NextSessionDate = RollsComp.GetSessionDate((int)CD.RollID); CD.CycleRollID = (int)RollsComp.GetCircuitRolls((int)CD.OldCircuitID).Where(z => z.Date == CD.NextSessionDate).Select(x => x.ID).FirstOrDefault(); if (CD.DecisionTypeID == (int)DecisionTypes.L3_Postponed) { if (IsReservedForJudge(CaseID)) { CD.ReservedForJudgement = true; } else { CD.ReservedForJudgement = false; } } } if (CD.DecisionTypeID == (int)DecisionTypes.L2_Experts || CD.DecisionTypeID == (int)DecisionTypes.L2_Forensic || CD.DecisionTypeID == (int)DecisionTypes.L2_Investigations) { CD.DecisionLevel = DecisionLevels.Post; } else if (CD.DecisionTypeID == (int)DecisionTypes.L1_Guilty || CD.DecisionTypeID == (int)DecisionTypes.L1_NotGuilty) { CD.DecisionLevel = DecisionLevels.Final; } else { CD.DecisionLevel = DecisionLevels.Decision; } return(CD); }
void DeleteIfSavedBefore(vw_CaseDecision DecisionData) { List <vw_CaseDecision> CaseDec = DecisionsComp.GetCaseDecisions(DecisionData.CaseID); foreach (vw_CaseDecision r in CaseDec) { if (r.CaseSessionID == DecisionData.CaseSessionID) { if (r.DecisionTypeID == (int)DecisionTypes.L1_Guilty || r.DecisionTypeID == (int)DecisionTypes.L1_NotGuilty) { //Delete From Defendants Table DefentantsComp.DeleteDefendantDecision(DecisionData.CaseSessionID); } DecisionsComp.DeleteDecision(r); break; } } }
///////// check ApprovedByJudge from CaseSessions in case of editing Decision public SaveDecisionStatus SaveDecision(vw_CaseDecision DecisionData) { try { // From SessionID get CaseID & RollID to set old rollID DecisionData.RollID = SessionsComp.GetRollID(DecisionData.CaseSessionID); DecisionData.OldCircuitID = SessionsComp.GetCircuitID(DecisionData.CaseSessionID); // check RollStatusID from CircuitRolls before Saving data if (!RollsComp.IsRollOpened((int)DecisionData.RollID)) { return(SaveDecisionStatus.RollNotOpenedYet); } if (SessionsComp.IsSentToJudge(DecisionData.CaseSessionID)) { return(SaveDecisionStatus.SessionSentToJudge); } if (RollsComp.IsApprovedByJudge((int)DecisionData.RollID)) { return(SaveDecisionStatus.SentToJudge); } DeleteIfSavedBefore(DecisionData); // override saved before decision if (DecisionData.DecisionLevel == DecisionLevels.Post || (DecisionData.DecisionLevel == DecisionLevels.Decision && DecisionData.DecisionType == DecisionTypes.L3_Postponed)) { //check if new roll exist, if not create it DecisionData.RollID = SetNewRollID((int)DecisionData.CycleRollID, (int)DecisionData.OldCircuitID, (DateTime)DecisionData.NextSessionDate); vw_SessionData SessionData; SessionData = new vw_SessionData { CaseID = DecisionData.CaseID, RollID = (int)DecisionData.RollID, DoneByDefaultCircuit = true, ApprovedByJudge = false, RollIndex = 0 }; // add session for the created roll SessionsComp.AddSession(SessionData); } // Save Decision DecisionsComp.SaveDecision(DecisionData); Event(new CaseDessionSaved { CaseID = DecisionData.CaseID, DecisionLevel = DecisionData.DecisionLevel, ReservedForJudgement = DecisionData.ReservedForJudgement, DecisionType = DecisionData.DecisionType }); if (DecisionData.DecisionLevel == DecisionLevels.Final) { foreach (vw_DefendantsDecisionData Def in DecisionData.DefendantsListJudges) { if (Def.DecisionType == (int)DecisionTypes.L1_Guilty) { Def.IsGuilty = true; } else if (Def.DecisionType == (int)DecisionTypes.L1_NotGuilty) { Def.IsGuilty = false; } Def.SessionDessionId = DecisionData.CaseSessionID; DefentantsComp.AddDefendantDecision(Def); } } return(SaveDecisionStatus.Saved); } catch (DbEntityValidationException ex) { HandleException(ex); return(SaveDecisionStatus.Failed_To_Save); } }