예제 #1
0
        public ActionResult Create()
        {
            try
            {
                var new_record = new salary_code();
                new_record.SortingIndex = 0; new_record.FrequencyPerPeriod = 0; new_record.MinimumAmount = 0; new_record.MaximumAmount = 0;
                var stru   = dbcontext.StructureModels.FirstOrDefault(m => m.All_Models == ChModels.Payroll).Structure_Code;
                var model_ = dbcontext.salary_code.ToList();
                if (model_.Count() == 0)
                {
                    new_record.SalaryCodeID = stru + "1";
                }
                else
                {
                    new_record.SalaryCodeID = stru + (model_.LastOrDefault().ID + 1).ToString();
                }
                ViewBag.checktype = dbcontext.Checktype.ToList().Select(m => new { Code = m.Code + "-[" + m.Description + ']', ID = m.ID });
                ViewBag.extedned  = dbcontext.ExtendedFields_Header.ToList().Select(m => new { Code = m.ExtendedFields_Code + "-[" + m.ExtendedFields_Desc + ']', ID = m.ID });
                ViewBag.Subscription_Syndicate = dbcontext.Subscription_Syndicate.ToList().Select(m => new { Code = m.Subscription_Code + "-[" + m.Subscription_Description + ']', ID = m.ID });
                ViewBag.debit   = dbcontext.GL_AccountSetup.ToList().Select(m => new { Code = m.Account + "-[" + m.AccountName + ']', ID = m.ID });
                ViewBag.credit  = dbcontext.GL_AccountSetup.ToList().Select(m => new { Code = m.Account + "-[" + m.AccountName + ']', ID = m.ID });
                ViewBag.formula = dbcontext.Formula_Header.ToList().Select(m => new { Code = m.FormulaCode + "-[" + m.FormulaDesc + ']', ID = m.FormulaCode });

                var vm = new salary_codeVM {
                    salary_code = new_record, unit = new unit(), code_type = new code_type(), code_value_type = new code_value_type(), cost_center_type = new cost_center_type(), Document_entry = new Document_entry()
                };
                return(View(vm));
            }
            catch (Exception)
            {
                return(RedirectToAction("index"));
            }
        }
