Exemple #1
0
 public static T getById <T>(int id) where T : BaseEntity
 {
     using (EFMySqlDbContext context = new Db.EFMySqlDbContext())
     {
         return(context.getDbSet <T>().FirstOrDefault(i => i.id == id));
     }
 }
Exemple #2
0
 public static void updateMap(int templateId, List <int> indicatorIdList)
 {
     using (EFMySqlDbContext context = new Db.EFMySqlDbContext())
     {
         using (var transaction = context.Database.BeginTransaction())
         {
             try
             {
                 var listToDel = context.Tb_indicatorTemplateMaps.Where(itm => itm.templateId == templateId);
                 context.Tb_indicatorTemplateMaps.RemoveRange(listToDel);
                 foreach (int indicatorId in indicatorIdList)
                 {
                     context.Tb_indicatorTemplateMaps.Add(new Entity.Tb_indicatorTemplateMap()
                     {
                         templateId = templateId, indicatorId = indicatorId
                     });
                 }
                 context.SaveChanges();
                 transaction.Commit();
             }
             catch (Exception)
             {
                 transaction.Rollback();
             }
         }
     }
 }
Exemple #3
0
        public static List <queryClassifyResult> selectClassifyNum()
        {
            string sql = @"SELECT COUNT(1) as number,taskClass
FROM tb_taskinfo
WHERE taskState in(5004,5005)
GROUP BY taskClass";

            using (EFMySqlDbContext context = new Db.EFMySqlDbContext())
            {
                return(context.Database.SqlQuery <queryClassifyResult>(sql).ToList());
            }
        }
Exemple #4
0
 public static void save <T>(T t) where T : BaseEntity
 {
     using (EFMySqlDbContext context = new Db.EFMySqlDbContext())
     {
         try
         {
             context.getDbSet <T>().Add(t);
             context.SaveChanges();
         }
         catch (Exception ex)
         {
             throw new Exception("保存失败:" + ex.Message);
         }
     }
 }
