示例#1
0
        public State UpdateState([FromBody] State state)
        {
            if (state != null)
            {
                var business = StateBusiness.Instance;
                var request  = new UpdateStateRequest(this.Context);
                request.State = state;

                state = business.UpdateState(request);
            }

            return(state);
        }
示例#2
0
        public State UpdateState(UpdateStateRequest request)
        {
            State state = null;

            if (request != null && request.State != null)
            {
                var dataAccess = new StateDataAccess(request.Context);

                state = dataAccess.Update(request.State);
            }

            return(state);
        }
示例#3
0
        public async Task <IActionResult> UpdateStateAsync([FromRoute] Guid id, [FromBody] UpdateStateRequest request, [FromHeader(Name = "If-Match")] byte[] rowVersion)
        {
            ValidatePathIdWithRequestBodyId(id, request.Id);

            request.SetRowVersion(rowVersion);
            var updateStateCommand = _mapper.Map <UpdateStateRequest, UpdateStateCommand>(request);
            await _communicationBus.SendCommandAsync(updateStateCommand);

            var getStateOutputQuery = await _getStateQueryHandler.HandleAsync(new GetStateInputQuery(updateStateCommand.StateId));

            var stateResponse = _mapper.Map <StateOutputQuery, StateResponse>(getStateOutputQuery);

            return(Ok(stateResponse));
        }
示例#4
0
        public async Task <IActionResult> UpdateState(UpdateStateRequest sData)
        {
            _logger.LogInformation($"Invoking endpoint: {this.HttpContext.Request.GetDisplayUrl()}");
            _logger.LogDebug($"Request - {JsonConvert.SerializeObject(sData)}");

            var data = await _saService.UpdateStatedetail(sData);

            _logger.LogInformation($"Response - update State {data}");
            _logger.LogDebug($"Response - {JsonConvert.SerializeObject(data)}");
            return(Ok(new AddEditResponse
            {
                Status = data.Status,
                Message = data.Message,
            }));
        }
示例#5
0
        public async Task Should_Return_Unauthorized_Status_Code_When_Requesting_By_Anonymous_Client()
        {
            var updateStateRequest = new UpdateStateRequest
            {
                Id         = Guid.NewGuid(),
                Name       = "UpdateStateIntegrationTestNewName",
                PolishName = "UpdateStateIntegrationTestNewPolishName"
            };
            var updateStateRequestString = JsonConvert.SerializeObject(updateStateRequest);
            var requestContent           = new StringContent(updateStateRequestString, Encoding.UTF8, "application/json");

            _fixture.AnonymousHttpClient.DefaultRequestHeaders.Add("api-version", "1");

            var response = await _fixture.AnonymousHttpClient.PutAsync($"api/states/{updateStateRequest.Id}", requestContent);

            response.StatusCode.Should().BeEquivalentTo(HttpStatusCode.Unauthorized);
        }
示例#6
0
        public void Invoke(object Sender, object Element)
        {
            CommandParameters cp = (CommandParameters)Element;

            string[] selectedElements = EntityGrid.GetCheckedCollection(((CommandManager)Sender).Page, cp.CommandArguments["GridId"]);

            if (selectedElements != null && selectedElements.Length > 0)
            {
                int errorCount = 0;
                using (TransactionScope tran = DataContext.Current.BeginTransaction())
                {
                    foreach (string elem in selectedElements)
                    {
                        string[]     parts = elem.Split(new string[] { "::" }, StringSplitOptions.RemoveEmptyEntries);
                        string       id    = parts[0];
                        PrimaryKeyId key   = PrimaryKeyId.Parse(id);

                        try
                        {
                            DocumentContentVersionEntity dcve = (DocumentContentVersionEntity)BusinessManager.Load(DocumentContentVersionEntity.GetAssignedMetaClassName(), key);
                            dcve.State = (int)DocumentContentVersionState.Draft;
                            UpdateStateRequest usr = new UpdateStateRequest(dcve);
                            BusinessManager.Execute(usr);
                        }
                        catch (Exception ex)
                        {
                            CHelper.GenerateErrorReport(ex);
                            errorCount++;
                        }
                    }

                    tran.Commit();
                }

                if (errorCount > 0)
                {
                    ((CommandManager)Sender).InfoMessage = CHelper.GetResFileString("{IbnFramework.Common:NotAllSelectedItemsWereProcessed}");
                }

                CHelper.RequireBindGrid();
            }
        }
