Example #1
0
 /// <summary>
 /// Updates the zone.
 /// </summary>
 /// <param name="conn">The connection.</param>
 /// <param name="zone">The zone.</param>
 public void updateZone(DBConnection_EF conn, AZONE zone)
 {
     try
     {
         conn.SaveChanges();
     }
     catch (Exception ex)
     {
         logger.Warn(ex);
         throw;
     }
 }
Example #2
0
 /// <summary>
 /// Inserts the zone.
 /// </summary>
 /// <param name="conn">The connection.</param>
 /// <param name="zone">The zone.</param>
 public void insertZone(DBConnection_EF conn, AZONE zone)
 {
     try
     {
         conn.AZONE.Add(zone);
         conn.SaveChanges();
     }
     catch (Exception ex)
     {
         logger.Warn(ex);
         throw;
     }
 }
        //private List<AZONE> LoadCurrentVehicleEnoughZones()
        //{
        //    var zones = zoneBLL.cache.LoadZones();

        //    foreach (var zone in zones)
        //    {
        //        var vh_in_zone = zone.getCurrentVhs(vehicleBLL);
        //        if (vh_in_zone.Count > zone.VehicleCountLowerLimit)//如果比目前的低水位還高的話即可以前往協助其他區
        //        {

        //        }
        //    }
        //}

        private bool IsVehicleEnoughIncludeOnWay(string zoneID)
        {
            AZONE           zone = zoneBLL.cache.GetZone(zoneID);
            List <AVEHICLE> in_zone_and_on_way = new List <AVEHICLE>();
            //1.取得目前在該Zone的Vehicle
            var in_current_zone_vh = zone.getCurrentVhs(vehicleBLL);

            if (in_current_zone_vh.Count > 0)
            {
                in_zone_and_on_way.AddRange(in_current_zone_vh);
            }
            //2.要找出在途的Vh,確保不會再多派一台過來
            //todo by kevin
            return(in_zone_and_on_way.Count >= zone.VehicleCountLowerLimit);
        }
Example #4
0
        /// <summary>
        /// Gets the zone by zone identifier.
        /// </summary>
        /// <param name="conn">The connection.</param>
        /// <param name="readLock">The read lock.</param>
        /// <param name="zone_id">The zone_id.</param>
        /// <returns>Zone.</returns>
        public AZONE getZoneByZoneID(DBConnection_EF conn, Boolean readLock, string zone_id)
        {
            AZONE rtnZone = null;

            try
            {
                var query = from zone in conn.AZONE
                            where zone.ZONE_ID == zone_id.Trim()
                            select zone;
                rtnZone = query.SingleOrDefault();
            }
            catch (Exception ex)
            {
                logger.Warn(ex);
                throw;
            }
            return(rtnZone);
        }