Exemplo n.º 1
0
        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;
                    }
                }
        }
Exemplo n.º 2
0
 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();
     }
 }
Exemplo n.º 3
0
 //------------------------------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];
 }
Exemplo n.º 4
0
 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()));
     }
 }
Exemplo n.º 5
0
 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);
     }
 }
Exemplo n.º 6
0
        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);
        }
    }
Exemplo n.º 8
0
 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);
    }
Exemplo n.º 11
0
 public void PreviewBirdhouse(Birdhouse house, int placementGridY, bool onRightSide)
 {
     house.SetAttachedTransform(this, placementGridY, onRightSide, true);
 }
Exemplo n.º 12
0
 public void DetachHouse(Birdhouse house)
 {
     house.OnDetached();
     Birdhouses.Remove(house);
 }
 public void AddToFrontOfQueue(Birdhouse birdhouse)
 {
     PlacedObjects.Insert(0, birdhouse);
 }