コード例 #1
0
ファイル: PCMReferralsModel.cs プロジェクト: thobzabuyi/pcm
        //string cs = ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString;

        #region PCM_Referrals
        public List <PCMReferralsViewModel> GetPCMReferralsList(int Intake_Assessment_Id)
        {
            List <PCMReferralsViewModel> rVM = new List <PCMReferralsViewModel>();
            SDIIS_DatabaseEntities       db  = new SDIIS_DatabaseEntities();

            var rList = (from pf in db.PCM_Referrals
                         join rt in db.apl_Referral_Type
                         on pf.Type_Referral_Id equals rt.Type_Referral_Id
                         where pf.Intake_Assessment_Id == Intake_Assessment_Id
                         select new { pf.Referrals_Id, pf.Intake_Assessment_Id, pf.theClerk, pf.theParticular, pf.Type_Referral_Id, rt.Type_Referral }).ToList();

            foreach (var item in rList)
            {
                PCMReferralsViewModel objR = new PCMReferralsViewModel();

                objR.Referrals_Id         = item.Referrals_Id;
                objR.Intake_Assessment_Id = item.Intake_Assessment_Id;
                objR.theClerk             = item.theClerk;
                objR.theParticular        = item.theParticular;
                objR.Type_Referral_Id     = item.Type_Referral_Id;
                objR.Type_Referral        = item.Type_Referral;

                rVM.Add(objR);
            }

            return(rVM);
        }
コード例 #2
0
        public void UpdateReferalToCouncelling(PCMReferralsViewModel vm, int userId, int Referrals_Councelling_Id)
        {
            using (SDIIS_DatabaseEntities db = new SDIIS_DatabaseEntities())
            {
                try
                {
                    PCM_Referral_Counselling ass = db.PCM_Referral_Counselling.Find(Referrals_Councelling_Id);

                    //cases.PCM_Case_Id = cas
                    ass.Referrals_Id     = vm.Referrals_Id;
                    ass.Type_Referral_Id = vm.Type_Referral_Id;
                    ass.Referral_of_Child_To_Counselling = vm.Referral_of_Child_To_Counselling;
                    ass.Period_From    = vm.Period_From;
                    ass.Period         = vm.Period_To;
                    ass.Child_Progress = vm.Progress_Report;
                    ass.Modified_By    = userId;
                    ass.Date_Modified  = DateTime.Now;


                    db.SaveChanges();
                }
                catch
                {
                }
            }
        }
コード例 #3
0
ファイル: PCMReferralsModel.cs プロジェクト: thobzabuyi/pcm
        public void UpdateReferalToSocialWorker(PCMReferralsViewModel vm, int userId, int Referrals_SocilaWorker_Id)
        {
            using (SDIIS_DatabaseEntities db = new SDIIS_DatabaseEntities())
            {
                try
                {
                    PCM_Referral_SocilaWorker ass = db.PCM_Referral_SocilaWorker.Find(Referrals_SocilaWorker_Id);

                    //cases.PCM_Case_Id = cas
                    ass.Referrals_Id          = vm.Referrals_Id;
                    ass.Type_Referral_Id      = vm.Type_Referral_Id;
                    ass.Programme_Period_From = vm.Period_From;
                    ass.Programme_Period      = vm.Period_To;
                    ass.Child_Progress        = vm.Progress_Report;
                    ass.Modified_By           = userId;
                    ass.Date_Modified         = DateTime.Now;


                    db.SaveChanges();
                }
                catch
                {
                }
            }
        }
