Exemple #1
0
 public static TStation GetStation(string id)
 {
     using (MainDataContext dbContext = new MainDataContext(AppConfig.ConnectionStringDispatch))
     {
         TStation entity = null;
         if (id != null)
         {
             entity = dbContext.TStation.FirstOrDefault(t => t.编码 == id);
         }
         entity = entity ?? new TStation
         {
             编码   = "",
             称    = string.Empty,
             中心编码 = 0,
             IP地址 = string.Empty,
             是否调度 = true,
             电话号码 = string.Empty,
             所属区域 = string.Empty,
             X坐标  = 0,
             Y坐标  = 0,
             顺序号  = 0,
             是否有效 = true
         };
         return(entity);
     }
 }
        public ActionResult StationSave(TStation entity)
        {
            BLL.Organize.Station station = new BLL.Organize.Station();

            int managerId = int.Parse(Request.Form["ManagerID"]);

            entity.IP地址 = entity.IP地址 ?? string.Empty;
            entity.电话号码 = entity.电话号码 ?? string.Empty;
            entity.通信标识 = entity.通信标识 ?? string.Empty;
            entity.所属区域 = entity.所属区域 ?? string.Empty;

            if (ModelState.IsValid)
            {
                bool save = station.Save(entity, managerId);

                if (save)
                {
                    return(Json(new { IsSuccess = true, Message = "保存成功" }, "text/html", JsonRequestBehavior.AllowGet));
                }
                else
                {
                    return(Json(new { IsSuccess = false, Message = "保存失败" }, "text/html", JsonRequestBehavior.AllowGet));
                }
            }

            return(View());
        }
 public bool GetSurrogate(TAlliance alliance, TStation station)
 {
     if (alliance == TAlliance.Red)
     {
         return(station == TStation.Station1 ? Red1Surrogate : Red2Surrogate);
     }
     else
     {
         return(station == TStation.Station1 ? Blue1Surrogate : Blue2Surrogate);
     }
 }
 public Team GetTeam(TAlliance alliance, TStation station)
 {
     if (alliance == TAlliance.Red)
     {
         return(station == TStation.Station1 ? Red1 : Red2);
     }
     else
     {
         return(station == TStation.Station1 ? Blue1 : Blue2);
     }
 }
Exemple #5
0
 private void HandleStation(TStation data)
 {
     DbData = new SqlTStation()
     {
         latitude  = data.Latitude,
         longitude = data.Longitude,
         objDesc   = data.Des,
         objId     = data.ID,
         objName   = data.Name,
         objTypeId = (int)data.Type,
         parentId  = data.ParentID,
     };
 }
Exemple #6
0
        public static StationRow Create(TStation station, CompactionReportStationOffsetRequest request)
        {
            var offsetCount = station.NumberOfOffsets;

            var row = new StationRow
            {
                Station = station.Station,
                Offsets = new StationOffsetRow[offsetCount],
                Maximum = OffsetStatistics.Create(OffsetStatisticType.Maximum, station, request),
                Minimum = OffsetStatistics.Create(OffsetStatisticType.Minimum, station, request),
                Average = OffsetStatistics.Create(OffsetStatisticType.Average, station, request)
            };

            return(row);
        }
Exemple #7
0
        /// <summary>
        /// add:增加nodemap和station实体
        /// update:只替换实体
        /// </summary>
        /// <param name="station"></param>
        /// <returns></returns>
        public async Task <bool> UpdateOrAddStation(TStation station)
        {
            var nd = NdList.Find(n => n.OrgiData.ID == station.ID);

            if (nd == null)
            {
                var ndMap = nodemap.Find(n => n.objId == nd.OrgiData.ID);
                if (ndMap == null)
                {
                    return(false);
                }
                nd = new SuperBStation(station, ndMap.nodeIsid);

                try
                {
                    await _db.tStation.AddAsync(nd.DbData);

                    await _db.SaveChangesAsync();

                    NdList.Add(nd);
                }
                catch (Exception ex)
                {
                    LogHelper.Error(ex);
                    return(false);
                }
            }
            else
            {
                if (nd.Update(station))
                {
                    try
                    {
                        _db.tStation.Update(nd.DbData);
                        await _db.SaveChangesAsync();
                    }
                    catch (Exception ex)
                    {
                        LogHelper.Error(ex);
                        return(false);
                    }
                }
            }

            return(true);
        }
Exemple #8
0
        public static OffsetStatistics Create(OffsetStatisticType type, TStation station, CompactionReportRequest request)
        {
            var offsetStatistics = new OffsetStatistics();

            switch (type)
            {
            case OffsetStatisticType.Maximum:
                offsetStatistics.SetValues(0, 0, station.ElevMax, station.CutFillMax, station.CMVMax, station.MDPMax, station.PassCountMax, station.TemperatureMax);
                break;

            case OffsetStatisticType.Minimum:
                offsetStatistics.SetValues(0, 0, station.ElevMin, station.CutFillMin, station.CMVMin, station.MDPMin, station.PassCountMin, station.TemperatureMin);
                break;

            case OffsetStatisticType.Average:
                offsetStatistics.SetValues(0, 0, station.ElevAvg, station.CutFillAvg, station.CMVAvg, station.MDPAvg, station.PassCountAvg, station.TemperatureAvg);
                break;
            }
            offsetStatistics.SetReportFlags(request);
            return(offsetStatistics);
        }
