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); }
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); }