public ActionResult Form(int id)
        {
            T entities = new T();

            if (id == 0)
            {
                return(View(entities));
            }

            var repository = BaseCommonRepository <T> .BaseRepository();

            ReturnOutput returnOutput = new ReturnOutput();
            var          result       = repository.FindById(id, ref returnOutput);

            return(View());
        }
        public ActionResult SaveAndUpdate(T entity)
        {
            var repository = BaseCommonRepository <T> .BaseRepository();

            ReturnOutput returnOutput = new ReturnOutput();

            int id = (int)entity.GetType().GetProperty("Id").GetValue(entity);

            if (id == 0)
            {
                var result = repository.Add(entity, ref returnOutput);
            }
            else
            {
                repository.Update(entity, ref returnOutput);
            }

            ViewBag.Status = returnOutput.ErrorMessage;

            return(View());
        }