Beispiel #1
0
        public ActionResult EditModel(GeneratedModel gm)
        {
            var success = false;
            var message = string.Empty;
            var _id     = -1;

            try {
                if (gm.ID < 1)
                {
                    repo.AddGeneratedModel(gm);
                }
                else
                {
                    var mod = repo.GetGeneratedModel().Where(x => x.ID == gm.ID).FirstOrDefault();
                    mod.Name     = gm.Name;
                    mod.Inherits = gm.Inherits;
                    if (!string.IsNullOrEmpty(mod.Inherits))
                    {
                        var parentType = repo.GetGeneratedModel().Where(x => x.IFullName.Equals(mod.Inherits)).FirstOrDefault();
                        if (parentType != null)
                        {
                            var dupes = new List <string>();
                            if (DuplicateProperties(mod, parentType, dupes))
                            {
                                throw new Exception("following properties already exist: " + string.Join(", ", dupes));
                            }
                        }
                    }
                }
                repo.SaveChanges();
                _id = gm.ID;
            }catch (Exception ex) {
                message = ex.Message;
            }

            return(Json(new{ success = true, message = message, id = _id }));
        }