public async Task <IActionResult> UpdateCamera([FromBody] UpdateCameraRequest request) { string userGuid = HttpContext.Request.Headers["UserGuid"]; CameraLogic cameraLogic = new CameraLogic(); await cameraLogic.UpdateCamera(request, userGuid); if (!cameraLogic.Response.IsSuccessful) { return(BadRequest(cameraLogic.Response.ErrorMessage)); } return(Ok("Success")); }
public async Task InsertCamera(UpdateCameraRequest request, string guid) { Response.IsSuccessful = true; // validate request values if (string.IsNullOrEmpty(request.LocationName) || request.Latitude == 0 || request.Longitude == 0 || string.IsNullOrEmpty(guid)) { Response.IsSuccessful = false; Response.ErrorMessage = "you must provide all required fields "; return; } // get user by guid and validate user permision User user = await userCRUDService.GetByUserGuid(guid); if (user == null || user?.IsAdmin == false) { Response.IsSuccessful = false; Response.ErrorMessage = "user is not exist or user is not admin"; return; } Camera newCamera = new Camera() { CameraId = 0, DateAdded = DateTime.UtcNow, IsWorking = request.IsWorking, Latitude = request.Latitude, Longitude = request.Longitude, LocationName = request.LocationName }; // insert camera and get new camera id int newId = (int)await cameraCRUDService.InsertCamera(newCamera); if (newId == 0) { Response.IsSuccessful = false; Response.ErrorMessage = "cannot insert camera"; return; } // if camera inserted insert usercamera by new camera id value if (!await userCameraLogic.InsertUserCamera(user.UserId, newId)) { Response.IsSuccessful = false; Response.ErrorMessage = "camera was inserted but userCamera faild"; return; } }
public async Task UpdateCamera(UpdateCameraRequest request, string guid) { Response.IsSuccessful = true; // validate request values if (request.CameraId == 0 || string.IsNullOrEmpty(guid)) { Response.IsSuccessful = false; Response.ErrorMessage = "you must provide all required fields "; return; } // get user by guid and validate user permision User user = await userCRUDService.GetByUserGuid(guid); if (user == null || user?.IsAdmin == false) { Response.IsSuccessful = false; Response.ErrorMessage = "user is not exist or user is not admin"; return; } // get usercamera by camera id and validate camera is asigned to user UserCamera userCamera = await userCameraLogic.GetCameraById(request.CameraId); if (userCamera == null || (userCamera.UserId != user.UserId && userCamera.UserId != user.AdminId)) { Response.IsSuccessful = false; Response.ErrorMessage = "camera is not exist or user is own this camera"; return; } Camera newCamera = new Camera() { CameraId = request.CameraId, DateAdded = DateTime.UtcNow, IsWorking = request.IsWorking, Latitude = request.Latitude, Longitude = request.Longitude, LocationName = request.LocationName }; // update camera if (!await cameraCRUDService.UpdateCamera(newCamera)) { Response.IsSuccessful = false; Response.ErrorMessage = "cannot update camera"; return; } }
public UpdateCameraResponse UpdateCamera(UpdateCameraRequest request) { try { if (request == null) { throw new ArgumentNullException("request"); } UpdateCameraResponse response = new UpdateCameraResponse(); response.Camera = CameraTranslator.Translate( Locator.Get <ICameraManager>().UpdateCamera( request.CameraId, request.CameraName, request.Description, request.Tags)); return(response); } catch (Exception ex) { throw new FaultException <DeviceConnectorServiceFault>(new DeviceConnectorServiceFault(ex.Message, ex), ex.Message); } }
public void UpdateCamera(Camera camera, EventHandler <AsyncWorkerCallbackEventArgs <Camera> > callback) { if (camera == null) { throw new ArgumentNullException("camera"); } try { AsyncWorkerHandle <Camera> handle = AsyncWorkerHelper.DoWork <Camera>( delegate(object sender, DoWorkEventArgs e) { UpdateCameraRequest request = new UpdateCameraRequest(); request.CameraId = camera.Id; request.CameraName = camera.Name; request.Description = camera.Description; request.Tags = camera.Tags; UpdateCameraResponse response = ServiceProvider.GetService <IDeviceConnectorService, IDeviceConnectorCallbackService>( ViewModelLocator.ServiceClient, ViewModelLocator.SelectedService.HostName, ViewModelLocator.SelectedService.Uri.ToString() ).UpdateCamera(request); if (response.Camera != null) { e.Result = camera; } }, null, callback); } catch (Exception ex) { ExceptionHandler.Handle(ex); } }