public ActionResult Create(string id) { 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.DefaultCostCenter = dbcontext.CostCenter.ToList().Select(m => new { Code = m.CostCenterCode + "------[" + m.CostCenterDesc + ']', ID = m.ID }); ViewBag.CostCenter = dbcontext.CostCenter.ToList().Select(m => new { Code = m.CostCenterCode + "------[" + m.CostCenterDesc + ']', ID = m.ID }); ViewBag.Shift_setup = dbcontext.Shift_setup.ToList().Select(m => new { Code = m.Code + "------[" + m.Name + ']', ID = m.ID }); ViewBag.Employee_Profile = dbcontext.Employee_Profile.ToList().Select(m => new { Code = m.Code + "------[" + m.Name + ']', ID = m.ID }); ViewBag.idemp = id; var stru = dbcontext.StructureModels.FirstOrDefault(m => m.All_Models == ChModels.Personnel); var model = dbcontext.Position_Information.ToList(); var count = 0; if (model.Count() == 0) { count = 1; } else { var te = model.LastOrDefault().ID; count = te + 1; } DateTime statis2 = Convert.ToDateTime("1/1/1900"); var ID = int.Parse(id); var emp = dbcontext.Employee_Profile.FirstOrDefault(m => m.ID == ID); var x = new Position_Information { Code = stru.Structure_Code + count, Employee_ProfileId = id, From_date = statis2, To_date = statis2, End_of_service_date = statis2, Last_working_date = statis2, Primary_Position = true }; var y = new Position_Transaction_Information { Position_transaction = statis2, Approved_date = statis2, Memo_date = statis2, Resolution_date = statis2 }; var z = new Employee_Positions_Profile_VM { Position_Information = x, Position_Transaction_Information = y }; return(View(z)); }
public ActionResult Create(Employee_Positions_Profile_VM model, string command) { try { if (model.Position_Information.job_descId == null) { model.Position_Information.job_descId = "0"; } if (model.Position_Information.Default_location_descId == null) { model.Position_Information.Default_location_descId = "0"; } if (model.Position_Information.Location_descId == null) { model.Position_Information.Location_descId = "0"; } if (model.Position_Information.Job_level_gradeId == null) { model.Position_Information.Job_level_gradeId = "0"; } if (model.Position_Information.SlotdescId == null) { model.Position_Information.SlotdescId = "0"; } if (model.Position_Information.Organization_ChartId == null) { model.Position_Information.Organization_ChartId = "0"; } if (model.Position_Information.DefaultCostCenterId == null) { model.Position_Information.DefaultCostCenterId = "0"; } if (model.Position_Information.CostCenterId == null) { model.Position_Information.CostCenterId = "0"; } if (model.Position_Information.Shift_setupId == null) { model.Position_Information.Shift_setupId = "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.DefaultCostCenter = dbcontext.CostCenter.ToList().Select(m => new { Code = m.CategoryCode + "------[" + m.CostCenterDesc + ']', ID = m.ID }); ViewBag.CostCenter = dbcontext.CostCenter.ToList().Select(m => new { Code = m.CategoryCode + "------[" + m.CostCenterDesc + ']', ID = m.ID }); ViewBag.Shift_setup = dbcontext.Shift_setup.ToList().Select(m => new { Code = m.Code + "------[" + m.Name + ']', ID = m.ID }); ViewBag.Employee_Profile = dbcontext.Employee_Profile.ToList().Select(m => new { Code = m.Code + "------[" + m.Name + ']', ID = m.ID }); ViewBag.idemp = model.Position_Information.Employee_ProfileId; if (ModelState.IsValid) { var prof = int.Parse(model.Position_Information.Employee_ProfileId); var emp = dbcontext.Employee_Profile.FirstOrDefault(m => m.ID == prof); // var record = dbcontext.Position_Information.FirstOrDefault(m => m.ID == emp.Employee_Positions_Profile.ID); /////// Position_Transaction_Information information = new Position_Transaction_Information(); information.Position_transaction = model.Position_Transaction_Information.Position_transaction; information.Position_transaction_no = model.Position_Transaction_Information.Position_transaction_no; information.Transaction_Type = model.Position_Transaction_Information.Transaction_Type; information.Fixed_basic_salary_by = model.Position_Transaction_Information.Fixed_basic_salary_by; information.Activity_number = model.Position_Transaction_Information.Activity_number; information.Position_transaction = model.Position_Transaction_Information.Position_transaction; information.Memo_number = model.Position_Transaction_Information.Memo_number; information.Resolution_number = model.Position_Transaction_Information.Resolution_number; information.Approved_by = model.Position_Transaction_Information.Approved_by; information.Recommended_by = model.Position_Transaction_Information.Recommended_by; information.Approved_date = model.Position_Transaction_Information.Approved_date; information.Memo_date = model.Position_Transaction_Information.Memo_date; information.Resolution_date = model.Position_Transaction_Information.Resolution_date; var info = dbcontext.Position_Transaction_Information.Add(information); dbcontext.SaveChanges(); /////// Position_Information record = new Position_Information(); var list = dbcontext.Position_Information.Where(a => a.Employee_ProfileId == emp.ID.ToString()).ToList(); if (list.Count() == 0) { record.Primary_Position = true; } else { var te = list.Where(m => m.Primary_Position == true); foreach (var item in te) { item.Primary_Position = false; item.End_of_service_date = DateTime.Now; item.Last_working_date = DateTime.Now; int slot_id = int.Parse(item.SlotdescId); var slot = dbcontext.Slots.FirstOrDefault(m => m.ID == slot_id); slot.EmployeeID = null; slot.EmployeeName = null; slot.Employee_Profile = null; dbcontext.SaveChanges(); } record.Primary_Position = true; } dbcontext.SaveChanges(); record.Code = model.Position_Information.Code; //record.Primary_Position = model.Position_Information.Primary_Position; record.From_date = model.Position_Information.From_date; record.To_date = model.Position_Information.To_date; if (model.Position_Information.From_date > model.Position_Information.To_date) { TempData["Message"] = HR.Resource.Personnel.FromdatebiggerTodate; return(View(model)); } record.Years = model.Position_Information.Years; record.Months = model.Position_Information.Months; record.End_of_service_date = model.Position_Information.End_of_service_date; record.Last_working_date = model.Position_Information.Last_working_date; record.Commnets = model.Position_Information.Commnets; record.working_system = model.Position_Information.working_system; record.Position_status = model.Position_Information.Position_status; record.EOS_reasons = model.Position_Information.EOS_reasons; record.Employee_ProfileId = model.Position_Information.Employee_ProfileId; var Employee_ProfileId = int.Parse(model.Position_Information.Employee_ProfileId); record.Employee_Profile = dbcontext.Employee_Profile.FirstOrDefault(m => m.ID == Employee_ProfileId); record.Code = model.Position_Information.Code; record.job_descId = model.Position_Information.job_descId; var job_descId = int.Parse(model.Position_Information.job_descId); record.job_title_cards = dbcontext.job_title_cards.FirstOrDefault(m => m.ID == job_descId); record.SlotdescId = model.Position_Information.SlotdescId; if (model.Position_Information.SlotdescId != "0") { var SlotdescId = int.Parse(model.Position_Information.SlotdescId); var my_slot = dbcontext.Slots.FirstOrDefault(m => m.ID == SlotdescId); my_slot.Employee_Profile = emp; my_slot.EmployeeName = emp.Full_Name; my_slot.EmployeeID = emp.ID.ToString(); var job = dbcontext.job_title_cards.FirstOrDefault(m => m.ID == my_slot.job_title_cards.ID); job.number_hired = job.number_hired + 1; job.number_vacant = job.number_vacant - 1; dbcontext.SaveChanges(); } // record.job_title_cards = dbcontext.job_title_cards.FirstOrDefault(m => m.ID == SlotdescId); record.Default_location_descId = model.Position_Information.Default_location_descId; var Default_location_descId = int.Parse(model.Position_Information.Default_location_descId); record.work_location = dbcontext.work_location.FirstOrDefault(m => m.ID == Default_location_descId); record.Location_descId = model.Position_Information.Location_descId; var Location_descId = int.Parse(model.Position_Information.Location_descId); record.work_location = dbcontext.work_location.FirstOrDefault(m => m.ID == Location_descId); record.Job_level_gradeId = model.Position_Information.Job_level_gradeId; var Job_level_gradeId = int.Parse(model.Position_Information.Job_level_gradeId); record.Job_level_grade = dbcontext.Job_level_gradee.FirstOrDefault(m => m.ID == Job_level_gradeId); record.Organization_ChartId = model.Position_Information.Organization_ChartId; var Organization_ChartId = int.Parse(model.Position_Information.Organization_ChartId); record.Organization_Chart = dbcontext.Organization_Chart.FirstOrDefault(m => m.ID == Organization_ChartId); record.DefaultCostCenterId = model.Position_Information.DefaultCostCenterId; var DefaultCostCenterId = int.Parse(model.Position_Information.DefaultCostCenterId); record.CostCenterId = model.Position_Information.CostCenterId; var CostCenter = int.Parse(model.Position_Information.CostCenterId); record.Shift_setupId = model.Position_Information.Shift_setupId; var Shift_setupId = int.Parse(model.Position_Information.Shift_setupId); record.Shift_setup = dbcontext.Shift_setup.FirstOrDefault(m => m.ID == Shift_setupId); record.Position_Transaction_Information = info; var pos = dbcontext.Position_Information.Add(record); dbcontext.SaveChanges(); // if (record.SlotdescId.Where(m => m.Employee_Profile != null).ToList().Select(m => m.Employee_Profile.ID).ToList()) if (command == "Submit") { return(RedirectToAction("edit", "Employee_Profile", new { id = int.Parse(record.Employee_ProfileId) })); } return(RedirectToAction("Index", new { id = model.Position_Information.Employee_ProfileId })); } else { return(View(model)); } } catch (DbUpdateException e) { TempData["Message"] = HR.Resource.Basic.thiscodeIsalreadyexists; return(View(model)); } catch (Exception e) { return(View(model)); } }
public bool add_new_postion(TRANS_VM mmodel) { try { ////////////////////////////////////////////// ///////////////add new position/////////////// ///////////////////////////////////////////// var stru = dbcontext.StructureModels.FirstOrDefault(m => m.All_Models == ChModels.Personnel); var model = dbcontext.Position_Information.ToList(); var count = 0; if (model.Count() == 0) { count = 1; } else { var te = model.LastOrDefault().ID; count = te + 1; } var emp = dbcontext.Employee_Profile.FirstOrDefault(m => m.ID == mmodel.selected_employee); /////// Position_Transaction_Information information = new Position_Transaction_Information(); information.Position_transaction = mmodel.personnel_transaction.Position_transaction; information.Position_transaction_no = mmodel.personnel_transaction.Position_Transaction_number; information.Transaction_Type = mmodel.personnel_transaction.Transaction_Type_; information.Fixed_basic_salary_by = mmodel.personnel_transaction.Fixed_basic_salary_by; information.Activity_number = mmodel.personnel_transaction.Activity_number; information.Position_transaction = mmodel.personnel_transaction.Position_transaction; information.Memo_number = mmodel.personnel_transaction.Memo_number; information.Resolution_number = mmodel.personnel_transaction.Resolution_number; information.Approved_by = mmodel.personnel_transaction.Approved_by; information.Recommended_by = mmodel.personnel_transaction.Recommended_by; information.Approved_date = mmodel.personnel_transaction.Approved_date; information.Memo_date = mmodel.personnel_transaction.Memo_date; information.Resolution_date = mmodel.personnel_transaction.Resolution_date; var info = dbcontext.Position_Transaction_Information.Add(information); dbcontext.SaveChanges(); /////// Position_Information record = new Position_Information(); record.Code = stru.Structure_Code + count; record.Primary_Position = true; record.From_date = mmodel.personnel_transaction.From_date; record.To_date = mmodel.personnel_transaction.To_date; record.Years = mmodel.personnel_transaction.Years; record.Months = mmodel.personnel_transaction.Months; record.End_of_service_date = mmodel.personnel_transaction.End_of_service_date; record.Last_working_date = mmodel.personnel_transaction.Last_working_date; record.Commnets = mmodel.personnel_transaction.Commnets; record.working_system = mmodel.personnel_transaction.working_system; record.Position_status = mmodel.personnel_transaction.Position_status; record.EOS_reasons = mmodel.personnel_transaction.EOS_reasons; record.Employee_ProfileId = mmodel.selected_employee.ToString(); record.Employee_Profile = dbcontext.Employee_Profile.FirstOrDefault(m => m.ID == mmodel.selected_employee); record.job_descId = mmodel.personnel_transaction.job_descId; var job_descId = int.Parse(mmodel.personnel_transaction.job_descId); record.job_title_cards = dbcontext.job_title_cards.FirstOrDefault(m => m.ID == job_descId); record.SlotdescId = mmodel.personnel_transaction.SlotdescId; if (mmodel.personnel_transaction.SlotdescId != "0") { var SlotdescId = int.Parse(mmodel.personnel_transaction.SlotdescId); var my_slot = dbcontext.Slots.FirstOrDefault(m => m.ID == SlotdescId); my_slot.Employee_Profile = emp; my_slot.EmployeeName = emp.Full_Name; my_slot.EmployeeID = emp.ID.ToString(); dbcontext.SaveChanges(); var job = dbcontext.job_title_cards.FirstOrDefault(m => m.ID == my_slot.job_title_cards.ID);////update vacant and hired number job.number_hired = job.number_hired + 1; job.number_vacant = job.number_vacant - 1; dbcontext.SaveChanges(); } record.Default_location_descId = mmodel.personnel_transaction.Default_location_descId; var Default_location_descId = int.Parse(mmodel.personnel_transaction.Default_location_descId); record.work_location = dbcontext.work_location.FirstOrDefault(m => m.ID == Default_location_descId); record.Location_descId = mmodel.personnel_transaction.Location_descId; var Location_descId = int.Parse(mmodel.personnel_transaction.Location_descId); record.work_location = dbcontext.work_location.FirstOrDefault(m => m.ID == Location_descId); record.Job_level_gradeId = mmodel.personnel_transaction.Job_level_gradeId; var Job_level_gradeId = int.Parse(mmodel.personnel_transaction.Job_level_gradeId); record.Job_level_grade = dbcontext.Job_level_gradee.FirstOrDefault(m => m.ID == Job_level_gradeId); record.Organization_ChartId = mmodel.personnel_transaction.Organization_ChartId; var Organization_ChartId = int.Parse(mmodel.personnel_transaction.Organization_ChartId); record.Organization_Chart = dbcontext.Organization_Chart.FirstOrDefault(m => m.ID == Organization_ChartId); record.Position_Transaction_Information = info; var pos = dbcontext.Position_Information.Add(record); dbcontext.SaveChanges(); return(true); } catch (Exception) { return(false); } }