示例#7
0
        public void Invoke(object Sender, object Element)
        {
            CommandParameters cp = (CommandParameters)Element;
            string[] selectedElements = EntityGrid.GetCheckedCollection(((CommandManager)Sender).Page, cp.CommandArguments["GridId"]);

            if (selectedElements != null && selectedElements.Length > 0)
            {
                int errorCount = 0;
                using (TransactionScope tran = DataContext.Current.BeginTransaction())
                {
                    foreach (string elem in selectedElements)
                    {
                        string[] parts = elem.Split(new string[] { "::" }, StringSplitOptions.RemoveEmptyEntries);
                        string id = parts[0];
                        PrimaryKeyId key = PrimaryKeyId.Parse(id);

                        try
                        {
                            DocumentContentVersionEntity dcve = (DocumentContentVersionEntity)BusinessManager.Load(DocumentContentVersionEntity.GetAssignedMetaClassName(), key);
                            dcve.State = (int)DocumentContentVersionState.Obsolete;
                            UpdateStateRequest usr = new UpdateStateRequest(dcve);
                            BusinessManager.Execute(usr);
                        }
                        catch (Exception ex)
                        {
                            CHelper.GenerateErrorReport(ex);
                            errorCount++;
                        }
                    }

                    tran.Commit();
                }

                if (errorCount > 0)
                    ((CommandManager)Sender).InfoMessage = CHelper.GetResFileString("{IbnFramework.Common:NotAllSelectedItemsWereProcessed}");

                CHelper.RequireBindGrid();
            }
        }
示例#8
0
 public AddUpdateMaster UpdateStatedetail(UpdateStateRequest sData)
 {
     try
     {
         string stProc = UpdateState;
         var    pList  = new List <SqlParameter>
         {
             new SqlParameter("@Id", sData.Id),
             new SqlParameter("@State_gov_code", sData.stateGovCode ?? sData.stateGovCode),
             new SqlParameter("@Statename", sData.name ?? sData.name),
             new SqlParameter("@Shortname", sData.shortName ?? sData.shortName),
             new SqlParameter("@Isactive", sData.isActive),
             new SqlParameter("@Comments", sData.comments ?? sData.comments),
             new SqlParameter("@UserId", sData.userId),
         };
         var returnData = UtilityDL.FillEntity <AddUpdateMaster>(stProc, pList);
         return(returnData);
     }
     catch (Exception e)
     {
         throw e;
     }
 }
示例#9
0
 public ActionResult UpdateState(UpdateStateRequest request)
 {
     database.State = request.State;
     return(Ok());
 }
        /// <summary>
        /// Customs the method.
        /// </summary>
        /// <param name="context">The context.</param>
        protected virtual void UpdateState(BusinessContext context)
        {
            // Load Meta Object
            MetaObject metaObject = MetaObjectActivator.CreateInstance(DocumentContentVersionEntity.GetAssignedMetaClassName(),
                context.GetTargetPrimaryKeyId().Value);

            // Extract old and new states
            DocumentContentVersionState newState = (DocumentContentVersionState)(int)context.Request.Target["State"];
            DocumentContentVersionState oldState = (DocumentContentVersionState)(int)metaObject["State"];

            if (oldState == newState)
                return;

            BusinessContext.Current.Items["MC_Document_SourceMetaObject"] = metaObject;
            BusinessContext.Current.Items["MC_Document_NewState"] = newState;
            BusinessContext.Current.Items["MC_Document_OldState"] = oldState;

            // Pre-Process
            switch(oldState)
            {
                case DocumentContentVersionState.Active:
                    {
                        // Reset Content Reference to Active Document here
                        DocumentEntity document = (DocumentEntity)BusinessManager.Load(DocumentEntity.GetAssignedMetaClassName(), (PrimaryKeyId)metaObject["OwnerDocumentId"]);
                        document.ActiveVersionId = null;
                        BusinessManager.Update(document);
                    }
                    break;
                case DocumentContentVersionState.Draft:
                    // Nothing
                    break;
                case DocumentContentVersionState.Obsolete:
                    // Nothing
                    break;
            }

            // Process
            switch(newState)
            {
                case DocumentContentVersionState.Active:
                    {
                        DocumentEntity document = (DocumentEntity)BusinessManager.Load(DocumentEntity.GetAssignedMetaClassName(), (PrimaryKeyId)metaObject["OwnerDocumentId"]);

                        // Reset Current Reference to Active Document here
                        if (document.ActiveVersionId.HasValue)
                        {
                            DocumentContentVersionEntity oldVersion = new DocumentContentVersionEntity(document.ActiveVersionId.Value);
                            oldVersion.State = (int)DocumentContentVersionState.Draft;

                            UpdateStateRequest request = new UpdateStateRequest(oldVersion);
                            BusinessManager.Execute(request);
                        }

                        // Update Current Reference to Active Document here
                        document.ActiveVersionId = context.GetTargetPrimaryKeyId();
                        BusinessManager.Update(document);
                    }
                    break;
                case DocumentContentVersionState.Draft:
                    break;
                case DocumentContentVersionState.Obsolete:
                    break;
            }

            // Update Data Storage And Save
            metaObject["State"] = (int)newState;
            metaObject.Save();

            context.SetResponse(new Response());
        }
