public ActionResult CreatePointMeterLineItems(long meterGroupId, long?assetId, long?locationId) { var point = _pointRepository.GetAll() .Where(p => ((assetId != null && p.AssetId == assetId) || (locationId != null && p.LocationId == locationId))) .FirstOrDefault(); if (point != null) { if (point.PointMeterLineItems.Any(m => m.LastReadingValue != null)) { ModelState.AddModelError("", _localizationService.GetResource("Point.CannotChangeMeterGroup")); } } if (ModelState.IsValid) { if (point != null) { point.PointMeterLineItems.Clear(); } else { point = new Point { AssetId = assetId, LocationId = locationId }; _pointRepository.Insert(point); } point.MeterGroupId = meterGroupId; var meterLineItems = _meterLineItemRepository.GetAll().Where(m => m.MeterGroupId == meterGroupId).ToList(); var displayOrder = 0; foreach (var meterLineItem in meterLineItems) { displayOrder += 1; var pointMeterLineItem = new PointMeterLineItem { Point = point, Meter = meterLineItem.Meter, MeterId = meterLineItem.MeterId, DisplayOrder = displayOrder }; point.PointMeterLineItems.Add(pointMeterLineItem); } _pointRepository.Update(point); this._dbContext.SaveChanges(); return(Json(new { pointId = point.Id })); } else { return(Json(new { Errors = ModelState.Errors().ToHtmlString() })); } }
public void CreateMeterEventHistory(PointMeterLineItem item, Reading newReading) { var meterEvents = _meterEventRepository.GetAll().Where(m => m.MeterId == item.MeterId && m.PointId == item.PointId).ToList(); foreach (var meterEvent in meterEvents) { if ((meterEvent.LowerLimit.HasValue && newReading.ReadingValue < meterEvent.LowerLimit) || (meterEvent.UpperLimit.HasValue && newReading.ReadingValue > meterEvent.UpperLimit)) { var meterEventHistory = new MeterEventHistory(); meterEventHistory.MeterEventId = meterEvent.Id; meterEventHistory.GeneratedReading = newReading.ReadingValue; meterEventHistory.IsWorkOrderCreated = false; _meterEventHistoryRepository.Insert(meterEventHistory); } } }
/// <summary> /// Create PointMeterLineItem for Asset or Location /// ONLY assetId != null OR locationId != null /// </summary> public ActionResult CreatePointMeterLineItem(long pointId, long?assetId, long?locationId) { var point = _pointRepository.GetAll() .Where(p => (assetId != null && p.AssetId == assetId) || (locationId != null && p.LocationId == locationId)) .FirstOrDefault(); if (point == null) { point = new Point { AssetId = assetId, LocationId = locationId }; _pointRepository.Insert(point); } var pointMeterLineItem = new PointMeterLineItem { IsNew = true, Point = point }; var maxDisplayOrder = _pointMeterLineItemRepository.GetAll().Where(p => p.PointId == pointId).Max(p => (int?)p.DisplayOrder) ?? 0; pointMeterLineItem.DisplayOrder = maxDisplayOrder + 1; _pointMeterLineItemRepository.Insert(pointMeterLineItem); this._dbContext.SaveChanges(); var model = new PointMeterLineItemModel(); model = pointMeterLineItem.ToModel(); var html = this.PointMeterLineItemPanel(model); return(Json(new { Id = pointMeterLineItem.Id, pointId = point.Id, Html = html })); }
public static PointMeterLineItemModel ToModel(this PointMeterLineItem entity) { return(entity.MapTo <PointMeterLineItem, PointMeterLineItemModel>()); }
public static PointMeterLineItem ToEntity(this PointMeterLineItemModel model, PointMeterLineItem destination) { return(model.MapTo(destination)); }