Example #1
0
        public UpdateDashboardResponse Handle(UpdateDashboardRequest request)
        {
            var response = new UpdateDashboardResponse();

            response.Errors = Validate(request);

            if (response.HasErrors)
            {
                return(response);
            }
            try
            {
                var dashOrigin = _dashRepository.Get(request.DashBoard.Id);

                UpdateDashObject(dashOrigin, request.DashBoard);

                _dashRepository.Update(dashOrigin);

                return(response);
            }
            catch (Exception ex)
            {
                response.Errors.Add(new ErrorStatus("BAD_REQUEST"));
                return(response);
            }
        }
        protected override void ProcessRecord()
        {
            base.ProcessRecord();
            UpdateDashboardRequest request;

            try
            {
                request = new UpdateDashboardRequest
                {
                    DashboardId            = DashboardId,
                    UpdateDashboardDetails = UpdateDashboardDetails,
                    IfMatch        = IfMatch,
                    OpcRequestId   = OpcRequestId,
                    OpcCrossRegion = OpcCrossRegion
                };

                response = client.UpdateDashboard(request).GetAwaiter().GetResult();
                WriteOutput(response, response.Dashboard);
                FinishProcessing(response);
            }
            catch (Exception ex)
            {
                TerminatingErrorDuringExecution(ex);
            }
        }
        public HttpResponseMessage Update(string ticket, DashBoard dash)
        {
            var securityProvider = new SecurityProvider(_connectionString);

            var sessionInfo = securityProvider.GetSessionInfo(ticket);

            if (sessionInfo == null)
            {
                return(Request.CreateResponse(HttpStatusCode.Unauthorized));
            }

            var updateRequest = new UpdateDashboardRequest
            {
                DashBoard = dash, //TODO FIX HERE
                UserId    = sessionInfo.User.Id
            };

            var handler = new UpdateDashBoardHandler(_connectionString);

            var response = handler.Handle(updateRequest);

            var statusCode = ResolveStatusCode(response);

            return(Request.CreateResponse(statusCode, response));
        }
        public async Task <UpdateDashboardResponse> UpdateAsync(UpdateDashboardRequest request)
        {
            if (request == null)
            {
                throw new ArgumentNullException(nameof(request));
            }

            var response = await ExecutePostRequestAsync <UpdateDashboardResponse, UpdateDashboardRequest>("/api/dashboards/db", null, request, _authentication);

            return(response);
        }
        public UpdateDashboardResponse Update(UpdateDashboardRequest request)
        {
            if (request == null)
            {
                throw new ArgumentNullException(nameof(request));
            }

            var task = Task.Run(() => UpdateAsync(request));

            task.Wait();

            return(task.Result);
        }
Example #6
0
        public IList <ErrorStatus> Validate(UpdateDashboardRequest request)
        {
            var errors = new List <ErrorStatus>();

            if (request == null)
            {
                errors.Add(new ErrorStatus("BAD_REQUEST"));
                return(errors);
            }

            if (request.DashBoard == null)
            {
                errors.Add(new ErrorStatus("BAD_REQUEST"));
                return(errors);
            }

            if (_dashRepository.Get(request.DashBoard.Id) == null)
            {
                errors.Add(new ErrorStatus("DASH_NOT_FOUND"));
                return(errors);
            }

            if (request.DashBoard.Id < 1)
            {
                errors.Add(new ErrorStatus("CORRUPTED_ID"));
                return(errors);
            }

            if (request.DashBoard.Name.Length > 254)
            {
                errors.Add(new ErrorStatus("NAME_TOO_LONG"));
                return(errors);
            }

            var ownerUser = _dashRepository.GetUserByDashId(request.DashBoard.Id);

            if (ownerUser != null && ownerUser.Id != request.UserId)
            {
                errors.Add(new ErrorStatus("UNAUTHORIZED_ACCESS"));
                return(errors);
            }


            return(errors);
        }