Exemple #1
0
        public async Task <ActionResult> Create([Bind(Include = "idperson,fname,lname,nationalnumber,fathername,mothername,birthday,birthplace,gender,nationality,martial,relationtype,onoffflag,education,educationstate,phone1,phone2,currentaddress,registrationdate,idfamily_FK,idcenter_FK,note,iduser,evaluation,applicant,family_order_id")] person person, int currentWorkID, int previousWorkID, int[] weaknesses, int[] documents)
        {
            if (ModelState.IsValid)
            {
                DateTime now = DateTime.Now;
                person.registrationdate = now;

                person.iduser      = User.Identity.GetUserId();
                person.idcenter_FK = db.AspNetUsers.SingleOrDefault(u => u.Id == person.iduser).idcenter_FK;

                int?maxPersonId = db.people.Where(f => f.idcenter_FK == person.idcenter_FK).Max(f => (int?)f.idperson);
                if (maxPersonId != null)
                {
                    person.idperson = maxPersonId.GetValueOrDefault() + 1;
                }
                else
                {
                    person.idperson = db.centers.SingleOrDefault(c => c.idcenter == person.idcenter_FK).min_person_id;
                }

                int?maxcenterform = db.people.Where(p => p.idcenter_FK == person.idcenter_FK).Max(p => p.formnumber) + 1;
                if (maxcenterform != null)
                {
                    person.formnumber = maxcenterform;
                }
                else
                {
                    person.formnumber = 1;
                }

                db.people.Add(person);

                personmanage currentWork = new personmanage()
                {
                    idperson_FK     = person.idperson,
                    idmanagelist_FK = currentWorkID,
                    eval            = "Current",
                    person          = person,
                    managelist      = db.managelists.SingleOrDefault(ml => ml.idmanagelist == currentWorkID)
                };
                db.personmanages.Add(currentWork);

                personmanage previousWork = new personmanage()
                {
                    idperson_FK     = person.idperson,
                    idmanagelist_FK = previousWorkID,
                    eval            = "Previous",
                    person          = person,
                    managelist      = db.managelists.SingleOrDefault(ml => ml.idmanagelist == previousWorkID)
                };
                db.personmanages.Add(previousWork);



                if (weaknesses != null)
                {
                    foreach (var i in weaknesses)
                    {
                        personmanage weakness = new personmanage()
                        {
                            idperson_FK     = person.idperson,
                            idmanagelist_FK = i,
                            person          = person,
                            eval            = "",
                            managelist      = db.managelists.SingleOrDefault(ml => ml.idmanagelist == i)
                        };
                        db.personmanages.Add(weakness);
                    }
                }

                if (documents != null)
                {
                    foreach (int i in documents)
                    {
                        personmanage document = new personmanage()
                        {
                            idperson_FK     = person.idperson,
                            idmanagelist_FK = i,
                            person          = person,
                            eval            = "",
                            managelist      = db.managelists.SingleOrDefault(ml => ml.idmanagelist == i)
                        };
                        db.personmanages.Add(document);
                    }
                }

                person.family = db.families.SingleOrDefault(f => f.idfamily == person.idfamily_FK);
                await db.SaveChangesAsync();

                //return RedirectToAction("Create");

                //if (person.family.people.Count >= person.family.personcount)
                //{
                //    return RedirectToAction("Index");
                //}

                return(new JsonResult
                {
                    Data = new
                    {
                        idperson = person.idperson,
                        family_order_id = person.family_order_id,
                        //fname = person.fname,
                        //lname = person.lname,
                        fullname = person.full_name,
                        //fathername = person.fathername,
                        mothername = person.mothername,
                        age = person.age,
                        gender = person.gender,
                        idfamily = person.idfamily_FK,
                        family_book_number = person.family.family_book_number
                    },
                    JsonRequestBehavior = JsonRequestBehavior.AllowGet
                });
            }
            return(new JsonResult {
                Data = "Failed"
            });
        }