예제 #2
0
        public ActionResult create(salary_codeVM model, FormCollection form, string Command)
        {
            try
            {
                ViewBag.checktype = dbcontext.Checktype.ToList().Select(m => new { Code = m.Code + "-[" + m.Description + ']', ID = m.ID });
                ViewBag.extedned  = dbcontext.ExtendedFields_Header.ToList().Select(m => new { Code = m.ExtendedFields_Code + "-[" + m.ExtendedFields_Desc + ']', ID = m.ID });
                ViewBag.Subscription_Syndicate = dbcontext.Subscription_Syndicate.ToList().Select(m => new { Code = m.Subscription_Code + "-[" + m.Subscription_Description + ']', ID = m.ID });
                ViewBag.debit   = dbcontext.GL_AccountSetup.ToList().Select(m => new { Code = m.Account + "-[" + m.AccountName + ']', ID = m.ID });
                ViewBag.credit  = dbcontext.GL_AccountSetup.ToList().Select(m => new { Code = m.Account + "-[" + m.AccountName + ']', ID = m.ID });
                ViewBag.formula = dbcontext.Formula_Header.ToList().Select(m => new { Code = m.FormulaCode + "-[" + m.FormulaDesc + ']', ID = m.FormulaCode });

                var new_model = new salary_code();
                new_model = model.salary_code;
                new_model.CodeGroupType   = model.code_type.GetHashCode();
                new_model.CodeValueType   = model.code_value_type.GetHashCode();
                new_model.SourceEntry     = model.Document_entry.GetHashCode();
                new_model.Costcenter_Type = (Int16)model.cost_center_type.GetHashCode();
                new_model.Created_By      = User.Identity.Name;
                new_model.Created_Date    = DateTime.Now.Date;

                var a1 = form["check_A"].Split(',');
                var a2 = form["check_c5"].Split(',');
                var a3 = form["check_c6"].Split(',');
                var a4 = form["check_c4"].Split(',');

                var a5 = form["check_c1"].Split(',');
                var a6 = form["check_c2"].Split(',');
                var a7 = form["check_c3"].Split(',');

                if (a5.Length == 1)
                {
                    new_model.PrintableInPayslip         = false;
                    model.salary_code.PrintableInPayslip = false;
                }
                else
                {
                    new_model.PrintableInPayslip         = true;
                    model.salary_code.PrintableInPayslip = true;
                }
                if (a6.Length == 1)
                {
                    new_model.AffectToNetAmount         = false;
                    model.salary_code.AffectToNetAmount = false;
                }
                else
                {
                    new_model.AffectToNetAmount         = true;
                    model.salary_code.AffectToNetAmount = true;
                }
                if (a7.Length == 1)
                {
                    new_model.AllowToUseInHRModules         = false;
                    model.salary_code.AllowToUseInHRModules = false;
                }
                else
                {
                    new_model.AllowToUseInHRModules         = true;
                    model.salary_code.AllowToUseInHRModules = true;
                }
                if (a2.Length == 2)
                {
                    model.salary_code.LinkedWithAccumulators = true;
                }
                if (a3.Length == 2)
                {
                    model.salary_code.ApplayRangeConstrains = true;
                }
                if (a4.Length == 2)
                {
                    model.salary_code.AllowToPostingItemToGL = true;
                }
                if (a1.Length == 2)
                {
                    model.salary_code.EnableExtendedFields = true;
                }
                if (a1.Length == 1)
                {
                    new_model.EnableExtendedFields = false;
                    new_model.ExtendedFields_Code  = null;
                }
                else
                {
                    new_model.EnableExtendedFields = true;
                    if (model.salary_code.ExtendedFields_Code == null)
                    {
                        return(View(model));
                    }
                    else
                    {
                        new_model.ExtendedFields_Code = model.salary_code.ExtendedFields_Code;
                    }
                }
                if (a2.Length == 1)
                {
                    new_model.LinkedWithAccumulators = false;
                    new_model.Subscription_Code      = null;
                }
                else
                {
                    new_model.LinkedWithAccumulators = true;
                    if (model.salary_code.Subscription_Code == null)
                    {
                        new_model.Subscription_Code = null;
                    }
                    else
                    {
                        new_model.Subscription_Code = model.salary_code.Subscription_Code;
                    }
                }
                if (a3.Length == 1)
                {
                    new_model.ApplayRangeConstrains = false;
                    new_model.MinimumAmount         = 0;
                    new_model.MaximumAmount         = 0;
                }
                else
                {
                    new_model.ApplayRangeConstrains = true;
                    if (model.salary_code.MaximumAmount == null)
                    {
                        new_model.MaximumAmount = 0;
                    }
                    else
                    {
                        new_model.MaximumAmount = model.salary_code.MaximumAmount;
                    }
                    if (model.salary_code.MinimumAmount == null)
                    {
                        new_model.MinimumAmount = 0;
                    }
                    else
                    {
                        new_model.MinimumAmount = model.salary_code.MinimumAmount;
                    }
                }

                if (a4.Length == 1)
                {
                    new_model.AllowToPostingItemToGL = false;
                    new_model.DebitAccount           = null;
                    new_model.CreditAccount          = null;
                }
                else
                {
                    new_model.AllowToPostingItemToGL = true;
                    if (model.salary_code.DebitAccount == null || model.salary_code.CreditAccount == null)
                    {
                        return(View(model));
                    }
                    else
                    {
                        new_model.DebitAccount  = model.salary_code.DebitAccount;
                        new_model.CreditAccount = model.salary_code.CreditAccount;
                    }
                }


                dbcontext.salary_code.Add(new_model);
                dbcontext.SaveChanges();


                //=================================check for alert==================================
                var get_result_check = HR.Controllers.check.check_alert("Salary item card", 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.Name, 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;
                        }
                    }
                    ApplicationDbContext dbcontext = new ApplicationDbContext();
                    dbcontext.Alert_inbox.Add(inbox);
                    dbcontext.SaveChanges();
                }
                //===================================================================================
                if (Command == "assign")
                {
                    return(RedirectToAction("EditAssign", "salary_code", new { id = model.salary_code.ID, code = model.salary_code.SalaryCodeID, name = model.salary_code.SalaryCodeDesc, codetype = model.code_type, codevaluetype = model.code_value_type }));
                }

                //if (Command == "deleteitem")
                //{
                //    return RedirectToAction("DeleteAssign", "salary_code", new { id = model.salary_code.ID, code = model.salary_code.SalaryCodeID, name = model.salary_code.SalaryCodeDesc, codetype = model.code_type, codevaluetype = model.code_value_type });
                //}
                return(RedirectToAction("index"));
            }
            catch (Exception)
            {
                return(View(model));
            }
        }