コード例 #1
0
        public async Task <CSResponse> SensorData(string data, string id)
        {
            using (WBAPISensor.WristbandSensorClient client = new WBAPISensor.WristbandSensorClient())
            {
                UploadSensorDataRequest req = new UploadSensorDataRequest();
                req.Data      = data;
                req.SensorId  = Convert.ToInt64(id);
                req.SessionId = new Guid();
                var res = await client.UploadSensorDataAsync(req);

                if (res.ResultCode == 0)
                {
                    return(res);
                }
                return(res);
                //return Json(res, JsonRequestBehavior.AllowGet);
            }
        }
コード例 #2
0
        /// <summary>
        /// Upload sensor data to server
        /// </summary>
        /// <param name="req">sensor data request</param>
        /// <returns>sensor data response</returns>
        public UploadSensorDataResponse UploadSensorData(UploadSensorDataRequest req)
        {
            logger.Debug("[BEGIN]");
            logger.Trace(CommonUtility.ToJson(req));

            // Define and Initialize response
            UploadSensorDataResponse res = new UploadSensorDataResponse();

            // Transaction start
            using (var dbTransactionContext = context.Database.BeginTransaction())
            {
                try
                {
                    // Check sensor id exists
                    var sensorInfo = context.sensor_info.Where(w => w.id == req.SensorId).FirstOrDefault();
                    if (sensorInfo == null)
                    {
                        // If sensor id does not exists then attach error codes to response
                        res.ResultCode       = SensorErrors.SensorNotRegistered.eCode;
                        res.ResultMessage    = SensorErrors.SensorNotRegistered.eMsg;
                        res.ExceptionMessage = null;

                        // Write error to log
                        CommonUtility.writeErrorLog("UploadSensorData", res, null, logger);

                        // return response
                        return(res);
                    }

                    // create sensor_data entity to be updated
                    sensor_data sensorData = new sensor_data();
                    sensorData.sensor    = sensorInfo.id;
                    sensorData.data      = req.Data;
                    sensorData.timestamp = DateTime.Now;
                    sensorData.is_delete = (short)ECDeleteType.NOT_DELETE;

                    // add entity to dbContext
                    context.sensor_data.Add(sensorData);

                    // save changes to db
                    context.SaveChanges();

                    // commit db transaction
                    dbTransactionContext.Commit();
                }
                catch (Exception ex)
                {
                    // Rollback the database transaction context
                    dbTransactionContext.Rollback();

                    // Attach error codes to response
                    res.ResultCode       = CommonErrors.DBOperationError.eCode;
                    res.ResultMessage    = CommonErrors.DBOperationError.eMsg;
                    res.ExceptionMessage = ex.InnerException.ToString();

                    // Write exception to log
                    CommonUtility.writeErrorLog("UploadSensorData", res, ex, logger);

                    return(res);
                }
            }

            // attach success result codes to response
            res.ResultCode    = CommonErrors.SUCCESS.eCode;
            res.ResultMessage = CommonErrors.SUCCESS.eMsg;

            logger.Debug("[OK]");

            // return response
            return(res);
        }