private bool checkModelStateCreateEdit(ActionEnumForm action, sys_factory_line_item_capacity_model item)
        {
            //if (item.db.quantity ==null || item.db.quantity == 0)
            //{
            //    ModelState.AddModelError("db.quantity", "required");
            //}
            if (item.db.productTime == null || item.db.productTime == 0)
            {
                ModelState.AddModelError("db.productTime", "required");
            }
            if (string.IsNullOrEmpty(item.db.id_item))
            {
                ModelState.AddModelError("db.id_item", "required");
            }
            var searchName = repo.FindAll().Where(d =>
                                                  d.db.id_sys_factory_line == item.db.id_sys_factory_line &&
                                                  d.db.id_item == item.db.id_item &&
                                                  d.db.id_specification == item.db.id_specification &&
                                                  d.db.id != item.db.id).Count();

            if (searchName > 0)
            {
                ModelState.AddModelError("db.id_item", "existed");
                ModelState.AddModelError("db.id_specification", "existed");
            }

            return(ModelState.IsValid);
        }
        public int update(sys_factory_line_item_capacity_model model)
        {
            var db = _context.sys_factory_line_item_capacitys.Where(d => d.id == model.db.id).FirstOrDefault();

            db.quantity = model.db.quantity;

            db.quantity_unit_main = model.db.quantity_unit_main;
            db.energy             = 100 / model.db.quantity;
            db.update_by          = model.db.update_by;
            db.update_date        = model.db.update_date;
            db.productTime        = model.db.productTime;
            _context.SaveChanges();
            return(1);
        }
        public async Task <IActionResult> create([FromBody] JObject json)
        {
            sys_factory_line_item_capacity_model model = JsonConvert.DeserializeObject <sys_factory_line_item_capacity_model>(json.GetValue("data").ToString());
            var check = checkModelStateCreate(model);

            if (!check)
            {
                return(generateError());
            }
            model.db.create_by   = getUserId();
            model.db.id          = 0;
            model.db.create_date = DateTime.Now;
            await repo.insert(model);

            return(Json(model));
        }
        public async Task <int> insert(sys_factory_line_item_capacity_model model)
        {
            if ((model.db.id_specification ?? 0) != 0)
            {
                var specification = _context.sys_item_specifications.Where(t => t.id == model.db.id_specification).SingleOrDefault();
                model.db.id_unit            = specification.id_unit;
                model.db.id_unit_main       = _context.sys_items.Where(t => t.id == model.db.id_item).Select(t => t.id_unit).SingleOrDefault();
                model.db.quantity_unit_main = specification.conversion_factor * model.db.quantity;
                model.db.conversion_factor  = specification.conversion_factor;
            }
            model.db.energy = 100 / model.db.quantity;
            await _context.sys_factory_line_item_capacitys.AddAsync(model.db);

            _context.SaveChanges();
            return(1);
        }
 private bool checkModelStateEdit(sys_factory_line_item_capacity_model item)
 {
     return(checkModelStateCreateEdit(ActionEnumForm.edit, item));
 }