public async Task UpdateAsync(Birdhouse invoice) { using (var connection = _provider.GetDbConnection()) using (var transaction = connection.BeginTransaction()) { try { var query = "UPDATE birdhouse SET name = @name," + " type = @type, equipment_id= @equipment_id," + " min_temperature= @min_temperature, max_temperature= @max_temperature, min_humidity= @min_humidity, max_humidity= @max_humidity," + " warning_ammonia_concentration= @warning_ammonia_concentration, warning_negative_pressure= @warning_negative_pressure, create_time= @create_time, update_time= @update_time" + " WHERE id = @id"; await connection.ExecuteAsync(query, invoice, transaction); var lineIds = new List <int>(); //lineIds.AddRange(invoice.Where(l => l.Id != 0).Select(l => l.Id)); //foreach (var line in invoice.InvoiceLines) //{ // if (line.Id == 0) // { // query = "INSERT INTO InvoiceLines (LineItem, Amount, Unit, UnitPrice, VatPercent, InvoiceId)"; // query += "VALUES (@LineItem, @Amount, @Unit, @UnitPrice, @VatPercent," + invoice.Id + "); "; // query += "SELECT CAST(SCOPE_IDENTITY() AS INT)"; // var id = await connection.QueryFirstAsync<int>(query, line, transaction); // lineIds.Add(id); // } // else // { // query = "UPDATE InvoiceLines SET LineItem=@LineItem,Amount=@Amount,Unit=@Unit,"; // query += "UnitPrice=@UnitPrice,VatPercent=@VatPercent "; // query += "WHERE Id=@Id"; // await connection.ExecuteAsync(query, line, transaction); // } //} //if (lineIds.Count > 0) //{ // query = "DELETE FROM InvoiceLines WHERE InvoiceId=" + invoice.Id + " AND "; // query += "Id NOT IN(" + string.Join(',', lineIds) + ")"; // await connection.ExecuteAsync(query, transaction: transaction); //} transaction.Commit(); } catch { transaction.Rollback(); throw; } } }
public void AttachBirdhouse(Birdhouse house, int placementGridY, bool onRightSide) { house.SetAttachedTransform(this, placementGridY, onRightSide, false); Birdhouses.Add(house); house.OnAttached(this); if (Score.Instance) { Score.Instance.OnBirdHousesChanged(); } }
//------------------------------Unity Functions------------------------------ void Awake() { RandomizeBirdy(); mBackgroundManager = GameObject.Find("BackgroundManager").GetComponent <BackgroundManager>(); mBirdhouse = GameObject.FindGameObjectWithTag("Birdhouse").GetComponent <Birdhouse>(); SetBirdyState(BirdyState.Flying); //audio = GetComponents<AudioSource>(); //as1 = audio[0]; //as2 = audio[1]; }
public JsonResult editBir([FromBody] editBirModel value) { try { var token = value.token; var cache = CacheUntity.GetCache <UserCacheModel>(token); //var birdModelStr = value.model; //var birdModel = value.model; //JsonConvert.DeserializeObject<Birdhouse>(birdModelStr); Birdhouse birdhouse = _birdhouse.GetByID(value.id); birdhouse.update_time = Util.ToUnixStamp(DateTime.Now).ToString(); //{"token":"08ea69102b204b09bd66cdbcf661dfef","min_temperature":"12","max_temperature":"23","min_humidity":"11" //,"max_humidity":"22","warning_ammonia_concentration":0,"warning_negative_pressure":0,"id":238} birdhouse.min_humidity = value.min_humidity.ToString("F1"); birdhouse.min_temperature = value.min_temperature.ToString("F1"); birdhouse.max_humidity = value.max_humidity.ToString("F1"); birdhouse.max_temperature = value.max_temperature.ToString("F1"); birdhouse.warning_ammonia_concentration = value.warning_ammonia_concentration.ToString(); birdhouse.warning_negative_pressure = value.warning_negative_pressure.ToString(); _birdhouse.Update(birdhouse); var model1 = _cache.FillCacheWithToken(token, cache.member); CacheUntity.SetCache(token, model1.Result); var model = new CacheModel(); model.serial = birdhouse.equipment_id; var equip = _equipment.GetCacheModelByserial(model.serial); model.bind_status = equip.bind_status; model.birdhouse_name = equip.birdhouse_name; model.phone = 5; model.sms = 5; model.smsEnableFlag = true; model.call_num = 0; model.max_humidity = equip.max_humidity; model.min_humidity = equip.min_humidity; model.max_temperature = equip.max_temperature; model.min_temperature = equip.min_temperature; model.warning_ammonia_concentration = equip.warning_ammonia_concentration; model.warning_negative_pressure = equip.warning_negative_pressure; model.name = equip.name; model.status = equip.status; model.username = equip.username; model.warning_mobile = equip.warning_mobile; model.currentTemp = "0"; model.currentHumidity = "0"; model.currentPower = "0"; model.setDate = DateTime.Now.Date; CacheUntity.SetCache(birdhouse.equipment_id, model); return(Json(new { code = 1, status = "success", msg = "添加成功" })); } catch (Exception e) { LogHelper.Error(JsonConvert.SerializeObject(e)); return(Json(new nologin())); } }
public void Update(Birdhouse prod) { using (IDbConnection dbConnection = _provider.GetDbConnection()) { string sQuery = "UPDATE birdhouse SET name = @name," + " type = @type, equipment_id= @equipment_id," + " min_temperature= @min_temperature, max_temperature= @max_temperature, min_humidity= @min_humidity, max_humidity= @max_humidity," + " warning_ammonia_concentration= @warning_ammonia_concentration, warning_negative_pressure= @warning_negative_pressure, create_time= @create_time, update_time= @update_time" + " WHERE id = @id"; dbConnection.Open(); dbConnection.Query(sQuery, prod); } }
public void Add(Birdhouse admin) { using (IDbConnection dbConnection = _provider.GetDbConnection()) { string sQuery = @"INSERT INTO birdhouse (`member_id`, `name`, `type`, `equipment_id`, `min_temperature`, `max_temperature`, `min_humidity`, `max_humidity`, `warning_ammonia_concentration`, `warning_negative_pressure`, `create_time`, `update_time`, `delete_time`)" + @" VALUES(@member_id, @name,@type, @equipment_id, @min_temperature,@max_temperature,@min_humidity,@max_humidity, @warning_ammonia_concentration,@warning_negative_pressure,@create_time,@update_time,@delete_time)"; dbConnection.Open(); dbConnection.Execute(sQuery, admin); } }
void Randomize() { for (int i = 0; i < RandomBirdhousesN; i++) { var pos = new Vector3(Random.Range(-8F, -2F), 0, Random.Range(-8F, -2F)); Birdhouse birdhouse = Instantiate(BirdhousePrefab, pos, Quaternion.Euler(0, 180, 0)); for (int j = 0; j < Random.Range(1, 3); j++) { BirdhouseSegment bhSeg = Instantiate(BirdhouseSegmentPrefab, birdhouse.transform); bhSeg.BaseColorIndex = Random.Range(1, 4); } PlacedObjects.Add(birdhouse); } }
public JsonResult index([FromBody] Addbirdhouse value) { try { var token = value.token; var cache = CacheUntity.GetCache <UserCacheModel>(token); var temp = _equipment.GetByserial(value.equipment_id); if (temp == null) { return(Json(new { code = 0, status = "fail", msg = "非法设备" })); } else if (temp.bind_status == "1") { return(Json(new { code = 0, status = "fail", msg = "已绑定设备" })); } var equip = _equipment.GetByserial(value.equipment_id); Birdhouse BIRD = new Birdhouse(); BIRD.name = value.name; BIRD.member_id = cache.member.id; BIRD.equipment_id = value.equipment_id; BIRD.max_humidity = "100"; BIRD.max_temperature = "70"; BIRD.min_humidity = "30"; BIRD.min_temperature = "10"; BIRD.type = value.type; BIRD.warning_ammonia_concentration = "0"; BIRD.warning_negative_pressure = "0"; BIRD.create_time = Util.ToUnixStamp(DateTime.Now).ToString(); BIRD.update_time = Util.ToUnixStamp(DateTime.Now).ToString(); _birdhouse.Add(BIRD); equip.member_id = cache.member.id; //equip.name = value.name; //equip.serial = value.equipment_id; equip.status = "1"; equip.bind_status = "1"; equip.birdhouse_id = BIRD.id; equip.update_time = Util.ToUnixStamp(DateTime.Now).ToString(); _equipment.Update(equip); var model = _cache.FillCacheWithToken(token, cache.member); CacheUntity.SetCache(token, model.Result); return(Json(new { code = 1, status = "success", msg = "添加成功" })); } catch (Exception e) { LogHelper.Error(JsonConvert.SerializeObject(e)); return(Json(new nologin())); } }
private void TryPlaceAtCursor() { if (ObjectBeingPlaced != null) { RaycastHit hitInfo = new RaycastHit(); if (!Physics.Raycast(Pointer.GetRay(Camera.main), out hitInfo, 100.0f, 1 << LayerMask.NameToLayer("PlacementCollider"))) { ObjectBeingPlaced.gameObject.SetActive(false); return; } Tree tree = hitInfo.collider.GetComponentInParent <Tree>(); if (!tree) { ObjectBeingPlaced.gameObject.SetActive(false); return; } float cursorWorldYOffset = hitInfo.point.y - tree.transform.position.y; int cursorGridHeight = Mathf.RoundToInt(cursorWorldYOffset / GridConfig.SegmentHeight); int placementGridY = Mathf.Max(GridConfig.MinPlacementHeight, Mathf.Min(MaxPlacementHeight, cursorGridHeight)); bool onRightSide = hitInfo.point.x > tree.transform.position.x; if (tree.CanBeAttached(ObjectBeingPlaced.SegmentCount, placementGridY, onRightSide)) { if (Input.GetMouseButtonDown(0)) { ObjectBeingPlaced.gameObject.SetActive(true); tree.AttachBirdhouse(ObjectBeingPlaced, placementGridY, onRightSide); ObjectBeingPlaced = null; return; } else { tree.PreviewBirdhouse(ObjectBeingPlaced, placementGridY, onRightSide); } ObjectBeingPlaced.gameObject.SetActive(true); return; } ObjectBeingPlaced.gameObject.SetActive(false); } return; }
// Returns true if found a birdhouse that could be detached underneath cursor. private bool TryDetachBirdhouse() { RaycastHit hitInfo = new RaycastHit(); if (!Physics.Raycast(Pointer.GetRay(Camera.main), out hitInfo, 100.0f, 1 << LayerMask.NameToLayer("Birdhouse"))) { return(false); } Birdhouse attachedHouse = hitInfo.collider.GetComponentInParent <Birdhouse>(); if (!attachedHouse) { return(false); } if (attachedHouse.AttachedToTree) { // TODO: Could show preview for detaching house. if (Input.GetMouseButtonDown(0)) { attachedHouse.AttachedToTree.DetachHouse(attachedHouse); if (ObjectBeingPlaced != null) { ObjectBeingPlaced.gameObject.SetActive(true); ObjectBeingPlaced.PutBack(); PlacedObjectQueue.AddToFrontOfQueue(ObjectBeingPlaced); } ObjectBeingPlaced = attachedHouse; if (Score.Instance != null) { Score.Instance.OnBirdHousesChanged(); } } return(true); } return(false); }
public void PreviewBirdhouse(Birdhouse house, int placementGridY, bool onRightSide) { house.SetAttachedTransform(this, placementGridY, onRightSide, true); }
public void DetachHouse(Birdhouse house) { house.OnDetached(); Birdhouses.Remove(house); }
public void AddToFrontOfQueue(Birdhouse birdhouse) { PlacedObjects.Insert(0, birdhouse); }