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" }); }
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)); }
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)); }