コード例 #4
0
ファイル: pcmreferralmodelcs.cs プロジェクト: thobzabuyi/cyca
        public List <PCMReferralsViewModel> GetPCMReferralsList()
        {
            List <PCMReferralsViewModel> rVM = new List <PCMReferralsViewModel>();
            SDIIS_DatabaseEntities       db  = new SDIIS_DatabaseEntities();

            var rList = (from pf in db.PCM_Referrals
                         join pcd in db.PCM_Case_Details
                         on pf.PCM_Case_Id equals pcd.PCM_Case_Id
                         select new { pf.Referrals_Id, pf.PCM_Case_Id, pf.Client_Employee_Details_ID, pf.theClerk, pf.theParticular, pf.Type_Referral_Id }).ToList();

            foreach (var item in rList)
            {
                PCMReferralsViewModel objR = new PCMReferralsViewModel();

                objR.Referrals_Id = item.Referrals_Id;
                objR.PCM_Case_Id  = item.PCM_Case_Id;
                objR.Client_Employee_Details_ID = item.Client_Employee_Details_ID;
                objR.theClerk      = item.theClerk;
                objR.theParticular = item.theParticular;
                //objR.Type_Referral_Id = item.Type_Referral_Id;

                rVM.Add(objR);
            }

            return(rVM);
        }
コード例 #5
0
ファイル: PCMReferralsModel.cs プロジェクト: thobzabuyi/pcm
        public int?GetTypeReferralId(int IntakeAssessmentId)
        {
            PCMReferralsViewModel vm = new PCMReferralsViewModel();

            using (SDIIS_DatabaseEntities db = new SDIIS_DatabaseEntities())
            {
                return((from p in db.PCM_Referrals

                        where p.Intake_Assessment_Id.Equals(IntakeAssessmentId)
                        select p.Type_Referral_Id).FirstOrDefault());
            }
        }
コード例 #6
0
        public PCMReferralsViewModel GetCAPSW(int Category_Referrals_Id)
        {
            PCMReferralsViewModel vm = new PCMReferralsViewModel();

            using (SDIIS_DatabaseEntities db = new SDIIS_DatabaseEntities())
            {
                try
                {
                    int?id = (from c in db.PCM_Referral_Types
                              where (c.Referrals_Id != null && c.Category_Referrals_Id == Category_Referrals_Id)
                              select c.Category_Referrals_Id).FirstOrDefault();

                    PCM_Referral_Types ass = db.PCM_Referral_Types.Find(id);
                    if (ass != null)
                    {
                        vm.Category_Referrals_Id = db.PCM_Referral_Types.Find(ass.Category_Referrals_Id).Category_Referrals_Id;
                        //vm.Referrals_Id = ass.Referrals_Id;
                        //vm.Type_Referral_Id = ass.Type_Referral_Id;
                        vm.Client_Employee_Details_ID = ass.Client_Employee_Details_ID;
                        vm.Refferal_Date       = ass.Refferal_Date;
                        vm.Period_From         = ass.Period_From;
                        vm.Period_To           = ass.Period_To;
                        vm.Progress_Report     = ass.Progress_Report;
                        vm.Employee_Id_Copy_To = ass.Employee_Id_Copy_To;

                        db.SaveChanges();
                    }
                }
                catch (System.Data.Entity.Validation.DbEntityValidationException dbEx)
                {
                    Exception raise = dbEx;
                    foreach (var validationErrors in dbEx.EntityValidationErrors)
                    {
                        foreach (var validationError in validationErrors.ValidationErrors)
                        {
                            string message = string.Format("{0}:{1}",
                                                           validationErrors.Entry.Entity.ToString(),
                                                           validationError.ErrorMessage);
                            // raise a new exception nesting
                            // the current instance as InnerException
                            raise = new InvalidOperationException(message, raise);
                        }
                    }
                    throw raise;
                }

                return(vm);
            }
        }
