public async Task <DataProviderModel <string> > CreateObject(CreateDealObject dealObject) { var queryIdentifier1 = Guid.NewGuid().ToString(); var query1 = new Query(queryIdentifier1, "UpsertUserObject"); query1.Parameters.Add(new QueryParameter("in", "ObjectCategory_Id", dealObject.ObjectCategoryId, SqlDbType.Int)); query1.Parameters.Add(new QueryParameter("in", "ObjectStatus_Id", dealObject.ObjectStatusId, SqlDbType.Int)); query1.Parameters.Add(new QueryParameter("in", "ObjectName", dealObject.ObjectName, SqlDbType.NVarChar)); if (!string.IsNullOrEmpty(dealObject.Description)) { query1.Parameters.Add(new QueryParameter("in", "Description", dealObject.Description, SqlDbType.NVarChar)); } var listQuery = new List <Query> { query1 }; var queryIdentifier2 = Guid.NewGuid().ToString(); var query2 = new Query(queryIdentifier2, "UpsertCheckList"); query2.ParentQueryGUID.Add(queryIdentifier1); query2.Parameters.Add(new QueryParameter("in", "CheckListName", "Лист проверок", SqlDbType.NVarChar)); listQuery.Add(query2); foreach (var dealCheck in dealObject.CheckList) { var queryIdentifier = Guid.NewGuid().ToString(); var query = new Query(queryIdentifier, "UpsertCheck"); query.ParentQueryGUID.Add(queryIdentifier2); query.Parameters.Add(new QueryParameter("in", "CheckType_Id", dealCheck.CheckTypeId, SqlDbType.Int)); query.Parameters.Add(new QueryParameter("in", "Task", dealCheck.Task, SqlDbType.NVarChar)); listQuery.Add(query); } var result = await _sessionQueryExecutor.Execute(listQuery).ConfigureAwait(false); var model = new DataProviderModel <string>(result.ResultMessage); foreach (var q11 in result.Queries) { if (q11.Name == "UpsertUserObject") { if (q11.Parameters.Exists(x => x.Code == "Object_Id")) { model.Model = q11.Parameters.Find(x => x.Code == "Object_Id").Value; } } } return(model); }
public async Task <IActionResult> Create(ObjectModifyViewModel model) { if (ModelState.IsValid) { var checks = model.ObjectChecks.Select(c => new DealCheck(((int)c.CheckType).ToString(), c.Description)); var createObjectModel = new CreateDealObject(model.CategoryCode, ((int)model.ObjectStatusType).ToString(), model.Name, model.Description, checks); var createObjectResult = await _dealObjectProvider.CreateObject(createObjectModel); if (createObjectResult.ResultMessage.MessageType != MessageType.Error) { return(RedirectToAction(nameof(Index))); } else { ShowError(createObjectResult.ResultMessage.Message); } } return(View(model)); }
/// <summary> /// Takes a CreateDealObject Object and Posts it to Zendesk will return a json String /// </summary> /// <param name="authorizationString"></param> /// <param name="deal"></param> /// <returns></returns> public string CreateDeal(CreateDealObject deal) { var client = new RestClient() { BaseUrl = new Uri("https://api.getbase.com/v2/") }; var request = new RestRequest("https://api.getbase.com/v2/deals", Method.POST) { RequestFormat = DataFormat.Json }; request.JsonSerializer = new RestSharpJsonNetSerializer(); request.AddHeader("Accept", "application/json") .AddHeader("Content-Type", " application/json") .AddHeader("Authorization", authorizationString); request.AddJsonBody(deal); var reponse = client.Execute(request); return(reponse.Content); }