Пример #1
0
        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);
        }
Пример #2
0
        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
            }));
        }
Пример #3
0
        /// <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);
        }