Exemple #9
0
        public bool Update(TStation data)
        {
            if (data == null)
            {
                return(false);
            }

            if (OrgiData == null)
            {
                OrgiData = data;
                HandleStation(data);
                return(true);
            }

            if (data.ID != OrgiData.ID)
            {
                return(false);
            }

            bool isUpdated = false;

            if (OrgiData.Name != data.Name)
            {
                OrgiData.Name  = data.Name;
                DbData.objName = data.Name;
                isUpdated      = true;
            }

            if (OrgiData.ParentID != data.ParentID)
            {
                OrgiData.ParentID = data.ParentID;
                DbData.parentId   = data.ParentID;
                isUpdated         = true;
            }

            if (OrgiData.Des != data.Des)
            {
                OrgiData.Des   = data.Des;
                DbData.objDesc = data.Des;
                isUpdated      = true;
            }

            if (OrgiData.Type != data.Type)
            {
                OrgiData.Type    = data.Type;
                DbData.objTypeId = (int)data.Type;
                isUpdated        = true;
            }

            if (OrgiData.Latitude != data.Latitude)
            {
                OrgiData.Latitude = data.Latitude;
                DbData.latitude   = data.Latitude;
                isUpdated         = true;
            }

            if (OrgiData.Longitude != data.Longitude)
            {
                OrgiData.Longitude = data.Longitude;
                DbData.longitude   = data.Longitude;
                isUpdated          = true;
            }

            return(isUpdated);
        }
Exemple #10
0
 public SuperBStation(TStation data, string nodeIsid)
 {
     OrgiData = data;
     NodeIsid = nodeIsid != null? nodeIsid:Uuid.Create16Token();
     HandleStation(data);
 }
Exemple #11
0
        public bool Save(TStation entity, int managerId)
        {
            if (DataAccess <TStation> .ToList(AppConfig.ConnectionStringDispatch).Count(t => t.编码 == entity.编码) == 0)  //添加
            {
                //TStation
                //long total = DataAccess<TStation>.ToList(AppConfig.ConnectionStringDispatch).Count;

                //if (total == 0)
                //{
                //    entity.编码 = "001";
                //}
                //else
                //{
                //    int code = int.Parse(DataAccess<TStation>.ToList(AppConfig.ConnectionStringDispatch).Max(a => a.编码)) + 1;
                //    entity.编码 = code.ToString().PadLeft(3, '0'); ;
                //}

                //B_ORGANIZATION表
                B_ORGANIZATION org = new B_ORGANIZATION();

                org.ID        = DataAccess <B_ORGANIZATION> .ToList().Max(a => a.ID) + 1;;
                org.ManagerID = managerId;
                org.Name      = entity.称;
                org.Type      = (int)OrgType.Station;
                org.编码        = entity.编码.ToString();

                Func <B_ORGANIZATION, bool> o = s => s.编码 == entity.中心编码.ToString() && s.Type == (int)OrgType.Center;
                org.ParentID = DataAccess <B_ORGANIZATION> .SingleOrDefault(o).ID;

                //Insert
                //using (TransactionScope scope = new TransactionScope())
                //{
                try
                {
                    DataAccess <B_ORGANIZATION> .Insert(org);

                    DataAccess <TStation> .Insert(AppConfig.ConnectionStringDispatch, entity);

                    //scope.Complete();

                    return(true);
                }
                catch (Exception ex)
                {
                    Log4Net.LogError("SaveSation", ex.ToString());
                    return(false);
                }

                //}
            }
            else  //修改
            {
                //using (TransactionScope scope = new TransactionScope())
                //{
                try
                {
                    //TCenter
                    DataAccess <TStation> .Update(AppConfig.ConnectionStringDispatch, entity);

                    //B_ORGANIZATION
                    Func <B_ORGANIZATION, bool> o = s => s.编码 == entity.编码.ToString() && s.Type == (int)OrgType.Station;

                    B_ORGANIZATION org = DataAccess <B_ORGANIZATION> .SingleOrDefault(o);

                    org.ManagerID = managerId;
                    org.Name      = entity.称;

                    Func <B_ORGANIZATION, bool> p = s => s.编码 == entity.中心编码.ToString() && s.Type == (int)OrgType.Center;
                    org.ParentID = DataAccess <B_ORGANIZATION> .SingleOrDefault(p).ID;

                    DataAccess <B_ORGANIZATION> .Update(org);

                    //B_WORKER_ORGANIZATION
                    Func <B_WORKER_ORGANIZATION, bool> c = s => s.OrgID == org.ID;

                    List <B_WORKER_ORGANIZATION> list = DataAccess <B_WORKER_ORGANIZATION> .Where(c).ToList();

                    foreach (B_WORKER_ORGANIZATION wo in list)
                    {
                        if (wo.WorkerID != managerId)
                        {
                            wo.ParentID = managerId;

                            DataAccess <B_WORKER_ORGANIZATION> .Update(wo);
                        }
                    }
                    //scope.Complete();

                    return(true);
                }
                catch (Exception ex)
                {
                    Log4Net.LogError("SaveCenter", ex.ToString());
                    return(false);
                }
            }
            //}
        }