Exemple #2
0
        public async Task <ActionResult> Edit([Bind(Include = "idperson,fname,lname,fathername,mothername,birthday,birthplace,gender,nationality,martial,relationtype,onoffflag,education,educationstate,phone1,phone2,currentaddress,registrationdate,idfamily_FK,idcenter_FK,formnumber,note,iduser,nationalnumber,evaluation,applicant,family_order_id")] person person, int currentWorkID, int previousWorkID, int[] weaknesses, int[] documents)
        {
            //  List<int> weaknessesList = weaknesses.ToList();
            if (ModelState.IsValid)
            {
                List <personmanage> personmanages = db.personmanages.Where(ps => ps.idperson_FK == person.idperson).ToList();
                db.Entry(person).State = EntityState.Modified;

                if (!personmanages.Equals(null))
                {
                    foreach (personmanage pm in db.personmanages.Where(ps => ps.idperson_FK == person.idperson))
                    {
                        if (pm.eval.Equals("Current"))
                        {
                            if (pm.idmanagelist_FK != currentWorkID)
                            {
                                personmanages.Remove(pm);
                                personmanage currentWork = new personmanage()
                                {
                                    idperson_FK     = person.idperson,
                                    idmanagelist_FK = currentWorkID,
                                    eval            = "Current",
                                    person          = person,
                                    managelist      = db.managelists.SingleOrDefault(ml => ml.idmanagelist == currentWorkID)
                                };
                                personmanages.Add(currentWork);
                            }
                        }
                        else
                        if (pm.eval.Equals("Previous"))
                        {
                            if (pm.idmanagelist_FK != previousWorkID)
                            {
                                personmanages.Remove(pm);
                                personmanage previousWork = new personmanage()
                                {
                                    idperson_FK     = person.idperson,
                                    idmanagelist_FK = previousWorkID,
                                    eval            = "Previous",
                                    person          = person,
                                    managelist      = db.managelists.SingleOrDefault(ml => ml.idmanagelist == previousWorkID)
                                };
                                personmanages.Add(previousWork);
                            }
                        }
                        //else
                        //if (pm.managelist.flag.Equals("KC"))
                        //{
                        //    if (pm.managelist.idmanagelist != idKnowledgeCenter)
                        //    {
                        //        personmanages.Remove(pm);
                        //        personmanage knowledgecenter = new personmanage()
                        //        {
                        //            idperson_FK = person.idperson,
                        //            idmanagelist_FK = idKnowledgeCenter,
                        //            person = person,
                        //            eval = "",
                        //            managelist = db.managelists.SingleOrDefault(ml => ml.idmanagelist == idKnowledgeCenter)
                        //        };
                        //        personmanages.Add(knowledgecenter);
                        //    }
                        //}
                        else //weaknesses && documents
                             // if(personmanage.managelist.flag.Equals())
                        {
                            personmanages.Remove(pm);
                        }

                        //await db.SaveChangesAsync();
                    }
                }

                if (weaknesses != null)
                {
                    foreach (var i in weaknesses)
                    {
                        personmanage weakness = new personmanage()
                        {
                            idperson_FK     = person.idperson,
                            idmanagelist_FK = i,
                            person          = person,
                            eval            = "",
                            managelist      = db.managelists.SingleOrDefault(ml => ml.idmanagelist == i)
                        };
                        personmanages.Add(weakness);
                    }
                }

                if (documents != null)
                {
                    foreach (var i in documents)
                    {
                        personmanage document = new personmanage()
                        {
                            idperson_FK     = person.idperson,
                            idmanagelist_FK = i,
                            person          = person,
                            eval            = "",
                            managelist      = db.managelists.SingleOrDefault(ml => ml.idmanagelist == i)
                        };
                        personmanages.Add(document);
                    }
                }

                person.personmanages = personmanages;

                await db.SaveChangesAsync();

                return(RedirectToAction("Details", "families", new { id = person.idfamily_FK }));
                //if (User.IsInRole("receptionist"))
                //{
                //    return RedirectToAction("Index");
                //}
                //else
                //{
                //    return RedirectToAction("IndexOutReach", "referalpersons", null);
                //}
            }
            //ViewBag.iduser = new SelectList(db.AspNetUsers, "Id", "Email", person.iduser);
            //ViewBag.idcenter_FK = new SelectList(db.centers, "idcenter", "name", person.idcenter_FK);
            //ViewBag.idfamily_FK = new SelectList(db.families, "idfamily", "familynature", person.idfamily_FK);



            return(View(person));
        }
