public ActionResult Create(FormCollection form, EvaluationTransaction model) { try { ViewBag.employee = Context.Employee_Profile.Select(m => new { Code = m.Code + "->" + m.Name, ID = m.ID }); ViewBag.groupcode = Context.PerformanceEvaluationGroup.Select(m => new { Code = m.Code + "->" + m.Name, ID = m.ID }); ViewBag.plancode = Context.EvaluationPlan.ToList().Select(m => new { Code = m.Code + "->" + m.Name, ID = m.ID }); ViewBag.obj = Context.EvaluationObjectives.ToList().Select(m => new { Code = m.Code + "->" + m.Name, ID = m.ID }); ViewBag.skk = Context.Skill.ToList().Select(m => new { Code = m.Code + "->" + m.Name, ID = m.ID }); var i1 = form["num"].Split(','); var i2 = form["D"].Split(','); var i3 = form["DH"].Split(','); var i4 = form["DM"].Split(','); var i5 = form["DAV"].Split(','); var i6 = form["DF"].Split(','); var i7 = form["tot"].Split(','); if (i1.Count() > 1) { model.num = int.Parse(form["num"].Split(',')[1]); } else { model.num = 0; } if (i2.Count() > 1) { model.def = double.Parse(form["D"].Split(',')[1]); } else { model.def = 0; } if (i3.Count() > 1) { model.H_degree = double.Parse(form["DH"].Split(',')[1]); } else { model.H_degree = 0; } if (i4.Count() > 1) { model.M_degree = double.Parse(form["DM"].Split(',')[1]); } else { model.M_degree = 0; } if (i5.Count() > 1) { model.average = double.Parse(form["DAV"].Split(',')[1]); } else { model.average = 0; } if (i6.Count() > 1) { model.final = double.Parse(form["DF"].Split(',')[1]); } else { model.final = 0; } if (i7.Count() > 1) { model.total = form["tot"].Split(',')[1]; } else { model.total = ""; } ///status//// // record.check_status = check_status.created; //record.sss = record.check_status.GetTypeCode().ToString(); var Date = Convert.ToDateTime("1/1/1900"); var s = new status { statu = check_status.created, Type = Models.Infra.Type.Budget, approved_bydate = Date, cancaled_bydate = Date, created_bydate = DateTime.Now.Date, Rejected_bydate = Date, return_to_reviewdate = Date }; s.created_by = User.Identity.GetUserName(); var st = Context.status.Add(s); Context.SaveChanges(); model.statusID = st.ID; model.check_status = check_status.created; //////////// var tarnsaction_saved = Context.EvaluationTransaction.Add(model); Context.SaveChanges(); /////elements////// var id_element = form["ID_ELEM"].Split(','); var H_element = form["degree_head"].Split(','); var M_element = form["degree_ector"].Split(','); var A_element = form["degree_average"].Split(','); var F_element = form["degreeo_final"].Split(','); var D_element = form["descID"].Split(','); for (var i = 0; i < id_element.Count(); i++) { if (id_element[i] != "") { var ID = int.Parse(id_element[i]); var m = new Evalu_Element_Tran { EvaluationElementsID = ID, EvaluationTransactionID = tarnsaction_saved.ID, H_degree = double.Parse(H_element[i]), M_degree = double.Parse(M_element[i]), average = double.Parse(A_element[i]), final = double.Parse(F_element[i]), }; if ((D_element[i]) != "") { m.EvaluationGradeID = int.Parse(D_element[i]); } Context.Evalu_Element_Tran.Add(m); Context.SaveChanges(); } } //////////Q&A////////// var id_Q = form["ID_Q"].Split(','); var ans = form["ans"].Split(','); for (var i = 0; i < id_Q.Count(); i++) { if (id_Q[i] != "") { var ID = int.Parse(id_Q[i]); var m = new A_Q { EvaluationQuestionsandanswersID = ID, EvaluationTransactionID = tarnsaction_saved.ID, actual_answer = ans[i] }; Context.A_Q.Add(m); Context.SaveChanges(); } } //////////objec//////// var ID_O = form["ID_O"].Split(','); var Date_O = form["Date_O"].Split(','); var Head_O = form["Head_O"].Split(','); var Mnamger_O = form["Mnamger_O"].Split(','); var average_O = form["average_O"].Split(','); var final_O = form["final_O"].Split(','); for (var i = 0; i < ID_O.Count(); i++) { if (ID_O[i] != "") { var ID = int.Parse(ID_O[i]); var m = new obje_eval_tran { EvaluationObjectivesID = ID, EvaluationTransactionID = tarnsaction_saved.ID, H_degree = double.Parse(Head_O[i]), M_degree = double.Parse(Mnamger_O[i]), average = double.Parse(average_O[i]), final = double.Parse(final_O[i]), Date = Convert.ToDateTime(Date_O[i]) }; Context.obje_eval_tran.Add(m); Context.SaveChanges(); } } ////////skill////// var ID_S = form["ID_S"].Split(','); var job_rate = form["job_rate"].Split(','); var employee_rate = form["employee_rate"].Split(','); var GAP = form["GAP"].Split(','); for (var i = 0; i < ID_S.Count(); i++) { if (ID_S[i] != "") { var ID = int.Parse(ID_S[i]); var m = new skill_eval { EvaluationTransactionID = tarnsaction_saved.ID, SkillID = ID, em_rate = double.Parse(employee_rate[i]), J_rate = double.Parse(job_rate[i]), GAP = GAP[i] }; Context.skill_eval.Add(m); Context.SaveChanges(); } } //=================================check for alert================================== var get_result_check = HR.Controllers.check.check_alert("evaluation transaction", HR.Models.user.Action.Create, HR.Models.user.type_field.form); if (get_result_check != null) { var inbox = new Models.user.Alert_inbox { send_from_user_id = User.Identity.GetUserId(), send_to_user_id = get_result_check.send_to_ID_user, title = get_result_check.Subject, Subject = get_result_check.Message }; if (get_result_check.until != null) { if (get_result_check.until.Value.Year != 0001) { inbox.until = get_result_check.until; } } Context.Alert_inbox.Add(inbox); Context.SaveChanges(); } //================================================================================== return(RedirectToAction("index")); } catch (Exception) { return(View(model)); } }
public ActionResult Edit(FormCollection form, EvaluationTransaction model) { try { var record = Context.EvaluationTransaction.FirstOrDefault(m => m.ID == model.ID); ViewBag.employee = Context.Employee_Profile.Select(m => new { Code = m.Code + "->" + m.Name, ID = m.ID }); ViewBag.groupcode = Context.PerformanceEvaluationGroup.Select(m => new { Code = m.Code + "->" + m.Name, ID = m.ID }); ViewBag.plancode = Context.EvaluationPlan.ToList().Select(m => new { Code = m.Code + "->" + m.Name, ID = m.ID }); ViewBag.obj = Context.EvaluationObjectives.ToList().Select(m => new { Code = m.Code + "->" + m.Name, ID = m.ID }); ViewBag.skk = Context.Skill.ToList().Select(m => new { Code = m.Code + "->" + m.Name, ID = m.ID }); /////////////////////// record.AppraisalDate = model.AppraisalDate; record.Code = model.Code; record.Employee_ProfileID = model.Employee_ProfileID; record.EvaluationPlanID = model.EvaluationPlanID; record.FromeDate = model.FromeDate; record.ToDate = model.ToDate; //record.def = model.def; //record.H_degree = model.H_degree; //record.M_degree = model.M_degree; record.PerformanceEvaluationGroupID = model.PerformanceEvaluationGroupID; //record.average = model.average; //record.final = model.final; //record.total = model.total; record.planLine = model.planLine; // record.num = model.num; ///////////////////////remove////// var elem = record.Evalu_Element_Tran; var qu = record.A_Q; var ob = record.obje_eval_tran; var Skill = record.skill_eval; if (elem != null) { Context.Evalu_Element_Tran.RemoveRange(elem); } if (qu != null) { Context.A_Q.RemoveRange(qu); } if (ob != null) { Context.obje_eval_tran.RemoveRange(ob); } if (Skill != null) { Context.skill_eval.RemoveRange(Skill); } Context.SaveChanges(); /////////////////////// var i1 = form["num"].Split(','); var i2 = form["D"].Split(','); var i3 = form["DH"].Split(','); var i4 = form["DM"].Split(','); var i5 = form["DAV"].Split(','); var i6 = form["DF"].Split(','); var i7 = form["tot"].Split(','); if (i1.Count() > 1) { record.num = int.Parse(form["num"].Split(',')[1]); } else { record.num = 0; } if (i2.Count() > 1) { record.def = double.Parse(form["D"].Split(',')[1]); } else { record.def = 0; } if (i3.Count() > 1) { record.H_degree = double.Parse(form["DH"].Split(',')[1]); } else { record.H_degree = 0; } if (i4.Count() > 1) { record.M_degree = double.Parse(form["DM"].Split(',')[1]); } else { record.M_degree = 0; } if (i5.Count() > 1) { record.average = double.Parse(form["DAV"].Split(',')[1]); } else { record.average = 0; } if (i6.Count() > 1) { record.final = double.Parse(form["DF"].Split(',')[1]); } else { record.final = 0; } if (i7.Count() > 1) { record.total = form["tot"].Split(',')[1]; } else { record.total = ""; } Context.SaveChanges(); /////elements////// var id_element = form["ID_ELEM"].Split(','); var H_element = form["degree_head"].Split(','); var M_element = form["degree_ector"].Split(','); var A_element = form["degree_average"].Split(','); var F_element = form["degreeo_final"].Split(','); var D_element = form["descID"].Split(','); for (var i = 0; i < id_element.Count(); i++) { if (id_element[i] != "") { var ID = int.Parse(id_element[i]); var m = new Evalu_Element_Tran { EvaluationElementsID = ID, EvaluationTransactionID = record.ID, H_degree = double.Parse(H_element[i]), M_degree = double.Parse(M_element[i]), average = double.Parse(A_element[i]), final = double.Parse(F_element[i]), }; if ((D_element[i]) != "") { m.EvaluationGradeID = int.Parse(D_element[i]); } Context.Evalu_Element_Tran.Add(m); Context.SaveChanges(); } } //////////Q&A////////// var id_Q = form["ID_Q"].Split(','); var ans = form["ans"].Split(','); for (var i = 0; i < id_Q.Count(); i++) { if (id_Q[i] != "") { var ID = int.Parse(id_Q[i]); var m = new A_Q { EvaluationQuestionsandanswersID = ID, EvaluationTransactionID = record.ID, actual_answer = ans[i] }; Context.A_Q.Add(m); Context.SaveChanges(); } } //////////objec//////// var ID_O = form["ID_O"].Split(','); var Date_O = form["Date_O"].Split(','); var Head_O = form["Head_O"].Split(','); var Mnamger_O = form["Mnamger_O"].Split(','); var average_O = form["average_O"].Split(','); var final_O = form["final_O"].Split(','); for (var i = 0; i < ID_O.Count(); i++) { if (ID_O[i] != "") { var ID = int.Parse(ID_O[i]); var m = new obje_eval_tran { EvaluationObjectivesID = ID, EvaluationTransactionID = record.ID, H_degree = double.Parse(Head_O[i]), M_degree = double.Parse(Mnamger_O[i]), average = double.Parse(average_O[i]), final = double.Parse(final_O[i]), Date = Convert.ToDateTime(Date_O[i]) }; Context.obje_eval_tran.Add(m); Context.SaveChanges(); } } ////////skill////// var ID_S = form["ID_S"].Split(','); var job_rate = form["job_rate"].Split(','); var employee_rate = form["employee_rate"].Split(','); var GAP = form["GAP"].Split(','); for (var i = 0; i < ID_S.Count(); i++) { if (ID_S[i] != "") { var ID = int.Parse(ID_S[i]); var m = new skill_eval { EvaluationTransactionID = record.ID, SkillID = ID, em_rate = double.Parse(employee_rate[i]), J_rate = double.Parse(job_rate[i]), GAP = GAP[i] }; Context.skill_eval.Add(m); Context.SaveChanges(); } } //=================================check for alert================================== var get_result_check = HR.Controllers.check.check_alert("evaluation transaction", HR.Models.user.Action.edit, HR.Models.user.type_field.form); if (get_result_check != null) { var inbox = new Models.user.Alert_inbox { send_from_user_id = User.Identity.GetUserId(), send_to_user_id = get_result_check.send_to_ID_user, title = get_result_check.Subject, Subject = get_result_check.Message }; if (get_result_check.until != null) { if (get_result_check.until.Value.Year != 0001) { inbox.until = get_result_check.until; } } Context.Alert_inbox.Add(inbox); Context.SaveChanges(); } //================================================================================== return(RedirectToAction("index")); } catch (Exception) { return(View(model)); } }