示例#11
0
 public UpdateStateResponse(UpdateStateRequest request, IActionRequest forRequest)
     : base(request)
 {
     ForRequest = forRequest;
 }
示例#12
0
 public static UpdateStateResponse New(UpdateStateRequest request, IActionRequest forRequest) => new UpdateStateResponse(request, forRequest);
示例#13
0
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='request'>
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task UpdateStatePostAsync(this IApiV1Item operations, UpdateStateRequest request = default(UpdateStateRequest), CancellationToken cancellationToken = default(CancellationToken))
 {
     (await operations.UpdateStatePostWithHttpMessagesAsync(request, null, cancellationToken).ConfigureAwait(false)).Dispose();
 }
示例#14
0
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='request'>
 /// </param>
 public static void UpdateStatePost(this IApiV1Item operations, UpdateStateRequest request = default(UpdateStateRequest))
 {
     operations.UpdateStatePostAsync(request).GetAwaiter().GetResult();
 }
示例#15
0
 public void EnqueueStateUpdate(UpdateStateRequest request)
 {
     _updateQueue.Enqueue(request);
 }
示例#16
0
        /// <param name='request'>
        /// </param>
        /// <param name='customHeaders'>
        /// Headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        /// <exception cref="HttpOperationException">
        /// Thrown when the operation returned an invalid status code
        /// </exception>
        /// <return>
        /// A response object containing the response body and response headers.
        /// </return>
        public async Task <HttpOperationResponse> UpdateStatePostWithHttpMessagesAsync(UpdateStateRequest request = default(UpdateStateRequest), Dictionary <string, List <string> > customHeaders = null, CancellationToken cancellationToken = default(CancellationToken))
        {
            // Tracing
            bool   _shouldTrace  = ServiceClientTracing.IsEnabled;
            string _invocationId = null;

            if (_shouldTrace)
            {
                _invocationId = ServiceClientTracing.NextInvocationId.ToString();
                Dictionary <string, object> tracingParameters = new Dictionary <string, object>();
                tracingParameters.Add("request", request);
                tracingParameters.Add("cancellationToken", cancellationToken);
                ServiceClientTracing.Enter(_invocationId, this, "UpdateStatePost", tracingParameters);
            }
            // Construct URL
            var _baseUrl = Client.BaseUri.AbsoluteUri;
            var _url     = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "api/v1/item/_updateState").ToString();
            // Create HTTP transport objects
            var _httpRequest = new HttpRequestMessage();
            HttpResponseMessage _httpResponse = null;

            _httpRequest.Method     = new HttpMethod("POST");
            _httpRequest.RequestUri = new System.Uri(_url);
            // Set Headers


            if (customHeaders != null)
            {
                foreach (var _header in customHeaders)
                {
                    if (_httpRequest.Headers.Contains(_header.Key))
                    {
                        _httpRequest.Headers.Remove(_header.Key);
                    }
                    _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value);
                }
            }

            // Serialize Request
            string _requestContent = null;

            if (request != null)
            {
                _requestContent      = Microsoft.Rest.Serialization.SafeJsonConvert.SerializeObject(request, Client.SerializationSettings);
                _httpRequest.Content = new StringContent(_requestContent, System.Text.Encoding.UTF8);
                _httpRequest.Content.Headers.ContentType = System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8");
            }
            // Send Request
            if (_shouldTrace)
            {
                ServiceClientTracing.SendRequest(_invocationId, _httpRequest);
            }
            cancellationToken.ThrowIfCancellationRequested();
            _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false);

            if (_shouldTrace)
            {
                ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse);
            }
            HttpStatusCode _statusCode = _httpResponse.StatusCode;

            cancellationToken.ThrowIfCancellationRequested();
            string _responseContent = null;

            if ((int)_statusCode != 204)
            {
                var ex = new HttpOperationException(string.Format("Operation returned an invalid status code '{0}'", _statusCode));
                if (_httpResponse.Content != null)
                {
                    _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false);
                }
                else
                {
                    _responseContent = string.Empty;
                }
                ex.Request  = new HttpRequestMessageWrapper(_httpRequest, _requestContent);
                ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent);
                if (_shouldTrace)
                {
                    ServiceClientTracing.Error(_invocationId, ex);
                }
                _httpRequest.Dispose();
                if (_httpResponse != null)
                {
                    _httpResponse.Dispose();
                }
                throw ex;
            }
            // Create Result
            var _result = new HttpOperationResponse();

            _result.Request  = _httpRequest;
            _result.Response = _httpResponse;
            if (_shouldTrace)
            {
                ServiceClientTracing.Exit(_invocationId, _result);
            }
            return(_result);
        }