private static void RmoveManyToMany(AllInOneContext.AllInOneContext db, User User) { //手动处理UserRole 多对多的关系,待找到合适的方法后再调整 if (User.UserManyToRole != null) { List <UserRole> delList = new List <UserRole>(); foreach (UserRole rp in User.UserManyToRole) { UserRole del = db.UserRole .FirstOrDefault(p => p.UserId.Equals(rp.UserId) && p.RoleId.Equals(rp.RoleId)); if (del != null) { delList.Add(del); } } db.UserRole.RemoveRange(delList); db.SaveChanges(); } //手动处理ControlResources 多对多的关系,待找到合适的方法后再调整 if (User.ControlResources != null) { List <ControlResources> delList = new List <ControlResources>(); foreach (ControlResources rp in User.ControlResources) { ControlResources del = db.ControlResources .FirstOrDefault(p => p.ControlResourcesId.Equals(rp.ControlResourcesId)); if (del != null) { delList.Add(del); } } db.ControlResources.RemoveRange(delList); db.SaveChanges(); } //手动处理UserSettingMapping 一对多的关系,待找到合适的方法后再调整 if (User.UserSettings != null) { List <UserSettingMapping> delList = new List <UserSettingMapping>(); foreach (UserSettingMapping rp in User.UserSettings) { UserSettingMapping del = db.Set <UserSettingMapping>() .FirstOrDefault(p => p.UserSettingId.Equals(rp.UserSettingId)); if (del != null) { delList.Add(del); } } db.Set <UserSettingMapping>().RemoveRange(delList); db.SaveChanges(); } }
public IActionResult Delete(Guid id) { try { using (var db = new AllInOneContext.AllInOneContext()) { using (var tran = db.Database.BeginTransaction()) { Schedule data = db.Schedule .Include(t => t.ScheduleType) .Include(t => t.ScheduleCycle).ThenInclude(t => t.DayPeriods) .Include(t => t.ScheduleCycle).ThenInclude(t => t.CycleType) .FirstOrDefault(p => p.ScheduleId.Equals(id)); if (data == null) { return(NoContent()); } //移除LIST RemoveList(db, data); //移除ScheduleCycle ScheduleCycle scheduleCycle = db.Set <ScheduleCycle>() .FirstOrDefault(p => p.ScheduleCycleId.Equals(data.ScheduleCycle.ScheduleCycleId)); if (scheduleCycle != null) { db.Set <ScheduleCycle>().Remove(scheduleCycle); } db.Schedule.Remove(data); db.SaveChanges(); tran.Commit(); return(new NoContentResult()); } } } catch (DbUpdateException dbEx) { _logger.LogError("Delete:Message:{0}\r\n,StackTrace:{1}", dbEx.Message, dbEx.StackTrace); return(BadRequest(new ApplicationException { ErrorCode = "DBUpdate", ErrorMessage = "数据保存异常:" + dbEx.Message })); } catch (System.Exception ex) { _logger.LogError("Delete:Message:{0}\r\n,StackTrace:{1}", ex.Message, ex.StackTrace); return(BadRequest(new ApplicationException { ErrorCode = "Unknown", ErrorMessage = ex.Message })); } }
public IActionResult Add([FromBody] Fault model) { try { if (model == null) { return(NoContent()); } using (var db = new AllInOneContext.AllInOneContext()) { db.Set <Fault>().Add(model); db.SaveChanges(); // PushFault(model); // return(Created("", "OK")); } } catch (DbUpdateException dbEx) { return(BadRequest(new ApplicationException { ErrorCode = "DBUpdate", ErrorMessage = "数据保存异常:" + dbEx.Message })); } catch (System.Exception ex) { return(BadRequest(ex.Message)); } }
/// <summary> /// 手动移除实体中的List属性 /// </summary> /// <param name="db"></param> /// <param name="shedule"></param> private static void UpdateTimePeriod(AllInOneContext.AllInOneContext db, Schedule shedule, DutyCheckPackageTimePlan model) { foreach (DayPeriod dp in model.Schedule.ScheduleCycle.DayPeriods) { foreach (TimePeriod tp in dp.TimePeriods) { TimePeriod timePeriod = db.Set <TimePeriod>().FirstOrDefault(p => p.TimePeriodId.Equals(tp.TimePeriodId)); if (timePeriod != null) { timePeriod.ExtraJson = tp.ExtraJson; db.Set <TimePeriod>().Update(timePeriod); db.SaveChanges(); } } } }
public IActionResult Get(Guid id) { if (id == null || id == new Guid()) { return(NoContent()); } using (var db = new AllInOneContext.AllInOneContext()) { Fault Fault = db.Set <Fault>() .Include(t => t.CheckDutySite) .Include(t => t.CheckMan) .Include(t => t.DutyCheckOperation).ThenInclude(t => t.Attachments) .Include(t => t.DutyOrganization) .Include(t => t.FaultType) .FirstOrDefault(p => p.FaultId.Equals(id)); if (Fault == null) { return(NoContent()); } return(new ObjectResult(Fault)); } }
public IEnumerable <EncoderType> GetAllEncoderType() { using (var db = new AllInOneContext.AllInOneContext()) { return(db.Set <EncoderType>().ToList()); } }
public IActionResult Update([FromBody] Encoder encoder) { try { if (encoder == null) { return(BadRequest()); } using (var db = new AllInOneContext.AllInOneContext()) { db.Encoder.Update(encoder); db.SaveChanges(); //同时更新摄像机IP db.Set <Camera>().Include(t => t.IPDevice).Where(t => t.EncoderId.Equals(encoder.EncoderId)). ForEachAsync(f => f.IPDevice.EndPointsJson = encoder.DeviceInfo.EndPointsJson).Wait(); db.SaveChanges(); return(NoContent()); } } catch (DbUpdateException dbEx) { _logger.LogError("修改编码器异常:Message:{0}\r\n,StackTrace:{1}", dbEx.Message, dbEx.StackTrace); return(BadRequest(new ApplicationException { ErrorCode = "DBUpdate", ErrorMessage = "数据保存异常:" + dbEx.Message })); } catch (System.Exception ex) { _logger.LogError("修改编码器异常:Message:{0}\r\n,StackTrace:{1}", ex.Message, ex.StackTrace); return(BadRequest(new ApplicationException { ErrorCode = "Unknown", ErrorMessage = ex.Message })); } }
public IActionResult Remove(Guid id) { using (var db = new AllInOneContext.AllInOneContext()) { using (var transaction = db.Database.BeginTransaction()) { try { MonitorySite ms = db.MonitorySite.FirstOrDefault(t => t.MonitorySiteId.Equals(id)); if (ms == null) { return(NotFound()); } Camera camera = db.Set <Camera>().First(t => t.CameraId.Equals(ms.CameraId)); IPDeviceInfo cameraDevice = db.IPDeviceInfo.First(t => t.IPDeviceInfoId.Equals(camera.IPDeviceId)); db.MonitorySite.Remove(ms); db.Set <Camera>().Remove(camera); //db.IPDeviceInfo.Remove(cameraDevice); var deleteStatusId = Guid.Parse("a0002016-e009-b019-e001-abcd13800005"); cameraDevice.StatusId = deleteStatusId; //Remove AlarmSetting List <Guid> alarmSourceIds = new List <Guid>(); alarmSourceIds.Add(cameraDevice.IPDeviceInfoId); AlarmSettingUtility.RemoveAlarmSetting(db, alarmSourceIds); db.SaveChanges(); transaction.Commit(); //推送到dcp,数据同步。。。。。。 return(new NoContentResult()); } catch (DbUpdateException dbEx) { transaction.Rollback(); _logger.LogError("删除监控点异常:Message:{0}\r\n,StackTrace:{1}", dbEx.Message, dbEx.StackTrace); return(BadRequest(new ApplicationException { ErrorCode = "DBUpdate", ErrorMessage = "数据保存异常:" + dbEx.Message })); } catch (Exception ex) { _logger.LogError("删除监控点异常:Message:{0}\r\n,StackTrace:{1}", ex.Message, ex.StackTrace); return(BadRequest(new ApplicationException { ErrorCode = "Unknown", ErrorMessage = ex.Message })); } } } }
/// <summary> /// 解除明细表的关联 /// </summary> /// <param name="db"></param> /// <param name="model"></param> private void RemoveDetails(AllInOneContext.AllInOneContext db, UnitDutyCheckSchedule model) { List <UnitDutyCheckScheduleDetail> delList = new List <UnitDutyCheckScheduleDetail>(); if (model.UnitDutyCheckScheduleDetails != null) { foreach (UnitDutyCheckScheduleDetail detail in model.UnitDutyCheckScheduleDetails) { UnitDutyCheckScheduleDetail del = db.Set <UnitDutyCheckScheduleDetail>().FirstOrDefault(p => p.UnitDutyCheckScheduleDetailId.Equals(detail.UnitDutyCheckScheduleDetailId)); if (del != null) { delList.Add(del); } } } db.Set <UnitDutyCheckScheduleDetail>().RemoveRange(delList); db.SaveChanges(); }
private static void RemoveLinkage(AllInOneContext.AllInOneContext db, DutyCheckGroup group) { //手动移除级联属性 if (group.CheckDutySiteSchedules != null) { List <DutyCheckSiteSchedule> delList = new List <DutyCheckSiteSchedule>(); foreach (DutyCheckSiteSchedule rp in group.CheckDutySiteSchedules) { DutyCheckSiteSchedule del = db.Set <DutyCheckSiteSchedule>() .FirstOrDefault(p => p.CheckDutySiteId.Equals(rp.CheckDutySiteId) && p.CheckManId.Equals(rp.CheckManId)); if (del != null) { delList.Add(del); } } db.Set <DutyCheckSiteSchedule>().RemoveRange(delList); db.SaveChanges(); } }
/// <summary> /// 手动移除实体中的List属性 /// </summary> /// <param name="db"></param> /// <param name="shedule"></param> private static void RemoveList(AllInOneContext.AllInOneContext db, Schedule shedule) { List <DayPeriod> removeDay = new List <DayPeriod>(); List <TimePeriod> removeTime = new List <TimePeriod>(); foreach (DayPeriod tp in shedule.ScheduleCycle.DayPeriods) { DayPeriod dayPeriod = db.Set <DayPeriod>().Include(t => t.TimePeriods).FirstOrDefault(p => p.DayPeriodId.Equals(tp.DayPeriodId)); if (dayPeriod != null) { removeDay.Add(dayPeriod); removeTime.AddRange(tp.TimePeriods); } } if (removeTime.Count > 0) { db.Set <TimePeriod>().RemoveRange(removeTime); db.Set <DayPeriod>().RemoveRange(removeDay); db.SaveChanges(); } }
private void UpdateSchedule(DutyCheckPackageTimePlan model, AllInOneContext.AllInOneContext db, DutyCheckPackageTimePlan oldPlan) { if (model.Schedule == null) { return; } Guid scheduleId = oldPlan.ScheduleId; if (oldPlan.ScheduleId != model.ScheduleId) { scheduleId = model.ScheduleId; } //转换一般数据 Schedule shedule = db.Schedule .Include(t => t.ScheduleType) .Include(t => t.ScheduleCycle).ThenInclude(t => t.DayPeriods) .Include(t => t.ScheduleCycle).ThenInclude(t => t.CycleType) .FirstOrDefault(p => p.ScheduleId.Equals(scheduleId)); if (shedule == null) { return; } shedule.EffectiveTime = model.Schedule.EffectiveTime; shedule.ExpirationTime = model.Schedule.ExpirationTime; shedule.ScheduleTypeId = model.Schedule.ScheduleTypeId; shedule.ScheduleName = model.Schedule.ScheduleName; // ScheduleCycle scheduleCycle = db.Set <ScheduleCycle>() .Include(t => t.DayPeriods) .FirstOrDefault(p => p.ScheduleCycleId.Equals(shedule.ScheduleCycle.ScheduleCycleId)); //转换ScheduleCycle scheduleCycle.CycleTypeId = model.Schedule.ScheduleCycle.CycleTypeId; scheduleCycle.Days = model.Schedule.ScheduleCycle.Days; scheduleCycle.DaysJson = model.Schedule.ScheduleCycle.DaysJson; scheduleCycle.LastExecute = model.Schedule.ScheduleCycle.LastExecute; scheduleCycle.Months = model.Schedule.ScheduleCycle.Months; scheduleCycle.MonthsJson = model.Schedule.ScheduleCycle.MonthsJson; scheduleCycle.NextExecute = model.Schedule.ScheduleCycle.NextExecute; scheduleCycle.WeekDayJson = model.Schedule.ScheduleCycle.WeekDayJson; scheduleCycle.WeekDays = model.Schedule.ScheduleCycle.WeekDays; // UpdateTimePeriod(db, shedule, model); // //scheduleCycle.DayPeriods = model.Schedule.ScheduleCycle.DayPeriods; shedule.ScheduleCycle = scheduleCycle; db.Schedule.Update(shedule); db.SaveChanges(); }
public IActionResult Update([FromBody] EncoderView encoder) { using (var db = new AllInOneContext.AllInOneContext()) { try { if (encoder == null) { return(BadRequest()); } Encoder en = db.Encoder.Include(t => t.DeviceInfo).FirstOrDefault(t => t.EncoderId.Equals(encoder.EncoderId)); if (en == null) { return(NotFound()); } if (encoder.EncoderType > 0) { EncoderType ent = db.Set <EncoderType>().FirstOrDefault(t => t.EncoderCode == encoder.EncoderType); if (ent == null) { return(BadRequest(new ApplicationException() { ErrorCode = "Unknown", ErrorMessage = "错误的编码器类型" })); } en.EncoderTypeId = ent.EncoderTypeId; } if (encoder.EndPoints != null && encoder.EndPoints.Count > 0) { en.DeviceInfo.EndPoints = encoder.EndPoints; } db.Encoder.Update(en); db.SaveChanges(); return(Ok()); } catch (DbUpdateException dbEx) { _logger.LogError("修改编码器异常:Message:{0}\r\n,StackTrace:{1}", dbEx.Message, dbEx.StackTrace); return(BadRequest(new ApplicationException { ErrorCode = "DBUpdate", ErrorMessage = "数据保存异常:" + dbEx.Message })); } catch (System.Exception ex) { _logger.LogError("修改编码器异常:Message:{0}\r\n,StackTrace:{1}", ex.Message, ex.StackTrace); return(BadRequest(new ApplicationException { ErrorCode = "Unknown", ErrorMessage = ex.Message })); } } }
private static void RemoveLinkage(AllInOneContext.AllInOneContext db, DutySchedule dutySchedule) { foreach (DutyScheduleDetail dsd in dutySchedule.DutyScheduleDetails) { if (dsd.NetWatcherSchedule != null) { List <DutyCheckSchedule> delList = new List <DutyCheckSchedule>(); foreach (DutyCheckSchedule rp in dsd.NetWatcherSchedule) { DutyCheckSchedule del = db.Set <DutyCheckSchedule>() .FirstOrDefault(p => p.DutyCheckScheduleId.Equals(rp.DutyCheckScheduleId)); if (del != null) { delList.Add(del); } } db.Set <DutyCheckSchedule>().RemoveRange(delList); db.SaveChanges(); } } if (dutySchedule.DutyScheduleDetails != null) { List <DutyScheduleDetail> delList = new List <DutyScheduleDetail>(); foreach (DutyScheduleDetail detail in dutySchedule.DutyScheduleDetails) { DutyScheduleDetail del = db.Set <DutyScheduleDetail>().FirstOrDefault(p => p.DutyScheduleDetailId.Equals(detail.DutyScheduleDetailId)); if (del != null) { delList.Add(del); } } db.Set <DutyScheduleDetail>().RemoveRange(delList); db.SaveChanges(); } }
private List <MonitorySite> GetAllMonitorysite(AllInOneContext.AllInOneContext dbContext) { var cameras = dbContext.Set <Camera>().Include(t => t.Encoder).ThenInclude(t => t.EncoderType). Include(t => t.Encoder).ThenInclude(t => t.DeviceInfo).ThenInclude(t => t.Organization). Include(t => t.VideoForward).ThenInclude(t => t.ServerInfo).Include(t => t.IPDevice).ThenInclude(t => t.DeviceType). ToList(); var monitorysites = dbContext.MonitorySite.Include(t => t.Organization).OrderBy(t => t.OrderNo).ThenBy(t => t.MonitorySiteName).ToList(); monitorysites.ForEach(t => { t.Camera = cameras.FirstOrDefault(c => c.CameraId.Equals(t.CameraId)); }); return(monitorysites); }
static void InitData() { using (AllInOneContext db = new AllInOneContext()) { if (db.SystemOption.Count() > 0) { return; } var sentinelChannelMappings = DataCache.InitSentinelChannelOption(); var er = DataCache._SystemOptions.GroupBy(t => t.SystemOptionId).Where(t => t.ToList().Count > 1).Select(t => t.Key).ToList(); db.SystemOption.AddRange(DataCache._SystemOptions); db.Set <EncoderType>().AddRange(DataCache._EncoderTypes); db.Organization.AddRange(DataCache._Organizations); db.ApplicationSetting.AddRange(DataCache._ApplicationSettings); db.Application.AddRange(DataCache._Applications); db.User.AddRange(DataCache._Users); db.SaveChanges(); AddStandarTemplateLayout(2, 2, Guid.Parse("A0002016-E009-B019-E001-ABCD11500001")); AddStandarTemplateLayout(3, 3, Guid.Parse("A0002016-E009-B019-E001-ABCD11500001")); AddStandarTemplateLayout(4, 4, Guid.Parse("A0002016-E009-B019-E001-ABCD11500001")); AddStandarTemplateLayout(1, 1, Guid.Parse("A0002016-E009-B019-E001-ABCD11500002")); AddStandarTemplateLayout(2, 2, Guid.Parse("A0002016-E009-B019-E001-ABCD11500002")); AddStandarTemplateLayout(3, 3, Guid.Parse("A0002016-E009-B019-E001-ABCD11500002")); AddStandarTemplateLayout(4, 4, Guid.Parse("A0002016-E009-B019-E001-ABCD11500002")); AddStandarTemplateLayout(5, 5, Guid.Parse("A0002016-E009-B019-E001-ABCD11500002")); AddStandarTemplateLayout(6, 6, Guid.Parse("A0002016-E009-B019-E001-ABCD11500002")); Add4and9RealTemplateLayout(Guid.Parse("A0002016-E009-B019-E001-ABCD11500002")); Add1and12RealTemplateLayout(Guid.Parse("A0002016-E009-B019-E001-ABCD11500002")); Add1and1and10RealTemplateLayout(Guid.Parse("A0002016-E009-B019-E001-ABCD11500002")); Add1and7RealTemplateLayout(Guid.Parse("A0002016-E009-B019-E001-ABCD11500002")); Add2and8RealTemplateLayout(Guid.Parse("A0002016-E009-B019-E001-ABCD11500002")); Add5and1TemplateLayout(Guid.Parse("A0002016-E009-B019-E001-ABCD11500002")); AddSentinelDeviceAlarmTypeMapping(); AddDefneceDeviceAlarmTypeMapping(); AddCameraAlarmTypeMapping(); AddQiangzhiligangAlarmTypeMapping(); db.SaveChanges(); db.DeviceChannelTypeMapping.AddRange(sentinelChannelMappings); db.SaveChanges(); } }
public IActionResult GetFaultByParameter(DateTime startTime, DateTime endTime, int currentPage, int pageSize, Guid?[] faultTypeId, Guid?[] checkDutySiteId, Guid?dutyOrganizationId) { try { using (var db = new AllInOneContext.AllInOneContext()) { var Query = from p in db.Set <Fault>() .Include(t => t.CheckDutySite) .Include(t => t.CheckMan) .Include(t => t.DutyCheckOperation).ThenInclude(t => t.Attachments) .Include(t => t.DutyOrganization) .Include(t => t.FaultType) orderby p.CircularTime descending where p.CircularTime >= startTime && p.CircularTime <= endTime && ((faultTypeId == null || faultTypeId.Length == 0) || faultTypeId.Contains(p.FaultTypeId)) && ((checkDutySiteId == null || checkDutySiteId.Length == 0) || checkDutySiteId.Contains(p.CheckDutySiteId)) && ((dutyOrganizationId == null) || p.DutyOrganizationId.Equals(dutyOrganizationId)) select p; if (currentPage == 0) { currentPage = 1; } if (pageSize <= 0) { pageSize = 10; } var data = Query.Skip(pageSize * (currentPage - 1)).Take(pageSize * currentPage).ToList(); if (data.ToList().Count == 0) { return(NoContent()); } return(new ObjectResult(data.ToList())); } } catch (Exception ex) { return(BadRequest(new ApplicationException { ErrorCode = "Unknown", ErrorMessage = ex.Message })); } }
public IActionResult Add([FromBody] Schedule model) { try { if (model == null) { return(BadRequest()); } using (var db = new AllInOneContext.AllInOneContext()) { if (model.ScheduleCycle != null) { //补全数据 SystemOption cycletype = db.Set <SystemOption>() .FirstOrDefault(p => p.SystemOptionId.Equals(model.ScheduleCycle.CycleTypeId)); Schedule Schedule = model; if (cycletype != null) { Schedule.ScheduleCycle.CycleType = cycletype; } DateTime?executeTime = ScheduleUtility.GetExecuteTime(Schedule, DateTime.Now); model.ScheduleCycle.NextExecute = executeTime; } db.Schedule.Add(model); db.SaveChanges(); return(Created("", "OK")); } } catch (DbUpdateException dbEx) { _logger.LogError("Add:Message:{0}\r\n,StackTrace:{1}", dbEx.Message, dbEx.StackTrace); return(BadRequest(new ApplicationException { ErrorCode = "DBUpdate", ErrorMessage = "数据保存异常:" + dbEx.Message })); } catch (System.Exception ex) { _logger.LogError("Add:Message:{0}\r\n,StackTrace:{1}", ex.Message, ex.StackTrace); return(BadRequest(new ApplicationException { ErrorCode = "Unknown", ErrorMessage = ex.Message })); } }
public IActionResult Delete(Guid id) { using (var db = new AllInOneContext.AllInOneContext()) { using (var tran = db.Database.BeginTransaction()) { try { Staff data = db.Staff.Include(t => t.Fingerprints).FirstOrDefault(p => p.StaffId == id); if (data == null) { return(NoContent()); } if (data.Fingerprints != null) { //删除人员已下发的指纹 foreach (var fp in data.Fingerprints) { DeleteFingerDispatch(fp, db); db.Set <Fingerprint>().Remove(fp); } } db.Staff.Remove(data); db.SaveChanges(); tran.Commit(); return(new NoContentResult()); } catch (DbUpdateException dbEx) { tran.Rollback(); return(BadRequest(new ApplicationException { ErrorCode = "DBUpdate", ErrorMessage = "数据保存异常:" + dbEx.Message })); } catch (System.Exception ex) { return(BadRequest(new ApplicationException { ErrorCode = "Unknown", ErrorMessage = ex.Message })); } } } }
/// <summary> /// 推送故障至下级 /// </summary> /// <param name="Fault"></param> public bool PushFault(Fault model) { if (model == null) { return(false); } using (var db = new AllInOneContext.AllInOneContext()) { Fault Fault = db.Set <Fault>() .Include(t => t.CheckDutySite) .Include(t => t.CheckMan) .Include(t => t.DutyCheckOperation).ThenInclude(t => t.Attachments) .Include(t => t.DutyOrganization) .Include(t => t.FaultType) .FirstOrDefault(p => p.FaultId.Equals(model.FaultId)); if (Fault == null) { return(false); } //查找监控点所在的组织机构 Organization org = db.Organization .Include(t => t.Center) .FirstOrDefault(p => p.OrganizationId.Equals(Fault.CheckDutySite.Organization.ParentOrganizationId)); if (org == null || org.Center == null || org.Center.EndPoints == null || org.Center.EndPoints.Count == 0) { return(false); } string url = string.Format("http://{0}:{1}/Paps/Fault/Broadcast", org.Center.EndPoints[0].IPAddress, org.Center.EndPoints[0].Port); var ret = HttpClientHelper.Post(Fault, url); return(ret.Success); } }
public static void Update20161214() { //防区名称调整 using (var db = new AllInOneContext()) { var left1 = db.SystemOption.FirstOrDefault(t => t.SystemOptionCode.Equals("13900001")); left1.SystemOptionName = "左防区"; var right = db.SystemOption.FirstOrDefault(t => t.SystemOptionCode.Equals("13900002")); right.SystemOptionName = "右防区"; var alarmMappings = db.Set <DeviceAlarmMapping>().ToList(); db.Set <DeviceAlarmMapping>().RemoveRange(alarmMappings); db.SaveChanges(); var alarm1 = db.SystemOption.FirstOrDefault(t => t.SystemOptionCode.Equals("2008")); if (alarm1 != null) { db.SystemOption.Remove(alarm1); } var alarm2 = db.SystemOption.FirstOrDefault(t => t.SystemOptionCode.Equals("2010")); if (alarm2 != null) { db.SystemOption.Remove(alarm2); } var alarm3 = db.SystemOption.FirstOrDefault(t => t.SystemOptionCode.Equals("2012")); if (alarm3 != null) { db.SystemOption.Remove(alarm3); } var at1 = db.SystemOption.FirstOrDefault(t => t.SystemOptionCode.Equals("2007")); at1.SystemOptionName = "红外"; var at2 = db.SystemOption.FirstOrDefault(t => t.SystemOptionCode.Equals("2007")); at2.SystemOptionName = "高压"; var at3 = db.SystemOption.FirstOrDefault(t => t.SystemOptionCode.Equals("2007")); at3.SystemOptionName = "栅栏"; db.SaveChanges(); //设备类型 var dt1 = db.SystemOption.FirstOrDefault(t => t.SystemOptionCode.Equals("1100001101")); dt1.SystemOptionName = "红外"; var dt2 = db.SystemOption.FirstOrDefault(t => t.SystemOptionCode.Equals("1100001102")); dt2.SystemOptionName = "高压"; var dt3 = db.SystemOption.FirstOrDefault(t => t.SystemOptionCode.Equals("1100001103")); dt3.SystemOptionName = "栅栏"; db.SaveChanges(); var dt4 = db.SystemOption.FirstOrDefault(t => t.SystemOptionCode.Equals("1100001104")); if (dt4 != null) { db.SystemOption.Remove(dt4); } var dt5 = db.SystemOption.FirstOrDefault(t => t.SystemOptionCode.Equals("1100001105")); if (dt5 != null) { db.SystemOption.Remove(dt5); } var dt6 = db.SystemOption.FirstOrDefault(t => t.SystemOptionCode.Equals("1100001106")); if (dt6 != null) { db.SystemOption.Remove(dt6); } db.SaveChanges(); AddSentinelDeviceAlarmTypeMapping(); AddQiangzhiligangAlarmTypeMapping(); AddCameraAlarmTypeMapping(); var deleteStatus = db.SystemOption.FirstOrDefault(t => t.SystemOptionCode.Equals("13800005")); if (deleteStatus == null) { deleteStatus = new Infrastructure.Model.SystemOption() { Predefine = true, ParentSystemOptionId = Guid.Parse("a0002016-e009-b019-e001-abcdef000138"), SystemOptionId = Guid.Parse("a0002016-e009-b019-e001-abcd13800005"), SystemOptionCode = "13800005", SystemOptionName = "已删除", }; db.SystemOption.Add(deleteStatus); db.SaveChanges(); } } }
public IActionResult Update([FromBody] Staff model) { try { if (model == null) { return(BadRequest()); } using (var db = new AllInOneContext.AllInOneContext()) { ////同一个组织机构下人员编号不能重复 //var Staff = db.Staff // .FirstOrDefault(p => p.OrganizationId.Equals(model.OrganizationId) // && p.StaffCode.Equals(model.StaffCode) // && !p.StaffId.Equals(model.StaffId)); //if (Staff != null) //{ // return BadRequest(new ApplicationException { ErrorCode = "Staff-001", ErrorMessage = "同一个组织机构下人员编号不能重复" }); //} using (var tran = db.Database.BeginTransaction()) { var copyStaff = db.Staff.Include(t => t.Photo).FirstOrDefault(t => t.StaffId.Equals(model.StaffId)); try { if (model.Photo != null)//Entity Framework的默认值BUG暂时有BUG,临时这样处理 { model.Photo.Modified = DateTime.Now; } //避免指令数据丢失,将更新的数据拷贝 copyStaff.OrganizationId = model.OrganizationId; copyStaff.PositionTypeId = model.PositionTypeId; copyStaff.RankTypeId = model.RankTypeId; copyStaff.SexId = model.SexId; copyStaff.StaffName = model.StaffName; copyStaff.StaffCode = model.StaffCode; copyStaff.ClassRow = model.ClassRow; copyStaff.DateOfBirth = model.DateOfBirth; copyStaff.DegreeOfEducationId = model.DegreeOfEducationId; copyStaff.Description = model.Description; copyStaff.DutyCheckTypeId = model.DutyCheckTypeId; copyStaff.EnrolAddress = model.EnrolAddress; copyStaff.EnrolTime = model.EnrolTime; copyStaff.FamilyPhone = model.FamilyPhone; copyStaff.MaritalStatusId = model.MaritalStatusId; copyStaff.NationId = model.NationId; copyStaff.NativePlace = model.NativePlace; copyStaff.PartyTime = model.PartyTime; copyStaff.Phone = model.Phone; copyStaff.Stature = model.Stature; if (model.Photo != null) { if (copyStaff.Photo != null) { db.Set <UserPhoto>().Remove(copyStaff.Photo); db.SaveChanges(); } copyStaff.PhotoId = model.PhotoId; copyStaff.Photo = model.Photo; } copyStaff.PhysiclalStatusId = model.PhysiclalStatusId; copyStaff.PoliticalLandscapeId = model.PoliticalLandscapeId; copyStaff.PositionTypeId = model.PositionTypeId; copyStaff.PostalZipCode = model.PostalZipCode; copyStaff.RankTypeId = model.RankTypeId; copyStaff.ReignStatusId = model.ReignStatusId; copyStaff.ReligiousBelief = model.ReligiousBelief; copyStaff.WorkingPropertyId = model.WorkingPropertyId; db.Staff.Update(copyStaff); db.SaveChanges(); tran.Commit(); return(new NoContentResult()); } catch (DbUpdateException dbEx) { tran.Rollback(); return(BadRequest(new ApplicationException { ErrorCode = "DBUpdate", ErrorMessage = "数据保存异常:" + dbEx.Message })); } } } } catch (DbUpdateException dbEx) { _logger.LogError("Update:Message:{0}\r\n,StackTrace:{1}", dbEx.Message, dbEx.StackTrace); return(BadRequest(new ApplicationException { ErrorCode = "DBUpdate", ErrorMessage = "数据保存异常:" + dbEx.Message })); } catch (System.Exception ex) { _logger.LogError("Update:Message:{0}\r\n,StackTrace:{1}", ex.Message, ex.StackTrace); return(BadRequest(new ApplicationException { ErrorCode = "Unknown", ErrorMessage = ex.Message })); } }
private static void RemoveLinkage(AllInOneContext.AllInOneContext db, DutyGroupSchedule dutyGroupSchedule) { //删除未进行的查勤记录 var dellog = db.DutyCheckLog .Where(p => p.PlanDate >= dutyGroupSchedule.StartDate && p.PlanDate <= dutyGroupSchedule.EndDate && p.StatusId == new Guid("361ADFE9-E58A-4C88-B191-B742CC212443")); if (dellog != null && dellog.Count() != 0) { db.DutyCheckLog.RemoveRange(dellog.ToList()); db.SaveChanges(); } List <DutyGroupScheduleDetail> mainList = new List <DutyGroupScheduleDetail>(); if (dutyGroupSchedule.DutyGroupScheduleDetails != null) { List <DutyCheckSiteSchedule> dutyCheckSiteSchedulelList = new List <DutyCheckSiteSchedule>(); foreach (DutyGroupScheduleDetail detail in dutyGroupSchedule.DutyGroupScheduleDetails) { // 解除DutyCheckSiteSchedule Many To Many if (detail.CheckDutySiteSchedule != null) { foreach (DutyCheckSiteSchedule rp in detail.CheckDutySiteSchedule) { DutyCheckSiteSchedule del = db.Set <DutyCheckSiteSchedule>() .FirstOrDefault(p => p.DutyCheckSiteScheduleId.Equals(rp.DutyCheckSiteScheduleId)); if (del != null) { dutyCheckSiteSchedulelList.Add(del); } } } } db.Set <DutyCheckSiteSchedule>().RemoveRange(dutyCheckSiteSchedulelList); db.SaveChanges(); // DutyGroupScheduleDetail Many To Many List <DutyGroupScheduleDetail> detailList = new List <DutyGroupScheduleDetail>(); foreach (DutyGroupScheduleDetail detail in dutyGroupSchedule.DutyGroupScheduleDetails) { DutyGroupScheduleDetail del = db.Set <DutyGroupScheduleDetail>() .FirstOrDefault(p => p.DutyGroupScheduleDetailId.Equals(detail.DutyGroupScheduleDetailId)); if (del != null) { detailList.Add(del); } } db.Set <DutyGroupScheduleDetail>().RemoveRange(detailList); db.SaveChanges(); } // 解除EmergencyTeam Many To Many if (dutyGroupSchedule.EmergencyTeam != null) { List <EmergencyTeam> delList = new List <EmergencyTeam>(); foreach (EmergencyTeam rp in dutyGroupSchedule.EmergencyTeam) { EmergencyTeam del = db.Set <EmergencyTeam>() .FirstOrDefault(p => p.DutyGroupScheduleId.Equals(rp.DutyGroupScheduleId) && p.StaffId.Equals(rp.StaffId)); if (del != null) { delList.Add(del); } } db.Set <EmergencyTeam>().RemoveRange(delList); db.SaveChanges(); } // 解除Reservegroup Many To Many if (dutyGroupSchedule.Reservegroup != null) { List <Reservegroup> delList = new List <Reservegroup>(); foreach (Reservegroup rp in dutyGroupSchedule.Reservegroup) { Reservegroup del = db.Set <Reservegroup>() .FirstOrDefault(p => p.DutyGroupScheduleId.Equals(rp.DutyGroupScheduleId) && p.StaffId.Equals(rp.StaffId)); if (del != null) { delList.Add(del); } } db.Set <Reservegroup>().RemoveRange(delList); db.SaveChanges(); } }
public IActionResult Update([FromBody] Schedule model) { try { if (model == null) { return(BadRequest()); } using (var db = new AllInOneContext.AllInOneContext()) { using (var tran = db.Database.BeginTransaction()) { if (model.ScheduleCycle != null) { //补全数据 SystemOption cycletype = db.Set <SystemOption>() .FirstOrDefault(p => p.SystemOptionId.Equals(model.ScheduleCycle.CycleTypeId)); Schedule Schedule = model; if (cycletype != null) { Schedule.ScheduleCycle.CycleType = cycletype; } DateTime?executeTime = ScheduleUtility.GetExecuteTime(Schedule, DateTime.Now); model.ScheduleCycle.NextExecute = executeTime; } //转换一般数据 Schedule shedule = db.Schedule .Include(t => t.ScheduleType) .Include(t => t.ScheduleCycle).ThenInclude(t => t.DayPeriods) .Include(t => t.ScheduleCycle).ThenInclude(t => t.CycleType) .FirstOrDefault(p => p.ScheduleId.Equals(model.ScheduleId)); if (shedule == null) { return(BadRequest()); } shedule.EffectiveTime = model.EffectiveTime; shedule.ExpirationTime = model.ExpirationTime; shedule.ScheduleTypeId = model.ScheduleTypeId; shedule.ScheduleName = model.ScheduleName; // ScheduleCycle scheduleCycle = db.Set <ScheduleCycle>() .Include(t => t.DayPeriods) .FirstOrDefault(p => p.ScheduleCycleId.Equals(shedule.ScheduleCycle.ScheduleCycleId)); //转换ScheduleCycle scheduleCycle.CycleTypeId = model.ScheduleCycle.CycleTypeId; scheduleCycle.Days = model.ScheduleCycle.Days; scheduleCycle.DaysJson = model.ScheduleCycle.DaysJson; scheduleCycle.LastExecute = model.ScheduleCycle.LastExecute; scheduleCycle.Months = model.ScheduleCycle.Months; scheduleCycle.MonthsJson = model.ScheduleCycle.MonthsJson; scheduleCycle.NextExecute = model.ScheduleCycle.NextExecute; scheduleCycle.WeekDayJson = model.ScheduleCycle.WeekDayJson; scheduleCycle.WeekDays = model.ScheduleCycle.WeekDays; // RemoveList(db, shedule); // scheduleCycle.DayPeriods = model.ScheduleCycle.DayPeriods; shedule.ScheduleCycle = scheduleCycle; db.Schedule.Update(shedule); db.SaveChanges(); // tran.Commit(); return(new NoContentResult()); } } } catch (DbUpdateException dbEx) { _logger.LogError("Update:Message:{0}\r\n,StackTrace:{1}", dbEx.Message, dbEx.StackTrace); return(BadRequest(new ApplicationException { ErrorCode = "DBUpdate", ErrorMessage = "数据保存异常:" + dbEx.Message })); } catch (System.Exception ex) { _logger.LogError("Update:Message:{0}\r\n,StackTrace:{1}", ex.Message, ex.StackTrace); return(BadRequest(new ApplicationException { ErrorCode = "Unknown", ErrorMessage = ex.Message })); } }