public ActionResult Store(List <base1> listBase1, List <base2> listBase2, List <base3> listBase3)
        {
            var message = "Success !";

            var _listBase1 = listBase1.ToList();
            var _listBase2 = listBase2.ToList();
            var _listBase3 = listBase3.ToList();

            using (ContextDB db = new ContextDB())
                using (var dbTransaction = db.Database.BeginTransaction())
                {
                    foreach (var item in _listBase1)
                    {
                        var _base1 = new base1()
                        {
                            factory  = item.factory,
                            cal_size = item.cal_size,
                        };
                        db.base1.Add(_base1);
                    }

                    try
                    {
                        db.SaveChanges();
                        dbTransaction.Commit();
                    }
                    catch (Exception e)
                    {
                        dbTransaction.Rollback();
                        message = "Error! " + e.ToString();
                    }
                }

            return(Json(message));
        }
    public class1(base1 mytype)
    {
        switch (mytype.type)
        case mytype.types.type1
            return(createObjectOftype1());

    case mytype.types.type2
        return(createObjectOftype2());

    case mytype.types.type3
        return(createObjectOftype3());
    }