Exemple #3
0
        public async Task <ActionResult> Create([Bind(Include = "fname,lname,nationalnumber,fathername,mothername,birthday,birthplace,gender,nationality,martial,relationtype,onoffflag,education,educationstate,phone1,phone2,currentaddress,registrationdate,idfamily_FK,idcenter_FK,formnumber,note,iduser,is_secret,evaluation")] person person, int currentWorkID, int previousWorkID, int idKnowledgeCenter, int[] weaknesses, int[] documents
                                                //, DateTime? servicestartdate, string senderevalution,string outreachnote
                                                )
        {
            DateTime now = DateTime.Now;

            person.registrationdate = now;

            person.iduser      = User.Identity.GetUserId();
            person.idcenter_FK = db.AspNetUsers.SingleOrDefault(u => u.Id == person.iduser).idcenter_FK;

            int?maxPersonId = db.people.Where(f => f.idcenter_FK == person.idcenter_FK).Max(f => (int?)f.idperson);

            if (maxPersonId != null)
            {
                person.idperson = maxPersonId.GetValueOrDefault() + 1;
            }
            else
            {
                person.idperson = db.centers.SingleOrDefault(c => c.idcenter == person.idcenter_FK).min_person_id;
            }


            int?maxcenterform = db.people.Where(p => p.idcenter_FK == person.idcenter_FK).Max(p => p.formnumber) + 1;

            if (maxcenterform != null)
            {
                person.formnumber = maxcenterform;
            }
            else
            {
                person.formnumber = 1;
            }



            //   person.idperson = person.idcenter_FK.ToString() + person.formnumber.ToString();
            person.is_secret = true;

            if (ModelState.IsValid)
            {
                db.people.Add(person);

                personmanage currentWork = new personmanage()
                {
                    idperson_FK     = person.idperson,
                    idmanagelist_FK = currentWorkID,
                    eval            = "Current",
                    person          = person,
                    managelist      = db.managelists.SingleOrDefault(ml => ml.idmanagelist == currentWorkID)
                };
                db.personmanages.Add(currentWork);

                personmanage previousWork = new personmanage()
                {
                    idperson_FK     = person.idperson,
                    idmanagelist_FK = previousWorkID,
                    eval            = "Previous",
                    person          = person,
                    managelist      = db.managelists.SingleOrDefault(ml => ml.idmanagelist == previousWorkID)
                };
                db.personmanages.Add(previousWork);


                personmanage knowledgecenter = new personmanage()
                {
                    idperson_FK     = person.idperson,
                    idmanagelist_FK = idKnowledgeCenter,
                    person          = person,
                    eval            = "",
                    managelist      = db.managelists.SingleOrDefault(ml => ml.idmanagelist == idKnowledgeCenter)
                };
                db.personmanages.Add(knowledgecenter);

                if (weaknesses != null)
                {
                    foreach (var i in weaknesses)
                    {
                        personmanage weakness = new personmanage()
                        {
                            idperson_FK     = person.idperson,
                            idmanagelist_FK = i,
                            person          = person,
                            eval            = "",
                            managelist      = db.managelists.SingleOrDefault(ml => ml.idmanagelist == i)
                        };
                        db.personmanages.Add(weakness);
                    }
                }

                if (documents != null)
                {
                    foreach (int i in documents)
                    {
                        personmanage document = new personmanage()
                        {
                            idperson_FK     = person.idperson,
                            idmanagelist_FK = i,
                            person          = person,
                            eval            = "",
                            managelist      = db.managelists.SingleOrDefault(ml => ml.idmanagelist == i)
                        };
                        db.personmanages.Add(document);
                    }
                }

                //referal data

                referalperson rp = new referalperson();
                //rp.servicestartdate = servicestartdate;
                //rp.senderevalution = person.evaluation.ToString();
                //  rp.outreachnote = person.note;

                rp.idperson_FK      = person.idperson;
                rp.idcenter_FK      = person.idcenter_FK;
                rp.referaldate      = now;
                rp.submittingdate   = now;
                rp.servicestartdate = now;

                string idrole    = db.AspNetRoles.Where(a => a.Name == "cmSGBV").First().Id;
                int    idcase    = (int)db.AspNetRoles.Where(a => a.Name == "cmSGBV").First().idcase;
                int    idservice = db.services.Where(a => a.idcase_FK == idcase).First().idservice;

                rp.idcase_FK    = idcase;
                rp.idservice_FK = idservice;
                rp.referalstate = "Approved";
                rp.servicestate = "In prgress";
                person.referalpersons.Add(rp);


                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }

            //ViewBag.iduser = new SelectList(db.AspNetUsers, "Id", "Email", person.iduser);
            //ViewBag.idcenter_FK = new SelectList(db.centers, "idcenter", "name", person.idcenter_FK);
            //ViewBag.idfamily_FK = new SelectList(db.families, "idfamily", "familynature", person.idfamily_FK);

            managelists = db.managelists;
            works       = new SelectList(managelists.Where(ma => ma.flag == "W"), "idmanagelist", "name");
            List <IQueryable> weaknesses1 = new List <IQueryable>();

            ViewBag.currentWorkID     = works;
            ViewBag.previousWorkID    = works;
            ViewBag.idKnowledgeCenter = new SelectList(managelists.Where(ma => ma.flag == "KC"), "idmanagelist", "name");

            weaknesses1.Add(managelists.Where(ma => ma.flag == "WM"));
            weaknesses1.Add(managelists.Where(ma => ma.flag == "WD"));
            weaknesses1.Add(managelists.Where(ma => ma.flag == "WE"));
            weaknesses1.Add(managelists.Where(ma => ma.flag == "WC"));
            weaknesses1.Add(managelists.Where(ma => ma.flag == "WWD"));
            weaknesses1.Add(managelists.Where(ma => ma.flag == "WWF"));
            weaknesses1.Add(managelists.Where(ma => ma.flag == "WWS"));
            weaknesses1.Add(managelists.Where(ma => ma.flag == "WP"));
            weaknesses1.Add(managelists.Where(ma => ma.flag == "WF"));
            weaknesses1.Add(managelists.Where(ma => ma.flag == "WL"));

            ViewBag.weaknesses = weaknesses1;

            ViewBag.genderOptions      = gender;
            ViewBag.nationalityOptions = nationality;
            ViewBag.martialOptions     = martial;
            ViewBag.educationstate     = educationstate;
            ViewBag.relationtype       = relationtype;
            ViewBag.education          = education;

            ViewBag.documentsOptions = managelists.Where(ml => ml.flag == "D");

            return(View(person));
        }