示例#1
0
        public async Task <int> insert(sys_approval_config_model model)
        {
            model.db.step = model.list_item.Select(d => d.db.step_num).Max();
            await _context.sys_approval_configs.AddAsync(model.db);

            _context.SaveChanges();
            saveDetail(model);
            return(1);
        }
示例#2
0
        public void saveDetail(sys_approval_config_model model)
        {
            var delete = _context.sys_approval_config_details.Where(t => t.id_approval_config == model.db.id);

            _context.RemoveRange(delete);
            _context.SaveChanges();
            model.list_item.ForEach(t =>
            {
                t.db.id = 0;
                t.db.id_approval_config = model.db.id;
                t.db.duration_hours     = t.db.duration_hours ?? 0;
            });
            var listInsert = model.list_item.Select(d => d.db).ToList();

            _context.sys_approval_config_details.AddRange(listInsert);
            _context.SaveChanges();
        }
示例#3
0
        public int update(sys_approval_config_model model)
        {
            var db = _context.sys_approval_configs.Where(d => d.id == model.db.id).FirstOrDefault();

            db.status_del  = model.db.status_del;
            db.name        = model.db.name;
            db.note        = model.db.note;
            db.update_by   = model.db.update_by;
            db.update_date = model.db.update_date;
            db.step        = model.list_item.Select(d => d.db.step_num).Max();
            db.menu        = model.db.menu;
            _context.SaveChanges();
            if (model.db.status_del == 1)
            {
                saveDetail(model);
            }
            return(1);
        }
示例#4
0
        private bool checkModelStateCreateEdit(ActionEnumForm action, sys_approval_config_model item)
        {
            if (string.IsNullOrEmpty(item.db.name))
            {
                ModelState.AddModelError("db.name", "required");
            }
            var search = repo.FindAll().Where(d => d.db.name == item.db.name && d.db.id != item.db.id).Count();

            if (search > 0)
            {
                ModelState.AddModelError("db.name", "existed");
            }
            if (item.list_item.Count == 0)
            {
                ModelState.AddModelError("list_item", "required");
            }
            else
            {
                var maxstep = item.list_item.Max(d => d.db.step_num);
                if (maxstep > 10)
                {
                    ModelState.AddModelError("list_item", "system.step_num_maximum_is_10");
                }
                if (item.list_item.Where(d => d.db.step_num <= 0).Count() > 0)
                {
                    ModelState.AddModelError("list_item", "system.step_num_minimun_is_1");
                }
                for (int i = 1; i < maxstep; i++)
                {
                    if (item.list_item.Where(d => d.db.step_num == i).Count() == 0)
                    {
                        ModelState.AddModelError("list_item", "system.step_num_must_sequence");
                    }
                }
            }



            return(ModelState.IsValid);
        }
示例#5
0
 private bool checkModelStateEdit(sys_approval_config_model item)
 {
     return(checkModelStateCreateEdit(ActionEnumForm.edit, item));
 }