public static List <ResourceWithValue> GetResource(long?id) { List <ResourceWithValue> resList = new List <ResourceWithValue>(); try { string requestTopic = ServiceTopics.rmResourceBulk; Uri uri = new Uri("http://localhost:9092"); var requestOptions = new KafkaOptions(uri); var requestRouter = new BrokerRouter(requestOptions); var consumer = new Consumer(new ConsumerOptions(requestTopic, requestRouter)); foreach (var message in consumer.Consume()) { ResourceWithValue resource = JsonConvert.DeserializeObject <ResourceWithValue>(message.ToString()); resList.Add(resource); } if (id != null && resList != null && resList.Count > 0) { return(resList.Where(x => x.Id == id).GroupBy(x => x.Id).Select(x => x.LastOrDefault()).ToList <ResourceWithValue>()); } else if (resList != null && resList.Count > 0) { return(resList.GroupBy(x => x.Id).Select(x => x.LastOrDefault()).ToList <ResourceWithValue>()); } } catch (Exception ex) { Console.WriteLine("Error reading bulk to kafka server" + Environment.NewLine + ex.Message); } return(resList); }
public HttpResponseMessage PostResource([FromBody] ResourceWithValue model) { try { ResourceRepository.AddResourceInfo(model); KafkaService.PostResource(model); return(Request.CreateResponse(System.Net.HttpStatusCode.OK, 202)); } catch (Exception ex) { return(Request.CreateErrorResponse(System.Net.HttpStatusCode.BadRequest, ex)); } }
public HttpResponseMessage PutResource([FromBody] ResourceWithValue model) { try { ResourceRepository.UpdateResourceInfo(model); return(Request.CreateResponse(System.Net.HttpStatusCode.OK, 202)); } catch (Exception ex) { return(Request.CreateErrorResponse(System.Net.HttpStatusCode.NotFound, ex)); } }
public static bool UpdateResource(ResourceWithValue resModel) { bool isUpdateSuccess = false; ResourceWithValue responseObj = new ResourceWithValue(); using (var client = new HttpClient()) { client.BaseAddress = new Uri(baseUrl); client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); HttpResponseMessage response = client.PutAsJsonAsync($"api/PutResource/", resModel).Result; if (response.IsSuccessStatusCode) { isUpdateSuccess = true; } } return(isUpdateSuccess); }
public static void PostResource(ResourceWithValue resource) { try { JObject jsonObj = JObject.FromObject(resource); string payload = jsonObj.ToString(); string topic = ServiceTopics.rmResourceBulk; Message msg = new Message(payload); Uri uri = new Uri("http://localhost:9092"); var options = new KafkaOptions(uri); var router = new BrokerRouter(options); var client = new Producer(router); client.SendMessageAsync(topic, new List <Message> { msg }).Wait(); } catch (Exception ex) { Console.WriteLine("Error saving bulk to kafka server" + Environment.NewLine + ex.Message); } }
public static void UpdateResourceInfo(ResourceWithValue model) { using (SqlConnection con = new SqlConnection(conString)) { con.Open(); using (SqlCommand cmd = new SqlCommand()) { cmd.Connection = con; cmd.CommandType = CommandType.Text; cmd.CommandText = "Update [3DX_RM_DB].[dbo].[ResourceTable] set TypeId = " + model.TypeId + ",StatusId = " + model.StatusId + ",Name = '" + model.Name + "' where Id = " + model.Id + ""; cmd.ExecuteNonQuery(); cmd.CommandText = "SELECT LocationId FROM [3DX_RM_DB].[dbo].[ResourceTable] where Id = " + model.Id + ""; long locationId = (long)cmd.ExecuteScalar(); cmd.CommandText = "Update [3DX_RM_DB].[dbo].[LocationTable] set X = " + model.LocationValue.X + ",Y = " + model.LocationValue.Y + ",Z = " + model.LocationValue.Z + ",Rotation = " + model.LocationValue.Rotation + " where Id = " + locationId + ""; cmd.ExecuteNonQuery(); } con.Close(); } }
public static ResourceWithValue SaveResource(ResourceWithValue resModel) { ResourceWithValue responseObj = new ResourceWithValue(); using (var client = new HttpClient()) { client.BaseAddress = new Uri(baseUrl); client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); HttpResponseMessage response = client.PostAsJsonAsync($"api/PostResource/", resModel).Result; if (response.IsSuccessStatusCode) { // Get the response var resourceJsonString = response.Content.ReadAsStringAsync().Result; var deserialized = JsonConvert.DeserializeObject <ResourceResponseModel>(resourceJsonString); responseObj = ModelDataConversion.ResponseModelToDataModel(deserialized); } } return(responseObj); }