Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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));
            }
        }
Ejemplo n.º 3
0
        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);
            }
        }