示例#1
0
 public bool IsPresenceSaved(int SessionID)
 {
     if (!DefendantsSessionLogComp.IsPresenceSaved(SessionID) || !VictimsSessionLogComp.IsPresenceSaved(SessionID))
     {
         return(false);
     }
     else
     {
         return(true);
     }
 }
示例#2
0
        public SaveDefectsStatus UpdatePresenceOfDefects(List <vw_CaseDefectsData> DefectsList, int SessionID, out List <string> Defect)
        {
            if (SessionComp.IsSentToJudge(SessionID))
            {
                Defect = new List <string>();
                return(SaveDefectsStatus.SessionSentToJudge);
            }

            List <SaveDefectsStatus> StatusList = new List <SaveDefectsStatus> ();

            try
            {
                using (var Transaction = BeginDatabaseTransaction())
                {
                    Defect = new List <string>();
                    foreach (vw_CaseDefectsData D in DefectsList)
                    {
                        if (D.DefectType == PartyTypes.Defendant)
                        {
                            if (DefendantsSessionLogComp.ISPresentedBefore(D.ID, SessionID) && D.Presence == PresenceStatus.AbsenceAttendance)
                            {
                                Defect.Add(DefentantsComponent.GetName((int)D.ID));
                            }
                        }
                    }
                    if (Defect.Count != 0)
                    {
                        return(SaveDefectsStatus.DefendantsPresenceFailed);
                    }


                    foreach (vw_CaseDefectsData D in DefectsList)
                    {
                        if (D.DefectType == PartyTypes.Defendant)
                        {
                            StatusList.Add(DefendantsSessionLogComp.UpdatePresence(D, SessionID));
                        }

                        else if (D.DefectType == PartyTypes.Victim)
                        {
                            StatusList.Add(VictimsSessionLogComp.UpdatePresence(D, SessionID));
                        }
                    }
                    if (Transaction != null)
                    {
                        Transaction.Commit();
                    }


                    //  Defect.Clear();
                    foreach (SaveDefectsStatus SD in StatusList)
                    {
                        if (SD == SaveDefectsStatus.Saved_Before)
                        {
                            return(SaveDefectsStatus.Saved_Before);
                        }
                    }
                    return(SaveDefectsStatus.Saved);
                }
            }
            catch (Exception ex)
            {
                HandleException(ex);
                Defect = null;
                return(SaveDefectsStatus.Failed_To_Save);
            }
        }