Beispiel #1
0
        public PCMSocialWorkerWorkListVM CheckPCMAssementExistance()
        {
            // initializing view model
            PCMSocialWorkerWorkListVM newCase = new PCMSocialWorkerWorkListVM();

            // initialise connection
            using (SDIIS_DatabaseEntities db = new SDIIS_DatabaseEntities())
            {
                try
                {
                    //Check assessment from intake assessment not in Adoption work list
                    var List = (from List1 in db.Intake_Assessments
                                where !(from List2 in db.PCM_WorkList
                                        select List2.Intake_Assessment_Id).Contains(List1.Intake_Assessment_Id)
                                where List1.Problem_Sub_Category_Id == 22
                                select List1).ToList();

                    //ADOPT_Case_WorkList act = db.ADOPT_Case_WorkList.Find(worlistid);
                    foreach (var item in List)
                    {
                        if (List != null)
                        {
                            //insert values not in Work list for List

                            PCM_WorkList act = new PCM_WorkList();
                            act.Intake_Assessment_Id = item.Intake_Assessment_Id;
                            act.Allocated_By         = item.Assessed_By_Id;
                            act.PCM_Record_Status_Id = 1;
                            act.Manager        = item.Case_Manager_Id;
                            act.Date_Allocated = item.Date_Allocated;
                            db.PCM_WorkList.Add(act);
                            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(newCase);
            }
        }
Beispiel #2
0
        public List <PCMSocialWorkerWorkListVM> PCMGetUserWorkList(int useridlogged)
        {
            // initialising view model
            List <PCMSocialWorkerWorkListVM> avm = new List <PCMSocialWorkerWorkListVM>();
            // initialise connection
            SDIIS_DatabaseEntities db = new SDIIS_DatabaseEntities();
            // get work list for user logged in
            var workList =
                (from list in db.PCM_WorkList
                 join status in db.apl_PCM_Record_Status on list.PCM_Record_Status_Id equals
                 status.PCM_Record_Status_Id
                 join Assessment in db.Intake_Assessments on list.Intake_Assessment_Id equals Assessment.Intake_Assessment_Id
                 join client in db.Clients on Assessment.Client_Id equals client.Client_Id
                 join person in db.Persons on client.Person_Id equals person.Person_Id
                 join sub in db.Problem_Sub_Categories on Assessment.Problem_Sub_Category_Id equals sub.Problem_Sub_Category_Id
                 where (list.Manager == useridlogged)
                 select new
            {
                list.Intake_Assessment_Id,
                list.PCMCaseWoklist_Id,
                list.Allocated_By,
                list.Manager,
                list.Date_Allocated,
                list.Reference_Number,
                list.PCM_Record_Status_Id,
                list.Date_Accepted,
                person.First_Name,
                person.Last_Name,
                person.Identification_Number,
                sub.Problem_Sub_Category_Id
            }).ToList();

            ;
            foreach (var item in workList)
            {
                // initialising view model
                PCMSocialWorkerWorkListVM obj = new PCMSocialWorkerWorkListVM();

                obj.Intake_Assessment_Id    = item.Intake_Assessment_Id;
                obj.PCMCaseWoklist_Id       = item.PCMCaseWoklist_Id;
                obj.Allocated_By            = item.Allocated_By;
                obj.Allocate_To             = item.Manager;
                obj.Date_Allocated          = item.Date_Allocated;
                obj.Reference_Number        = item.Reference_Number;
                obj.RecordStatusDescription = db.apl_PCM_Record_Status.Find(item.PCM_Record_Status_Id).Description;
                obj.Date_Accepted           = item.Date_Accepted;
                obj.FirstName = item.First_Name;
                obj.LastName  = item.Last_Name;
                obj.IDNumber  = item.Identification_Number;
                obj.ProblemSubCategoryDescription = db.Problem_Sub_Categories.Find(item.Problem_Sub_Category_Id).Description;

                avm.Add(obj);
            }

            return(avm);
        }
Beispiel #3
0
        public void UpdatePCMWorkListCase(PCMSocialWorkerWorkListVM list, int AssId)
        {
            // initialise connection
            using (SDIIS_DatabaseEntities db = new SDIIS_DatabaseEntities())
            {
                try
                {
                    // Accept New case on work list
                    var editlist = (from i in db.PCM_WorkList
                                    where i.Intake_Assessment_Id == (AssId)
                                    select i.PCMCaseWoklist_Id).FirstOrDefault();

                    PCM_WorkList edit = db.PCM_WorkList.Find(editlist);


                    edit.Intake_Assessment_Id = AssId;
                    edit.PCM_Record_Status_Id = 2;
                    edit.Accepted_By          = list.Case_Manager_Id;
                    edit.Date_Accepted        = 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 = new InvalidOperationException(message, raise);
                        }
                    }
                    throw raise;
                }
            }
        }
Beispiel #4
0
        public ActionResult AcceptPCMCase(PCMSocialWorkerWorkListVM update, string id)
        {
            var currentUser  = (User)Session["CurrentUser"];
            var userProvince = -1;
            var userId       = -1;

            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;
                }
            }
            // Accetp Case Allocated
            int assessmentId      = Convert.ToInt32(id);
            var _db               = new SDIIS_DatabaseEntities();
            var currentCasesCount = _db.PCM_Case_Details.Count();
            var nextSeqNumber     = currentCasesCount + 1;
            var assessment        = _db.Intake_Assessments.Where(x => x.Intake_Assessment_Id == assessmentId).FirstOrDefault();

            var list = new PCMSocialWorkerWorkListVM();
            PCMWorkListModel model = new PCMWorkListModel();

            var IntAss = model.GetAssessment(assessmentId);

            //Call update function..................................................................................................................

            model.UpdatePCMWorkListCase(update, assessmentId);

            return(RedirectToAction("Index", "Home", new { assessmentId = assessmentId }));
        }