public ActionResult EditCaseParties(int CaseID)
        {
            CasePartiesViewModel fullCasePartiesView = new CasePartiesViewModel
            {
                CaseID      = CaseID,
                CaseParties = PartiesService.GetDefectsByCaseID(CaseID).Select(party => CasePartyViewModels.Map(party)).ToList()
            };
            List <CasePartyViewModels> list = new List <CasePartyViewModels>();

            List <CasePartyViewModels> listDefendent = new List <CasePartyViewModels>();
            List <CasePartyViewModels> listVictim    = new List <CasePartyViewModels>();

            listDefendent = fullCasePartiesView.CaseParties.Where(e => e.PartyType == PartyTypes.Defendant).OrderBy(e => e.PartiesOrder).ToList();
            listVictim    = fullCasePartiesView.CaseParties.Where(e => e.PartyType == PartyTypes.Victim).OrderBy(e => e.PartiesOrder).ToList();

            list.AddRange(listDefendent);
            list.AddRange(listVictim);
            fullCasePartiesView.CaseParties = list;
            foreach (var parties in fullCasePartiesView.CaseParties.Where(e => e.PartyType == PartyTypes.Defendant))
            {
                if (parties.DefendantStatus == 20)
                {
                    parties.Status = JIC.Base.Resources.Resources.Fugitive;
                }
                else if (parties.DefendantStatus == 19)
                {
                    parties.Status = JIC.Base.Resources.Resources.Arrested;
                }
                else if (parties.DefendantStatus == 21)
                {
                    parties.Status = JIC.Base.Resources.Resources.UnWanted;
                }
            }
            // fullCasePartiesView.CaseParties =PartiesService.GetDefectsByCaseID(CaseID).Select(party => CasePartyViewModels.Map(party)).OrderBy(e => e.PartiesOrder).ToList();

            // fullCasePartiesView.CaseParties= PartiesService.GetDefectsByCaseID(CaseID).Select(party => CasePartyViewModels.Map(party)).OrderBy(e=>e.PartiesOrder).ToList();

            return(CPartialView("_EditCasePartiesGrid", fullCasePartiesView));
        }
        public ActionResult Index(List <AtendanceViewModel> attendance, int CaseID)
        {
            CasePartiesViewModel fullCasePartiesView = new CasePartiesViewModel
            {
                CaseID      = attendance.Select(e => e.CaseID).First(),
                CaseParties = PartiesService.GetDefectsByCaseID(CaseID).Select(party => CasePartyViewModels.Map(party)).ToList()
            };

            foreach (var defendent in attendance.Where(e => e.DefectType == PartyTypes.Defendant))
            {
                var obj = fullCasePartiesView.CaseParties.Single(e => e.id == defendent.DefectID && e.PartyType == PartyTypes.Defendant);
                obj.PartiesOrder = defendent.OrderID;
            }

            foreach (var defendent in attendance.Where(e => e.DefectType == PartyTypes.Victim))
            {
                var obj = fullCasePartiesView.CaseParties.Single(e => e.id == defendent.DefectID && e.PartyType == PartyTypes.Victim);
                obj.PartiesOrder = defendent.OrderID;
            }
            List <vw_CaseDefectData> CaseDefectData = fullCasePartiesView.CaseParties
                                                      .Select(defect => new vw_CaseDefectData
            {
                Order      = defect.PartiesOrder,
                ID         = defect.id,
                DefectType = defect.PartyType
            }).ToList();
            var SaveDefects = PartiesService.SaveOrder(CaseDefectData);

            if (SaveDefects == SavePartSOrder.SavedOrder)
            {
                return(CPartialView("_OrderForm", CaseID).WithSuccessMessages("تم حفظ الترتيب"));
            }
            else
            {
                return(CPartialView("_OrderForm", CaseID).WithErrorMessages("لم يتم حفظ الترتيب"));
            }
        }