示例#1
0
        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());
            }
        }
示例#2
0
        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));
            }
        }