private bool checkModelStateCreateEdit(ActionEnumForm action, sys_approval_model item) { if (string.IsNullOrEmpty(item.db.id_sys_approval_config)) { ModelState.AddModelError("db.id_sys_approval_config", "required"); } return(ModelState.IsValid); }
public int open(sys_approval_model model) { var db = _context.sys_approvals.Where(d => d.id == model.db.id).FirstOrDefault(); db.last_date_action = DateTime.Now; db.from_user = model.db.from_user; db.last_user_action = model.db.last_user_action; db.last_date_action = DateTime.Now; db.last_note = model.db.last_note; db.status_action = 5; db.deadline = null; db.to_user = null; db.status_finish = 3; model.db = db; saveDetail(model); _context.SaveChanges(); return(1); }
public async Task <int> insert(sys_approval_model model) { saveStep(model); var config = _context.sys_approval_steps .Where(d => d.id_approval_config == model.db.id_sys_approval_config) .Where(d => d.step_num == 1) .FirstOrDefault(); var next_deadline = DateTime.Now.AddHours(Convert.ToDouble(config.duration_hours ?? 0)); model.db.deadline = next_deadline; model.db.step_name = config.name; model.db.total_step = _context.sys_approval_steps .Where(d => d.id_approval_config == model.db.id_sys_approval_config).Count(); await _context.sys_approvals.AddAsync(model.db); _context.SaveChanges(); saveDetail(model); return(1); }
public void saveStep(sys_approval_model model) { var delete = _context.sys_approval_steps.Where(t => t.id_approval == model.db.id); _context.RemoveRange(delete); _context.SaveChanges(); model.list_step.ForEach(t => { t.db.id = 0; t.db.status = 4; if (t.db.step_num == 1) { t.db.status = 1; } t.db.id_approval_config = model.db.id_sys_approval_config; t.db.id_approval = model.db.id; }); var listInsert = model.list_step.Select(d => d.db).ToList(); _context.sys_approval_steps.AddRange(listInsert); _context.SaveChanges(); }
public void saveDetail(sys_approval_model model) { var db = new sys_approval_detail_db() { date_action = DateTime.Now, user_action = model.db.last_user_action, deadline = model.db.deadline, id = 0, step_name = model.db.step_name, id_approval = model.db.id, from_user = model.db.from_user, to_user = model.db.to_user, step_num = model.db.step_num, status_action = model.db.status_action, id_approval_config = model.db.id_sys_approval_config, note = model.db.last_note, status_finish = model.db.status_finish }; _context.sys_approval_details.Add(db); _context.SaveChanges(); }
public int approval(sys_approval_model model) { var db = _context.sys_approvals.Where(d => d.id == model.db.id).FirstOrDefault(); db.last_date_action = DateTime.Now; db.from_user = model.db.from_user; db.last_user_action = model.db.last_user_action; db.last_date_action = DateTime.Now; db.last_note = model.db.last_note; db.status_action = model.db.status_action; if (model.db.status_action == 1) { saveStep(model); var config = _context.sys_approval_steps .Where(d => d.id_approval_config == model.db.id_sys_approval_config) .Where(d => d.step_num == 1) .FirstOrDefault(); var next_deadline = DateTime.Now.AddHours(Convert.ToDouble(config.duration_hours ?? 0)); db.to_user = config.user_id; db.id_sys_approval_config = model.db.id_sys_approval_config; db.status_finish = 2; db.start_by = model.db.start_by; db.start_date = DateTime.Now; db.step_name = config.name; db.step_num = 1; db.deadline = next_deadline; db.last_note = ""; db.total_step = _context.sys_approval_steps .Where(d => d.id_approval_config == model.db.id_sys_approval_config).Count(); _context.SaveChanges(); model.db = db; update_step(db.id, db.step_num, db.status_action ?? 4); saveDetail(model); } else if (model.db.status_action == 2) { var checkNextStep = _context.sys_approval_steps .Where(d => d.id_approval_config == (db.id_sys_approval_config)) .Where(d => d.step_num == (db.step_num + 1)) .FirstOrDefault(); if (checkNextStep == null) { db.status_action = 2; _context.SaveChanges(); model.db = db; update_step(db.id, db.step_num, db.status_action ?? 4); saveDetail(model); db.status_finish = 3; db.to_user = ""; db.deadline = null; _context.SaveChanges(); } else { db.status_action = 2; _context.SaveChanges(); model.db = db; update_step(db.id, db.step_num, db.status_action ?? 4); saveDetail(model); var next_deadline = DateTime.Now.AddHours(Convert.ToDouble(checkNextStep.duration_hours ?? 0)); db.to_user = checkNextStep.user_id; db.deadline = next_deadline; db.step_num++; db.step_name = checkNextStep.name; _context.SaveChanges(); model.db = db; update_step(db.id, db.step_num, 1); } } else if (model.db.status_action == 3) { db.status_finish = 5; db.to_user = db.start_by; db.deadline = null; _context.SaveChanges(); model.db = db; update_step(db.id, db.step_num, db.status_action ?? 4); saveDetail(model); } return(1); }
private bool checkModelStateEdit(sys_approval_model item) { return(checkModelStateCreateEdit(ActionEnumForm.edit, item)); }
private bool checkModelStateApproval(sys_approval_model item) { return(ModelState.IsValid); }