コード例 #7
0
        public JsonResult SaveReferralsData(PCMReferralsViewModel prVM)
        {
            var result = false;
            //get current username
            string loginName = User.Identity.Name;

            Session["LoginName"] = loginName;

            var currentUser  = (User)Session["CurrentUser"];
            var userProvince = -1;
            var userId       = 0;

            if (currentUser != null)
            {
                userId = currentUser.User_Id;
                if (currentUser.Employees.Any())
                {
                    userProvince = currentUser.Employees.First().apl_Service_Office.apl_Local_Municipality.District.Province_Id;
                }
                if (currentUser.apl_Social_Worker.Any())
                {
                    userProvince = currentUser.apl_Social_Worker.First().apl_Service_Office.apl_Local_Municipality.District.Province_Id;
                }
            }
            int Intake_Assessment_Id = Convert.ToInt32(Session["IntakeassId"]);

            try
            {
                if (prVM.Referrals_Id > 0)
                {
                    rm.UpdateReferralsData(prVM, prVM.Referrals_Id, userId, Intake_Assessment_Id);
                    rm.ViewReferralData(prVM.Referrals_Id);
                    result = true;
                }
                else
                {
                    rm.SaveReferralsData(prVM, userId, Intake_Assessment_Id);
                    result = true;
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(Json(result, JsonRequestBehavior.AllowGet));
        }
コード例 #8
0
ファイル: PCMReferralsModel.cs プロジェクト: thobzabuyi/pcm
        public List <PCMReferralsViewModel> GetPCMReferralCAPSW()
        {
            List <PCMReferralsViewModel> rVM = new List <PCMReferralsViewModel>();
            SDIIS_DatabaseEntities       db  = new SDIIS_DatabaseEntities();

            var rList = (from pf in db.PCM_Referrals
                         join prt in db.PCM_Referral_Types
                         on pf.Referrals_Id equals prt.Referrals_Id
                         join rt in db.apl_Referral_Type
                         on pf.Type_Referral_Id equals rt.Type_Referral_Id
                         //where pf.Referrals_Id == Referrals_Id
                         select new {
                prt.Category_Referrals_Id,
                pf.Referrals_Id,
                pf.PCM_Case_Id,
                pf.Client_Employee_Details_ID,
                pf.theClerk,
                pf.theParticular,
                pf.Type_Referral_Id,
                rt.Type_Referral,
                prt.Refferal_Date,
                prt.Period_From,
                prt.Period_To
            }).ToList();

            foreach (var item in rList)
            {
                PCMReferralsViewModel objR = new PCMReferralsViewModel();
                objR.Category_Referrals_Id      = item.Category_Referrals_Id;
                objR.Referrals_Id               = item.Referrals_Id;
                objR.PCM_Case_Id                = item.PCM_Case_Id;
                objR.Client_Employee_Details_ID = item.Client_Employee_Details_ID;
                objR.theClerk      = item.theClerk;
                objR.theParticular = item.theParticular;
                //objR.Type_Referral_Id = item.Type_Referral_Id;
                objR.Type_Referral = item.Type_Referral;
                objR.Refferal_Date = item.Refferal_Date;
                objR.Period_From   = item.Period_From;
                objR.Period_To     = item.Period_To;

                rVM.Add(objR);
            }

            return(rVM);
        }
コード例 #9
0
        public JsonResult SaveReferalToProgramme(PCMReferralsViewModel vm)
        {
            //get current username
            string loginName = User.Identity.Name;

            Session["LoginName"] = loginName;

            var currentUser  = (User)Session["CurrentUser"];
            var userProvince = -1;
            var userId       = 0;

            if (currentUser != null)
            {
                userId = currentUser.User_Id;
                if (currentUser.Employees.Any())
                {
                    userProvince = currentUser.Employees.First().apl_Service_Office.apl_Local_Municipality.District.Province_Id;
                }
                if (currentUser.apl_Social_Worker.Any())
                {
                    userProvince = currentUser.apl_Social_Worker.First().apl_Service_Office.apl_Local_Municipality.District.Province_Id;
                }
            }
            var result       = false;
            int Referrals_Id = Convert.ToInt32(Session["Referrals_Id"]);

            try
            {
                if (Referrals_Id > 0)
                {
                    int Referrals_Programme_Id = rm.GetProgrammeIdByReferalId(Referrals_Id);


                    rm.UpdateReferalToProgramme(vm, userId, Referrals_Programme_Id);
                    result = true;
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return(Json(result, JsonRequestBehavior.AllowGet));
        }
コード例 #10
0
        public void SaveReferalToCouncelling(PCMReferralsViewModel vm, int Referrals_Id, int Type_Referral_Id, int userId)
        {
            using (SDIIS_DatabaseEntities db = new SDIIS_DatabaseEntities())
            {
                try
                {
                    PCM_Referral_Types newRefType = new PCM_Referral_Types();

                    newRefType.Referrals_Id     = Referrals_Id;
                    newRefType.Type_Referral_Id = Type_Referral_Id;
                    //newRefType.Client_Employee_Details_ID = Type_Referral_Id;
                    newRefType.Refferal_Date       = vm.Refferal_Date;
                    newRefType.Period_From         = vm.Period_From;
                    newRefType.Period_To           = vm.Period_To;
                    newRefType.Progress_Report     = vm.Progress_Report;
                    newRefType.Employee_Id_Copy_To = vm.Employee_Id_Copy_To;
                    newRefType.Modified_By         = userId;
                    newRefType.Date_Modified       = DateTime.Now;
                    newRefType.Modified_By         = userId;
                    newRefType.Date_Created        = DateTime.Now;

                    db.PCM_Referral_Types.Add(newRefType);
                    db.SaveChanges();
                }

                catch (System.Data.Entity.Validation.DbEntityValidationException dbEx)
                {
                    Exception raise = dbEx;
                    foreach (var validationErrors in dbEx.EntityValidationErrors)
                    {
                        foreach (var validationError in validationErrors.ValidationErrors)
                        {
                            string message = string.Format("{0}:{1}",
                                                           validationErrors.Entry.Entity.ToString(),
                                                           validationError.ErrorMessage);
                            // raise a new exception nesting
                            // the current instance as InnerException
                            raise = new InvalidOperationException(message, raise);
                        }
                    }
                    throw raise;
                }
            }
        }
コード例 #11
0
ファイル: PCMReferralsModel.cs プロジェクト: thobzabuyi/pcm
        public PCMReferralsViewModel ViewReferralData(int Referrals_Id = 1011)
        {
            PCMReferralsViewModel vm = new PCMReferralsViewModel();

            using (SDIIS_DatabaseEntities db = new SDIIS_DatabaseEntities())
            {
                try
                {
                    var gd = db.PCM_Referrals.Find(Referrals_Id);
                    vm.theClerk      = gd.theClerk;
                    vm.theParticular = gd.theParticular;
                    //if (r != null)
                    //{
                    //vm.Referrals_Id = db.PCM_Referrals.Find(r.Referrals_Id).Referrals_Id;
                    //vm.theClerk = vm.theClerk;
                    //
                    //vm.Prelim_Enquiry_Date = cc.Prelim_Enquiry_Date;
                    //vm.Child_Need_Care = cc.Child_Need_Care;
                    //vm.Substance_Abuse_Treat = cc.Substance_Abuse_Treat;
                    //vm.Referral_Date = cc.Referral_Date;
                    return(vm);
                    //db.SaveChanges();
                    //}
                }
                catch (System.Data.Entity.Validation.DbEntityValidationException dbEx)
                {
                    Exception raise = dbEx;
                    foreach (var validationErrors in dbEx.EntityValidationErrors)
                    {
                        foreach (var validationError in validationErrors.ValidationErrors)
                        {
                            string message = string.Format("{0}:{1}",
                                                           validationErrors.Entry.Entity.ToString(),
                                                           validationError.ErrorMessage);
                            // raise a new exception nesting
                            // the current instance as InnerException
                            raise = new InvalidOperationException(message, raise);
                        }
                    }
                    throw raise;
                }
            }
        }
コード例 #12
0
ファイル: PCMReferralsModel.cs プロジェクト: thobzabuyi/pcm
        public List <PCMReferralsViewModel> GetPCMCourtReferralsList()
        {
            List <PCMReferralsViewModel> rVM = new List <PCMReferralsViewModel>();
            SDIIS_DatabaseEntities       db  = new SDIIS_DatabaseEntities();

            var cList = (from cf in db.PCM_Referral_To_Court
                         select new { cf.Court_Referrals_Id, cf.Referrals_Id, cf.Child_Need_Care_Protection, cf.Stay_At_Parents_Home, cf.Comitted_Minor_Offence }).ToList();

            foreach (var item in cList)
            {
                PCMReferralsViewModel objC = new PCMReferralsViewModel();
                objC.Court_Referrals_Id = item.Court_Referrals_Id;
                //objC.Referrals_Id = item.Referrals_Id;
                //objC.Child_Need_Care_Protection = item.Child_Need_Care_Protection;
                //objC.Stay_At_Parents_Home = item.Stay_At_Parents_Home;

                rVM.Add(objC);
            }
            return(rVM);
        }
コード例 #13
0
ファイル: PCMReferralsModel.cs プロジェクト: thobzabuyi/pcm
        public void SaveCourtData(PCMReferralsViewModel prVM, int Court_Referrals_Id)
        {
            using (SDIIS_DatabaseEntities db = new SDIIS_DatabaseEntities())
            {
                try
                {
                    PCM_Referral_To_Court nu = db.PCM_Referral_To_Court.Find(Court_Referrals_Id);
                    nu.Child_Need_Care_Protection = prVM.Child_Need_Care_Protection;
                    nu.Stay_At_Parents_Home       = prVM.Stay_At_Parents_Home;
                    nu.Comitted_Minor_Offence     = prVM.Comitted_Minor_Offence;
                    nu.Referrals_Id  = prVM.Referrals_Id;
                    nu.Refferal_Date = prVM.Refferal_Date;
                    nu.Created_By    = prVM.Created_By;
                    nu.Date_Created  = DateTime.Now;
                    nu.Modified_By   = prVM.Modified_By;
                    nu.Date_Modified = DateTime.Now;

                    db.SaveChanges();
                }
                catch (System.Data.Entity.Validation.DbEntityValidationException dbEx)
                {
                    Exception raise = dbEx;
                    foreach (var validationErrors in dbEx.EntityValidationErrors)
                    {
                        foreach (var validationError in validationErrors.ValidationErrors)
                        {
                            string message = string.Format("{0}:{1}",
                                                           validationErrors.Entry.Entity.ToString(),
                                                           validationError.ErrorMessage);
                            // raise a new exception nesting
                            // the current instance as InnerException
                            raise = new InvalidOperationException(message, raise);
                        }
                    }
                    throw raise;
                }
            }
        }
コード例 #14
0
        public ActionResult PCM_Referrals(int id)
        {
            if (id > 0)
            {
                vm = rm.ViewReferralData(id);
                //pVM.Recommendation_Type = preModel.GetRecommendationType();
            }
            else
            {
                //clear all the fields
            }

            var typerefferal = (from c in db.PCM_Referrals
                                where c.Referrals_Id == 1011
                                select c.Type_Referral_Id).FirstOrDefault();

            ViewBag.typerefferal = typerefferal;

            List <apl_Referral_Type> RefList = db.apl_Referral_Type.ToList();

            ViewBag.ListofReferrals = new SelectList(RefList, "Type_Referral_Id", "Type_Referral");
            return(View());
        }
コード例 #15
0
        public void UpdateReferralsData(PCMReferralsViewModel prVM, int id, int userid)
        {
            using (SDIIS_DatabaseEntities db = new SDIIS_DatabaseEntities())
            {
                try
                {
                    PCM_Referrals rr = db.PCM_Referrals.Find(id);
                    rr.PCM_Case_Id = prVM.PCM_Case_Id;
                    rr.Client_Employee_Details_ID = prVM.Client_Employee_Details_ID;
                    rr.theClerk         = prVM.theClerk;
                    rr.theParticular    = prVM.theParticular;
                    rr.Type_Referral_Id = prVM.Type_Referral_Id;
                    rr.Modified_By      = userid;
                    rr.Date_Modified    = DateTime.Now;

                    db.SaveChanges();
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
        }
コード例 #16
0
ファイル: PCMReferralsModel.cs プロジェクト: thobzabuyi/pcm
        public void SaveReferralsData(PCMReferralsViewModel vM, int userid, int Intake_Assessment_Id)
        {
            using (SDIIS_DatabaseEntities db = new SDIIS_DatabaseEntities())
            {
                try
                {
                    PCM_Referrals ReferralNew = new PCM_Referrals();
                    ReferralNew.Client_Employee_Details_ID = vM.Client_Employee_Details_ID;
                    ReferralNew.Intake_Assessment_Id       = Intake_Assessment_Id;
                    ReferralNew.Type_Referral_Id           = vM.Type_Referral_Id;
                    ReferralNew.theClerk      = vM.theClerk;
                    ReferralNew.theParticular = vM.theParticular;
                    ReferralNew.Created_By    = userid;
                    ReferralNew.Date_Created  = DateTime.Now;

                    db.PCM_Referrals.Add(ReferralNew);
                    db.SaveChanges();


                    if (ReferralNew.Type_Referral_Id == 1)
                    {
                        PCM_Referral_To_Court nu = new PCM_Referral_To_Court();
                        nu.Referrals_Id         = ReferralNew.Referrals_Id;
                        nu.Intake_Assessment_Id = Intake_Assessment_Id;
                        nu.Type_Referral_Id     = vM.Type_Referral_Id;
                        nu.Created_By           = userid;
                        nu.Date_Created         = DateTime.Now;

                        db.PCM_Referral_To_Court.Add(nu);
                        db.SaveChanges();
                    }
                    else if (ReferralNew.Type_Referral_Id == 2)
                    {
                        PCM_Referral_To_Programme nu = new PCM_Referral_To_Programme();
                        nu.Referrals_Id         = ReferralNew.Referrals_Id;
                        nu.Intake_Assessment_Id = Intake_Assessment_Id;
                        nu.Type_Referral_Id     = vM.Type_Referral_Id;
                        nu.Created_By           = userid;
                        nu.Date_Created         = DateTime.Now;

                        db.PCM_Referral_To_Programme.Add(nu);
                        db.SaveChanges();
                    }
                    else if (ReferralNew.Type_Referral_Id == 3)
                    {
                        PCM_Referral_Counselling nu = new PCM_Referral_Counselling();
                        nu.Referrals_Id         = ReferralNew.Referrals_Id;
                        nu.Intake_Assessment_Id = Intake_Assessment_Id;
                        nu.Type_Referral_Id     = vM.Type_Referral_Id;
                        nu.Created_By           = userid;
                        nu.Date_Created         = DateTime.Now;

                        db.PCM_Referral_Counselling.Add(nu);
                        db.SaveChanges();
                    }
                    else if (ReferralNew.Type_Referral_Id == 4)
                    {
                        PCM_Referral_SocilaWorker nu = new PCM_Referral_SocilaWorker();
                        nu.Referrals_Id         = ReferralNew.Referrals_Id;
                        nu.Intake_Assessment_Id = Intake_Assessment_Id;
                        nu.Type_Referral_Id     = vM.Type_Referral_Id;
                        nu.Created_By           = userid;
                        nu.Date_Created         = DateTime.Now;

                        db.PCM_Referral_SocilaWorker.Add(nu);
                        db.SaveChanges();
                    }
                }
                catch (System.Data.Entity.Validation.DbEntityValidationException dbEx)
                {
                    Exception raise = dbEx;
                    foreach (var validationErrors in dbEx.EntityValidationErrors)
                    {
                        foreach (var validationError in validationErrors.ValidationErrors)
                        {
                            string message = string.Format("{0}:{1}",
                                                           validationErrors.Entry.Entity.ToString(),
                                                           validationError.ErrorMessage);
                            // raise a new exception nesting
                            // the current instance as InnerException
                            raise = new InvalidOperationException(message, raise);
                        }
                    }
                    throw raise;
                }
            }
        }
コード例 #17
0
ファイル: PCMReferralsModel.cs プロジェクト: thobzabuyi/pcm
        public void UpdateReferralsData(PCMReferralsViewModel prVM, int id, int userid, int Intake_Assessment_Id)
        {
            using (SDIIS_DatabaseEntities db = new SDIIS_DatabaseEntities())
            {
                try
                {
                    PCM_Referrals rr = db.PCM_Referrals.Find(id);
                    rr.PCM_Case_Id = prVM.PCM_Case_Id;
                    rr.Client_Employee_Details_ID = prVM.Client_Employee_Details_ID;
                    rr.theClerk         = prVM.theClerk;
                    rr.theParticular    = prVM.theParticular;
                    rr.Type_Referral_Id = prVM.Type_Referral_Id;
                    rr.Modified_By      = userid;
                    rr.Date_Modified    = DateTime.Now;

                    db.SaveChanges();



                    if (rr.Type_Referral_Id == 1)
                    {
                        PCM_Referral_To_Court c = db.PCM_Referral_To_Court.Where(x => x.Referrals_Id == id && x.Type_Referral_Id == rr.Type_Referral_Id).SingleOrDefault();

                        if (c == null)
                        {
                            PCM_Referral_To_Court nu = new PCM_Referral_To_Court();
                            nu.Referrals_Id         = rr.Referrals_Id;
                            nu.Intake_Assessment_Id = Intake_Assessment_Id;
                            nu.Type_Referral_Id     = prVM.Type_Referral_Id;
                            nu.Created_By           = userid;
                            nu.Date_Created         = DateTime.Now;

                            db.PCM_Referral_To_Court.Add(nu);
                            db.SaveChanges();
                        }
                    }
                    else if (rr.Type_Referral_Id == 2)
                    {
                        PCM_Referral_To_Programme c = db.PCM_Referral_To_Programme.Where(x => x.Referrals_Id == id && x.Type_Referral_Id == rr.Type_Referral_Id).SingleOrDefault();

                        if (c == null)
                        {
                            PCM_Referral_To_Programme nu = new PCM_Referral_To_Programme();
                            nu.Referrals_Id         = rr.Referrals_Id;
                            nu.Intake_Assessment_Id = Intake_Assessment_Id;
                            nu.Type_Referral_Id     = prVM.Type_Referral_Id;
                            nu.Created_By           = userid;
                            nu.Date_Created         = DateTime.Now;

                            db.PCM_Referral_To_Programme.Add(nu);
                            db.SaveChanges();
                        }
                    }
                    else if (rr.Type_Referral_Id == 3)
                    {
                        PCM_Referral_Counselling c = db.PCM_Referral_Counselling.Where(x => x.Referrals_Id == id && x.Type_Referral_Id == rr.Type_Referral_Id).SingleOrDefault();

                        if (c == null)
                        {
                            PCM_Referral_Counselling nu = new PCM_Referral_Counselling();
                            nu.Referrals_Id         = rr.Referrals_Id;
                            nu.Intake_Assessment_Id = Intake_Assessment_Id;
                            nu.Type_Referral_Id     = prVM.Type_Referral_Id;
                            nu.Created_By           = userid;
                            nu.Date_Created         = DateTime.Now;

                            db.PCM_Referral_Counselling.Add(nu);
                            db.SaveChanges();
                        }
                    }
                    else if (rr.Type_Referral_Id == 4)
                    {
                        PCM_Referral_SocilaWorker c = db.PCM_Referral_SocilaWorker.Where(x => x.Referrals_Id == id && x.Type_Referral_Id == rr.Type_Referral_Id).SingleOrDefault();

                        if (c == null)
                        {
                            PCM_Referral_SocilaWorker nu = new PCM_Referral_SocilaWorker();
                            nu.Referrals_Id         = rr.Referrals_Id;
                            nu.Intake_Assessment_Id = Intake_Assessment_Id;
                            nu.Type_Referral_Id     = prVM.Type_Referral_Id;
                            nu.Created_By           = userid;
                            nu.Date_Created         = DateTime.Now;

                            db.PCM_Referral_SocilaWorker.Add(nu);
                            db.SaveChanges();
                        }
                    }
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
        }