Exemple #5
0
 public static IList <T> getAll <T>() where T : BaseEntity
 {
     try
     {
         using (EFMySqlDbContext context = new Db.EFMySqlDbContext())
         {
             return(context.getDbSet <T>().ToList());
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show("无法从数据库获取数据,原因是:" + ex.Message);
         return(new List <T>());
     }
 }
Exemple #6
0
 public static void saveResults(List <Tb_taskResult> taskResultList)
 {
     using (EFMySqlDbContext context = new Db.EFMySqlDbContext())
     {
         using (var transaction = context.Database.BeginTransaction())
         {
             try
             {
                 for (int i = 0; i < taskResultList.Count; i++)
                 {
                     context.Tb_taskResults.Add(taskResultList[i]);
                     context.SaveChanges();
                     context.Entry(taskResultList[i]);
                     int              resultId   = taskResultList[i].id;
                     string           supple     = taskResultList[i].supplement;
                     ResultSupplement resultSupp = ResultSupplement.fromJson(supple);
                     if (resultSupp != null)
                     {
                         foreach (var item in resultSupp.alarmInputList)
                         {
                             Tb_alarminput alarm = new Tb_alarminput();
                             alarm.taskId    = taskResultList[i].taskId;
                             alarm.resultId  = resultId;
                             alarm.alarmType = item.alarmType;
                             alarm.alarmForm = item.alarmForm;
                             alarm.classify  = item.classify;
                             alarm.describe  = item.describe;
                             context.Tb_alarminputs.Add(alarm);
                             context.SaveChanges();
                         }
                     }
                     //context.Tb_alarminputs.Add()
                 }
                 transaction.Commit();
             }
             catch (Exception ex)
             {
                 transaction.Rollback();
                 throw ex;
             }
         }
         //context.Tb_taskResults.AddRange(taskResultList);
         //context.SaveChanges();
     }
 }
Exemple #7
0
        /// <summary>
        /// 查询每个月的任务数量
        /// </summary>
        /// <returns></returns>
        public static List <queryDateResult> selectEveryMonthTaskNum()
        {
            string sql = @"SELECT count(1) as number, dateNum
FROM
(
SELECT taskId,DATE_FORMAT(taskStateDateTime,'%Y.%m') dateNum
from tb_tasklifecycle
WHERE taskState in(5004,5005)
and TIMESTAMPDIFF(MONTH,NOW(),taskStateDateTime)<=6
group by taskId

) temp
GROUP BY dateNum
ORDER BY dateNum ";

            using (EFMySqlDbContext context = new Db.EFMySqlDbContext())
            {
                return(context.Database.SqlQuery <queryDateResult>(sql).ToList());
            }
        }
Exemple #8
0
 public static void edit <T>(T entity) where T : BaseEntity
 {
     using (EFMySqlDbContext context = new Db.EFMySqlDbContext())
     {
         try
         {
             var            foundIndicator = context.getDbSet <T>().FirstOrDefault(i => i.id == entity.id);
             PropertyInfo[] properties     = typeof(T).GetProperties();
             foreach (var property in properties)
             {
                 string text = property.Name;
                 property.SetValue(foundIndicator, property.GetValue(entity));
             }
             context.SaveChanges();
         }
         catch (Exception ex)
         {
             throw new Exception("修改失败:" + ex.Message);
         }
     }
 }
Exemple #9
0
 /// <summary>
 /// 新增任务,及任务相关的表(任务指标映射表、任务生命周期表)
 /// </summary>
 /// <param name="task"></param>
 /// <param name="indicatorIdList"></param>
 public static void createTask(Tb_taskInfo task, List <int> indicatorIdList, Dictionary <int, List <int> > brandModelIdDic)
 {
     using (EFMySqlDbContext context = new Db.EFMySqlDbContext())
     {
         using (var transaction = context.Database.BeginTransaction())
         {
             try
             {
                 //新增任务信息
                 context.Tb_taskInfos.Add(task);
                 context.SaveChanges();
                 context.Entry(task);
                 int taskId = task.id;
                 //添加任务生命周期
                 Tb_taskLifecycle lifecycle = new Tb_taskLifecycle();
                 lifecycle.taskId                  = taskId;
                 lifecycle.taskStateDateTime       = DateTime.Now;
                 lifecycle.taskStateChangeExecutor = User.currentUser.name;
                 lifecycle.taskState               = (int)TaskStateEnum.Created;
                 lifecycle.remark                  = string.Empty;
                 context.Tb_taskLifecycles.Add(lifecycle);
                 context.SaveChanges();
                 //添加任务型号映射
                 List <Tb_taskModelMap> tmmList = new List <Entity.Tb_taskModelMap>();
                 foreach (int brandId in brandModelIdDic.Keys)
                 {
                     foreach (int modelId in brandModelIdDic[brandId])
                     {
                         Tb_taskModelMap tmm = new Tb_taskModelMap();
                         tmm.taskId  = taskId;
                         tmm.brandId = brandId;
                         tmm.ModelId = modelId;
                         tmmList.Add(tmm);
                     }
                 }
                 context.Tb_taskModelMaps.AddRange(tmmList);
                 context.SaveChanges();
                 //添加任务指标映射
                 List <Tb_taskIndicatorMap> timList = new List <Tb_taskIndicatorMap>();
                 foreach (int indicatorId in indicatorIdList)
                 {
                     Tb_taskIndicatorMap tim = new Tb_taskIndicatorMap();
                     tim.taskId      = taskId;
                     tim.indicatorId = indicatorId;
                     timList.Add(tim);
                 }
                 context.Tb_taskIndicatorMaps.AddRange(timList);
                 context.SaveChanges();
                 //提交数据库
                 transaction.Commit();
                 //更新任务生命周期缓存
                 TaskLifecycleCache.addCacheOnly(lifecycle);
                 //更新品牌型号映射缓存
                 foreach (var tmm in tmmList)
                 {
                     TaskModelMapCache.addCacheOnly(tmm);
                 }
                 //更新指标映射缓存
                 foreach (var tim in timList)
                 {
                     TaskIndicatorMapCache.addCacheOnly(tim);
                 }
             }
             catch (Exception ex)
             {
                 transaction.Rollback();
                 throw ex;
             }
         }
     }
 }