public void RequestInstance(UserDTO usr, AddInstanceModel model) { User userDB = HelperMethods.GetUser(usr); if (userDB != null) { Instances ins = new Instances { InstanceType = db.InstanceTypes.Find(model.InstanceType), LocationInstalled = db.ServerLocations.Find(model.ServerLocation), Owner = db.User.Find(userDB.ID), URL = model.URLExtension, DeleteDate = DateTime.Now }; ins = db.Instances.Add(ins); db.SaveChanges(); Clients.Caller.triggerUpdate(); Clients.Caller.notifyChange("Added a instance!", MsgTypeDTO.SUCCESS); db.EmailQueue.Add(new EmailQueue { Instance = db.Instances.Find(ins.ID), IsReady = true, Template = db.EmailTemplates.Find(ins.InstanceType.ID), Owner = db.User.Find(userDB.ID), FutureTime = DateTime.Now }); string batch_create = @"C:\PointSaaS\Images\" + ins.InstanceType.ID + @"\CREATE.cmd"; db.SaveChanges(); System.Diagnostics.Process.Start(batch_create, "" + ins.ID + " " + ins.URL); } else { Clients.Caller.notifyChange("Error", MsgTypeDTO.ERROR); } }
// POST api/values public IHttpActionResult AddInstanceApi(AddInstanceModel input) { // add Instance var instanceId = AddInstance(input); return(Ok(Common.ToJson(instanceId))); }
// POST api/values public IHttpActionResult AddInstanceApi(AddInstanceModel input) { // add Instance var instanceId = AddInstance(input); if (input.ChildId != null) { ConnectInstanceToChild(instanceId, input.ChildId); } return(Ok(Common.ToJson(instanceId))); }
/// <summary> /// Add Instance /// </summary> /// <param name="model"></param> /// <returns></returns> private string AddInstance(AddInstanceModel model) { _dataModelManager.GetDefaultDataModel(Enums.SQLOperation.INSERT, DBEntityNames.Tables.Instance.ToString()); _dataModelManager.AddParameter(DBEntityNames.Instance.Title.ToString(), Enums.ParameterType._string, model.Title); _dataModelManager.AddParameter(DBEntityNames.Instance.Responsible.ToString(), Enums.ParameterType._int, Common.GetResponsibleId()); _dataModelManager.AddParameter(DBEntityNames.Instance.GraphId.ToString(), Enums.ParameterType._int, model.GraphId.ToString()); var instanceIdTable = _manager.InsertData(_dataModelManager.DataModel); // add Instance Roles if (instanceIdTable.Rows.Count > 0 && instanceIdTable.Rows[0][DBEntityNames.Instance.Id.ToString()] != null) { var instanceId = (instanceIdTable.Rows[0][DBEntityNames.Instance.Id.ToString()]).ToString(); AddInstanceDescription(instanceId, model.GraphId.ToString()); if (model.UserRoles.Count > 0) { AddInstanceRoles(model.UserRoles, instanceId); } return(instanceId); } return(string.Empty); }