Exemplo n.º 1
0
        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"));
        }
Exemplo n.º 2
0
        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;
            }
        }
Exemplo n.º 3
0
        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;
            }
        }
Exemplo n.º 4
0
        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);
            }
        }
Exemplo n.º 5
0
        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);
            }
        }