public ActionResult create() { try { ViewBag.job_desc = dbcontext.job_title_cards.ToList().Select(m => new { Code = m.Code + "------[" + m.name + ']', ID = m.ID }); ViewBag.job_slot_desc = dbcontext.job_title_cards.ToList().Select(m => new { Code = m.num_slots + "------[" + m.name + ']', ID = m.ID }); ViewBag.Default_location = dbcontext.work_location.ToList().Select(m => new { Code = m.Code + "------[" + m.Name + ']', ID = m.ID }); ViewBag.location_desc = dbcontext.work_location.ToList().Select(m => new { Code = m.Code + "------[" + m.Name + ']', ID = m.ID }); ViewBag.Job_level_grade = dbcontext.job_level_setup.ToList().Select(m => new { Code = m.Code + "------[" + m.Name + ']', ID = m.ID }); ViewBag.Organization_Chart = dbcontext.Organization_Chart.ToList().Select(m => new { Code = m.Code + "------[" + m.unit_Description + ']', ID = m.ID }); ViewBag.cost = dbcontext.CostCenter.ToList().Select(m => new { Code = m.CostCenterCode + "->" + m.CostCenterDesc, ID = m.ID }); ViewBag.shift = dbcontext.Shift_setup.ToList().Select(m => new { Code = m.Code + "->" + m.Name, ID = m.ID }); //ViewBag.Employee_Profile var all_e = new List <Employee_Profile>(); var empll = dbcontext.Employee_Profile.Where(m => m.Active == true).ToList(); foreach (var item in empll) { if (item.Employee_Positions_Profile.Count() > 0) { all_e.Add(item); } } if (all_e.Count() > 0) { ViewBag.Employee_Profile = all_e.Select(m => new { Code = m.Code + "------[" + m.Name + ']', ID = m.ID }); } else { ViewBag.Employee_Profile = new List <Employee_Profile>(); } ///////////////////// //////////////////// /////////////////// var stru = dbcontext.StructureModels.FirstOrDefault(m => m.All_Models == ChModels.Personnel); var model = dbcontext.personnel_transaction.ToList(); var count = 0; if (model.Count() == 0) { count = 1; } else { var te = model.LastOrDefault().ID; count = te + 1; } DateTime statis = Convert.ToDateTime(DateTime.Now.ToShortDateString()).Date; ViewBag.da = statis; var vm = new personnel_transaction { Number = stru.Structure_Code + count, End_of_service_date = statis, Position_Transaction_number = stru.Structure_Code + count, From_date = statis, Last_working_date = statis, To_date = statis, Position_transaction = statis, Approved_date = statis, Memo_date = statis, Resolution_date = statis, job_descId = "0", Job_level_gradeId = "0", Location_descId = "0", Default_location_descId = "0", Organization_ChartId = "0", SlotdescId = "0", Transaction_type = transaction_type.assignment, transaction_date = DateTime.Now.Date, Effective_date = DateTime.Now.Date , cost_center_id = 0, shift_id = 0 }; var mymodel = new TRANS_VM { personnel_transaction = vm, selected_employee = 0 }; // var PositionInformation = new Position_Information(); return(View(mymodel)); } catch (Exception e) { return(View()); } }
public ActionResult create(TRANS_VM model) { try { if (model.personnel_transaction.job_descId == null) { model.personnel_transaction.job_descId = "0"; } if (model.personnel_transaction.Default_location_descId == null) { model.personnel_transaction.Default_location_descId = "0"; } if (model.personnel_transaction.Location_descId == null) { model.personnel_transaction.Location_descId = "0"; } if (model.personnel_transaction.Job_level_gradeId == null) { model.personnel_transaction.Job_level_gradeId = "0"; } if (model.personnel_transaction.SlotdescId == null) { model.personnel_transaction.SlotdescId = "0"; } if (model.personnel_transaction.Organization_ChartId == null) { model.personnel_transaction.Organization_ChartId = "0"; } ViewBag.job_desc = dbcontext.job_title_cards.ToList().Select(m => new { Code = m.Code + "------[" + m.name + ']', ID = m.ID }); ViewBag.job_slot_desc = dbcontext.job_title_cards.ToList().Select(m => new { Code = m.num_slots + "------[" + m.name + ']', ID = m.ID }); ViewBag.Default_location = dbcontext.work_location.ToList().Select(m => new { Code = m.Code + "------[" + m.Name + ']', ID = m.ID }); ViewBag.location_desc = dbcontext.work_location.ToList().Select(m => new { Code = m.Code + "------[" + m.Name + ']', ID = m.ID }); ViewBag.Job_level_grade = dbcontext.job_level_setup.ToList().Select(m => new { Code = m.Code + "------[" + m.Name + ']', ID = m.ID }); ViewBag.Organization_Chart = dbcontext.Organization_Chart.ToList().Select(m => new { Code = m.Code + "------[" + m.unit_Description + ']', ID = m.ID }); ViewBag.Employee_Profile = dbcontext.Employee_Profile.ToList().Select(m => new { Code = m.Code + "------[" + m.Name + ']', ID = m.ID }); ViewBag.cost = dbcontext.CostCenter.ToList().Select(m => new { Code = m.CostCenterCode + "->" + m.CostCenterDesc, ID = m.ID }); ViewBag.shift = dbcontext.Shift_setup.ToList().Select(m => new { Code = m.Code + "->" + m.Name, ID = m.ID }); if (ModelState.IsValid) { if (model.selected_employee == 0) { TempData["Message"] = HR.Resource.pers_2.youmustchooseemployee; return(View(model)); } else if (model.personnel_transaction.job_descId == "0" || model.personnel_transaction.job_descId == null) { TempData["Message"] = HR.Resource.pers_2.youmustchoosejobtitle; return(View(model)); } else if (model.personnel_transaction.SlotdescId == "0" || model.personnel_transaction.job_descId == null) { TempData["Message"] = HR.Resource.pers_2.youmustchooseslot; return(View(model)); } var mymodel = new personnel_transaction(); mymodel = model.personnel_transaction; ///////////////status//////////////////////// mymodel.check_status = check_status.created; mymodel.ss = mymodel.check_status.GetTypeCode().ToString(); var Date = Convert.ToDateTime("1/1/1900"); var s = new status { statu = check_status.created, Type = Models.Infra.Type.employee_record, 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 = dbcontext.status.Add(s); dbcontext.SaveChanges(); mymodel.status = st; mymodel.date = mymodel.transaction_date.ToShortDateString(); mymodel.name_state = nameof(check_status.created); var tt = (int)mymodel.Transaction_type; var t = (transaction_type)(int)mymodel.Transaction_type; mymodel.name_type = t.ToString(); if (model.selected_employee > 0) { var emp = dbcontext.Employee_Profile.FirstOrDefault(m => m.ID == model.selected_employee); mymodel.Employee = emp; mymodel.statID = emp.ID; } else { mymodel.Employee = null; } if (model.personnel_transaction.job_descId != "0") { mymodel.Job_level_gradeId = model.personnel_transaction.Job_level_gradeId; var ID = int.Parse(model.personnel_transaction.job_descId); mymodel.job_title_cards = dbcontext.job_title_cards.FirstOrDefault(m => m.ID == ID); } else { mymodel.job_descId = "0"; mymodel.job_title_cards = null; } if (model.personnel_transaction.Job_level_gradeId != "0") { var ID = int.Parse(model.personnel_transaction.Job_level_gradeId); mymodel.job_level_setup = dbcontext.job_level_setup.FirstOrDefault(m => m.ID == ID); mymodel.Job_level_gradeId = model.personnel_transaction.Job_level_gradeId; } else { mymodel.Job_level_gradeId = "0"; mymodel.job_title_cards = null; } if (model.personnel_transaction.Location_descId != "0") { var ID = int.Parse(model.personnel_transaction.Location_descId); mymodel.work_location = dbcontext.work_location.FirstOrDefault(m => m.ID == ID); mymodel.Location_descId = mymodel.work_location.ID.ToString(); } else { mymodel.work_location = null; mymodel.Location_descId = "0"; } if (model.personnel_transaction.Organization_ChartId != "0") { var ID = int.Parse(model.personnel_transaction.Organization_ChartId); mymodel.Organization_Chart = dbcontext.Organization_Chart.FirstOrDefault(m => m.ID == ID); mymodel.Organization_ChartId = model.personnel_transaction.Organization_ChartId; } else { mymodel.Organization_Chart = null; mymodel.Organization_ChartId = "0"; } mymodel.name_state = nameof(check_status.created); dbcontext.personnel_transaction.Add(mymodel); //var record = dbcontext.Position_Information.FirstOrDefault(m => m.ID == emp.Employee_Positions_Profile.ID); //record.Primary_Position = model.Primary_Position; //record.From_date = model.From_date; //record.To_date = model.To_date; //record.Years = model.Years; //record.Months = model.Months; //record.End_of_service_date = model.End_of_service_date; //record.Last_working_date = model.Last_working_date; //record.Commnets = model.Commnets; //record.working_system = model.working_system; //record.Position_status = model.Position_status; //record.EOS_reasons = model.EOS_reasons; //record.Employee_ProfileId = model.Employee_ProfileId; //var Employee_ProfileId = int.Parse(model.Employee_ProfileId); //record.Code = model.Code; //record.job_descId = model.job_descId; //var job_descId = int.Parse(model..job_descId); //record.job_title_cards = dbcontext.job_title_cards.FirstOrDefault(m => m.ID == job_descId); //record.SlotdescId = model.SlotdescId; //var SlotdescId = int.Parse(model.SlotdescId); //record.job_title_cards = dbcontext.job_title_cards.FirstOrDefault(m => m.ID == SlotdescId); //record.Default_location_descId = model.Default_location_descId; //var Default_location_descId = int.Parse(model.Default_location_descId); //record.work_location = dbcontext.work_location.FirstOrDefault(m => m.ID == Default_location_descId); //record.Location_descId = model.Location_descId; //var Location_descId = int.Parse(model.Location_descId); //record.work_location = dbcontext.work_location.FirstOrDefault(m => m.ID == Location_descId); //record.Job_level_gradeId = model.Job_level_gradeId; //var Job_level_gradeId = int.Parse(model.Job_level_gradeId); //record.Job_level_grade = dbcontext.Job_level_gradee.FirstOrDefault(m => m.ID == Job_level_gradeId); //record.Organization_ChartId = model.Organization_ChartId; //var Organization_ChartId = int.Parse(model.Organization_ChartId); //record.Organization_Chart = dbcontext.Organization_Chart.FirstOrDefault(m => m.ID == Organization_ChartId); //dbcontext.SaveChanges(); //Position_Transaction_Information information = new Position_Transaction_Information(); //information.Position_transaction = model.Position_transaction; //information.Position_transaction_no = model.Position_transaction_no; //information.Transaction_Type = model.Transaction_Type; //information.Fixed_basic_salary_by = model.Fixed_basic_salary_by; //information.Activity_number = model.Activity_number; information.Position_transaction = model.Position_transaction; //information.Memo_number = model.Memo_number; //information.Resolution_number = model.Resolution_number; //information.Approved_by = model.Approved_by; //information.Recommended_by = model.Recommended_by; //information.Approved_date = model.Approved_date; //information.Memo_date = model.Memo_date; //information.Resolution_date = model.Resolution_date; dbcontext.SaveChanges(); //=================================check for alert================================== var get_result_check = HR.Controllers.check.check_alert("personnel transaction", HR.Models.user.Action.Create, 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; } } dbcontext.Alert_inbox.Add(inbox); dbcontext.SaveChanges(); } //================================================================================== //if (command == "Submit") //{ // return RedirectToAction("edit", "Employee_Profile", new { id = int.Parse(record.Employee_ProfileId) }); //} return(RedirectToAction("Index")); } else { return(View(model)); } } catch (DbUpdateException e) { TempData["Message"] = HR.Resource.Basic.thiscodeIsalreadyexists; return(View(model)); } catch (Exception e) { return(View(model)); } }