Files
6098/Cowain.Bake.BLL/AlarmService.cs

114 lines
3.5 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
using Cowain.Bake.Common.Enums;
using Cowain.Bake.Model;
using Cowain.Bake.Model.Models;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Entity;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Unity;
namespace Cowain.Bake.BLL
{
public class AlarmService : ServiceBase
{
public AlarmService(IUnityContainer unityContainer) : base(unityContainer)
{
}
public TAlarm GetInAlarm(Variable node, string desc)
{
using (var Context = new BakingEntities())
{
return (from a in Context.Set<TAlarm>()
where a.Desc == desc
&& a.StationId == node.StationId
&& a.StopTime == null
select a).FirstOrDefault();
}
}
public List<TAlarm> GetInAlarm(int stationId)
{
using (var Context = new BakingEntities())
{
return (from a in Context.Set<TAlarm>()
where a.StationId == stationId
&& a.StopTime == null
select a).ToList();
}
}
public List<TAlarm> GetAllInAlarms()
{
using (var Context = new BakingEntities())
{
return (from a in Context.Set<TAlarm>()
where a.StopTime == null
select a).ToList();
}
}
public int CancelAlarm(TAlarm alarm)
{
alarm.Status = EAlarmStatus.Renew.GetDescription();
alarm.StopTime = DateTime.Now;
using (var Context = new BakingEntities())
{
Context.Set<TAlarm>().Attach(alarm);//将数据附加到上下文支持实体修改和新实体重置为UnChanged
Context.Entry<TAlarm>(alarm).State = EntityState.Modified;
return Context.SaveChanges();
}
}
//一个信号报警
public int Insert(Variable node)
{
TAlarm model = new TAlarm()
{
Desc = node.VarDesc,
StationId = node.StationId,
StartTime = DateTime.Now,
Status = EAlarmStatus.Alert.GetDescription(),
};
using (var Context = new BakingEntities())
{
Context.Set<TAlarm>().Add(model);
return Context.SaveChanges();
}
}
public List<TAlarm> GetAlarmReport(string startTime, string endTime)
{
DateTime startDateTime = DateTime.Parse(startTime + " 00:00:01");
DateTime endDateTime = DateTime.Parse(endTime + " 23:59:59");
using (var Context = new BakingEntities())
{
return (from a in Context.Set<TAlarm>()
where a.StartTime >= startDateTime
&& a.StartTime <= endDateTime
select a).ToList();
}
}
public int Insert(Variable node, string desc)
{
TAlarm model = new TAlarm()
{
Desc = desc,
StationId = node.StationId,
StartTime = DateTime.Now,
Status = EAlarmStatus.Alert.GetDescription()
};
using (var Context = new BakingEntities())
{
Context.Set<TAlarm>().Add(model);
return Context.SaveChanges();
}
}
}
}