public void DeleteDecision(vw_CaseDecision Decision) { Cases_SessionDecision DecisionData = GetAll().Where(session => session.CaseSessionID == Decision.CaseSessionID).FirstOrDefault(); Delete(DecisionData); Save(); }
public void SaveDecision(vw_CaseDecision DecisionData) { Add(new Cases_SessionDecision { CaseSessionID = DecisionData.CaseSessionID, DecisionText = DecisionData.DecisionDescription, DecisionTypeID = (short)DecisionData.DecisionType, FirstRollID = DecisionData.RollID, NewCircuitID = DecisionData.NewCircuitID, OldCircuitID = DecisionData.OldCircuitID }); Save(); }
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; } } }
public DecisionsViewModel GetCaseDecisions(int id, int SessionID) { vw_CaseDecision Casedecisions = (decisionService.GetCaseLastDecision(id, SessionID)); DecisionsViewModel decisions = new DecisionsViewModel(); decisions = new DecisionsViewModel { CaseID = id, DecionDescription = Casedecisions.DecisionDescription, CaseSessionID = Casedecisions.CaseSessionID, CaseResultType = (Casedecisions.DecisionLevel == DecisionLevels.Decision) ? CaseResultType.Decision.ToString() : CaseResultType.judgment.ToString(), IsReadyForFinalDecision = (Casedecisions.ReservedForJudgement == null) ? false : Casedecisions.ReservedForJudgement, NextSessionDate = (Casedecisions.NextSessionDate == null) ? null : Casedecisions.CycleRollID, }; if (Casedecisions.DefendantsListJudges != null) { decisions.DefendantsList = Casedecisions.DefendantsListJudges.Select(x => new CaseDefentantsViewModel { casejudgmentID = (x.IsGuilty) ? (int)DecisionTypes.L1_Guilty : (int)DecisionTypes.L1_NotGuilty, ID = (int)x.CaseDefendantId, }).ToList(); } if (Casedecisions.DecisionLevel == DecisionLevels.Decision) { decisions.DecisionTypeID = Casedecisions.DecisionTypeID; } if (Casedecisions.DecisionLevel == DecisionLevels.Final) // updated by heba basyony 11-3-2018 { decisions.DefendantsList = Casedecisions.DefendantsListJudges.Select(x => new CaseDefentantsViewModel { casejudgmentID = (x.IsGuilty) ? (int)DecisionTypes.L1_Guilty : (int)DecisionTypes.L1_NotGuilty, ID = (int)x.CaseDefendantId, }).ToList(); } decisions.JudgmentID = Casedecisions.DecisionTypeID; decisions.CaseJudmentTypeID = (int)Casedecisions.DecisionLevel; return(decisions); }
public void DeleteDecision(vw_CaseDecision Decision) { DecisionsRepository.DeleteDecision(Decision); }
public void SaveDecision(vw_CaseDecision DecisionData) { DecisionsRepository.SaveDecision(DecisionData); }
//workaround code (Bad Code) // todo write clean Code public ActionResult Create(List <vw_DefendantsDecisionData> CaseDefentants, string Description, int?CaseID, int?CaseSessionID, string CaseResultType, string DecisionTypeID, string CaseNumber, string NextSessionDate, string IsReadyForFinalDecision, string JudgmentID, string CaseJudmentTypeID, [Bind(Prefix = "model")] DecisionsViewModel model) { ModelState.Clear(); // map parameter to model model.CaseID = CaseID.Value; model.CaseSessionID = CaseSessionID.Value; model.CaseID = CaseID.Value; model.CaseResultType = CaseResultType; model.CaseJudmentTypeID = (string.IsNullOrEmpty(CaseJudmentTypeID)) ? 0 : Convert.ToInt32(CaseJudmentTypeID); // Handle required if (string.IsNullOrEmpty(Description)) { ModelState.AddModelError("model.DecionDescription", Messages.RequiredErrorMessage); } // if Decision if (Convert.ToInt32(CaseResultType) == (int)DecreeTypes.Decision) { if (string.IsNullOrEmpty(DecisionTypeID)) { ModelState.AddModelError("model.DecisionTypeID", Messages.RequiredErrorMessage); } else { if (Convert.ToInt32(DecisionTypeID) == (int)DecisionTypes.L3_Postponed) { if (string.IsNullOrEmpty(NextSessionDate.ToString())) { ModelState.AddModelError("model.NextSessionDate", Messages.RequiredErrorMessage); } } } } else { if (string.IsNullOrEmpty(CaseJudmentTypeID)) { ModelState.AddModelError("model.CaseJudmentTypeID", Messages.RequiredErrorMessage); } else { if (Convert.ToInt32(CaseJudmentTypeID) == (int)DecisionLevels.Post) { if (string.IsNullOrEmpty(NextSessionDate.ToString())) { ModelState.AddModelError("model.NextSessionDate", Messages.RequiredErrorMessage); } if (string.IsNullOrEmpty(JudgmentID.ToString())) { ModelState.AddModelError("model.JudgmentID", Messages.RequiredErrorMessage); } } } } if (ModelState.IsValid) { vw_CaseDecision _CaseDecision = new vw_CaseDecision(); if (CaseDefentants != null) { foreach (var def in CaseDefentants) { if (def.DecisionType == 0) { model = PrepareDecisionsViewModel(CaseID.Value, CaseSessionID.Value); model.CaseID = CaseID.Value; model.CaseResultType = "2"; model.CaseSessionID = CaseSessionID.Value; model.CaseJudmentTypeID = (int)DecisionLevels.Final; model.DecionDescription = Description; return(CPartialView(model).WithErrorMessages("يجب اختيار نوع الحكم لجميع المتهمين")); } } _CaseDecision.CaseID = CaseID.Value; _CaseDecision.CaseSessionID = CaseSessionID.Value; _CaseDecision.DecisionDescription = Description; _CaseDecision.DecisionLevel = DecisionLevels.Final; _CaseDecision.DefendantsListJudges = CaseDefentants; _CaseDecision.DecisionType = DecisionTypes.L1_Guilty; } else { _CaseDecision.CaseID = CaseID.Value; _CaseDecision.CaseSessionID = Convert.ToInt32(CaseSessionID); _CaseDecision.DecisionDescription = Description; if (!string.IsNullOrEmpty(NextSessionDate)) { _CaseDecision.NextSessionDate = decisionService.GetCycleSessionDates((int)CaseSessionID).Where(m => m.ID == Convert.ToInt64(NextSessionDate)).Select(z => z.Date).SingleOrDefault(); // ta2gel } //CycleRollID added by Heba Basyony _CaseDecision.CycleRollID = (int)decisionService.GetCycleSessionDates((int)CaseSessionID).Where(m => m.ID == model.NextSessionDate).Select(z => z.ID).SingleOrDefault(); // ta2gel _CaseDecision.DecisionType = (CaseResultType == "2") ? (DecisionTypes)(Convert.ToInt32(model.JudgmentID)) : (DecisionTypes)Convert.ToInt32(DecisionTypeID); // No3 El Qarar 7okm // _CaseDecision.ReservedForJudgement =(IsReadyForFinalDecision == null)?null : Convert.ToBoolean(IsReadyForFinalDecision); // ma7goza ll 7okm if (IsReadyForFinalDecision != null) { _CaseDecision.ReservedForJudgement = Convert.ToBoolean(IsReadyForFinalDecision); } else { _CaseDecision.ReservedForJudgement = false; } _CaseDecision.DecisionLevel = (CaseResultType == "2") ? (DecisionLevels)Convert.ToInt32(CaseJudmentTypeID) : DecisionLevels.Decision; } var SaveDecisionStatus = decisionService.SaveDecision(_CaseDecision); switch (SaveDecisionStatus) { case SaveDecisionStatus.Saved: ViewBag.Saved = true; if (decisionService.IsDecisionSaved(model.CaseID, (int)model.CaseSessionID)) { DecisionsViewModel decisions = GetCaseDecisions(model.CaseID, (int)model.CaseSessionID); return(CPartialView("Create", PrepareDecisionsViewModel(model.CaseID, Convert.ToInt32(model.CaseSessionID), decisions)).WithSuccessMessages(JIC.Base.Resources.Messages.OperationCompletedSuccessfully)); } break; case SaveDecisionStatus.RollNotOpenedYet: ViewBag.Saved = false; if (decisionService.IsDecisionSaved(model.CaseID, (int)model.CaseSessionID)) { DecisionsViewModel decisions = GetCaseDecisions(model.CaseID, (int)model.CaseSessionID); return(CPartialView("Create", PrepareDecisionsViewModel(model.CaseID, Convert.ToInt32(model.CaseSessionID), decisions)).WithErrorMessages("لم تتم العملية .. رول الجلسة لم يتم فتحة")); } break; case SaveDecisionStatus.Failed_To_Save: ViewBag.Saved = false; if (decisionService.IsDecisionSaved(model.CaseID, (int)model.CaseSessionID)) { DecisionsViewModel decisions = GetCaseDecisions(model.CaseID, (int)model.CaseSessionID); return(CPartialView("Create", PrepareDecisionsViewModel(model.CaseID, Convert.ToInt32(model.CaseSessionID), decisions)).WithErrorMessages(JIC.Base.Resources.Messages.OperationNotCompleted)); } break; case SaveDecisionStatus.SentToJudge: ViewBag.Saved = false; if (decisionService.IsDecisionSaved(model.CaseID, (int)model.CaseSessionID)) { DecisionsViewModel decisions = GetCaseDecisions(model.CaseID, (int)model.CaseSessionID); return(CPartialView("Create", PrepareDecisionsViewModel(model.CaseID, Convert.ToInt32(model.CaseSessionID), decisions)).WithErrorMessages("لم تتم العملية .. تم الارسال للقاضى")); } break; case SaveDecisionStatus.SessionSentToJudge: ViewBag.Saved = false; if (decisionService.IsDecisionSaved(model.CaseID, (int)model.CaseSessionID)) { DecisionsViewModel decisions = GetCaseDecisions(model.CaseID, (int)model.CaseSessionID); return(CPartialView("Create", PrepareDecisionsViewModel(model.CaseID, Convert.ToInt32(model.CaseSessionID), decisions)).WithErrorMessages("لم تتم العملية .. تم الارسال للقاضى")); } break; } } return(CPartialView("_CaseDecisions", PrepareDecisionsViewModel(model.CaseID, (int)model.CaseSessionID, model)).WithPrefix("model")); }
///////// 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); } }