public async Task <DataProviderVoidModel> UpdateObject(UpdateDealObject 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)); query1.Parameters.Add(new QueryParameter("in", "Object_Id", dealObject.ObjectId, SqlDbType.Int)); if (!string.IsNullOrEmpty(dealObject.Description)) { query1.Parameters.Add(new QueryParameter("in", "Description", dealObject.Description, SqlDbType.NVarChar)); } var listQuery = new List <Query> { query1 }; var result = await _sessionQueryExecutor.Execute(listQuery).ConfigureAwait(false); var model = new DataProviderVoidModel(result.ResultMessage); return(model); }
public async Task <IActionResult> Update(string objectID, string checkListId, ObjectModifyViewModel model) { if (ModelState.IsValid) { var checks = model .ObjectChecks .Select(c => new DealCheck(((int)c.CheckType).ToString(), c.Description, c.CheckId)) .ToList(); var checksToAdd = checks .Where(c => String.IsNullOrEmpty(c.CheckId)) .ToList(); var addChecksTask = _dealObjectProvider.CreateChecks(checksToAdd, checkListId, objectID); var checksIds = checks .Where(c => !String.IsNullOrEmpty(c.CheckId)).Select(c => c.CheckId); var oldChecks = await _dealObjectProvider.GetChecks(checkListId); var oldChecksIds = oldChecks.Model.Select(c => c.CheckId); var checksToDelete = oldChecksIds.Where(c => !checksIds.Contains(c.ToString())) .Select(c => c.ToString()) .ToList(); var deleteChecksTask = _dealObjectProvider.DeleteChecks(checksToDelete, checkListId, objectID); var updateObjectModel = new UpdateDealObject(objectID, model.CategoryCode, ((int)model.ObjectStatusType).ToString(), model.Name, model.Description); var updateObjectTask = _dealObjectProvider.UpdateObject(updateObjectModel); await Task.WhenAll(addChecksTask, deleteChecksTask, updateObjectTask); if (addChecksTask.Result.ResultMessage.MessageType != MessageType.Error && deleteChecksTask.Result.ResultMessage.MessageType != MessageType.Error && updateObjectTask.Result.ResultMessage.MessageType != MessageType.Error) { return(RedirectToAction(nameof(Index))); } else { ShowError(updateObjectTask.Result.ResultMessage.Message); } } var categories = await _dealObjectProvider.GetCategories(); model.CategoryList = new SelectList(categories.Model, nameof(ObjectCategory.Id), nameof(ObjectCategory.Name)); return(View(new UpdateObjectViewModel { CheckListId = checkListId, ModifyViewModel = model, ObjectId = objectID })); }
/// <summary> /// Create a UpdateDealObject and pass it all the variables from the original deal only updating the values you want to update form the original /// this will return a json String /// </summary> /// <param name="authorizationString"></param> /// <param name="updatedDeal"></param> /// <param name="dealID"></param> /// <returns></returns> public string UpdateDeal(UpdateDealObject updatedDeal, string dealID) { var client = new RestClient() { BaseUrl = new Uri(" https://api.getbase.com/v2/") }; var request = new RestRequest(string.Format(" https://api.getbase.com/v2/deals/{0}", dealID), Method.PUT) { RequestFormat = DataFormat.Json }; request.JsonSerializer = new RestSharpJsonNetSerializer(); request.AddHeader("Accept", "application/json") .AddHeader("Content-Type", "application/json") .AddHeader("Authorization", "Bearer 569ff471e1fb35bdb0f86e0a521e456ae5d45912947ce1c9514946e2446a3bf0"); request.AddJsonBody(updatedDeal); var response = client.Execute(request); return(response.Content); }