public async Task <List <GlueCreateDto1> > GetGlueByBuilding(int buildingID) { var item = _repoBuilding.FindById(buildingID); var lineList = await _repoBuilding.FindAll().Where(x => x.ParentID == item.ID).Select(x => x.ID).ToListAsync(); List <int> modelNameID = _repoPlan.FindAll().Where(x => lineList.Contains(x.BuildingID)).Select(x => x.BPFCEstablishID).ToList(); var lists = await _repoGlue.FindAll().ProjectTo <GlueCreateDto1>(_configMapper).Where(x => modelNameID.Contains(x.BPFCEstablishID)).OrderByDescending(x => x.ID).Select(x => new GlueCreateDto1 { ID = x.ID, Name = x.Name, GlueID = x.GlueID, Code = x.Code, ModelNo = x.ModelNo, CreatedDate = x.CreatedDate, BPFCEstablishID = x.BPFCEstablishID, PathName = x.PathName, PartNameID = x.PartNameID, MaterialNameID = x.MaterialNameID, MaterialName = x.MaterialName, Consumption = x.Consumption, Chemical = new GlueDto1 { ID = x.GlueID, Name = x.Name } }).ToListAsync(); return(lists.DistinctBy(x => x.Name).ToList()); //return await _repoGlue.FindAll().ProjectTo<GlueCreateDto1>(_configMapper).Where(x=>x.ModalNameID == modelNameID).OrderByDescending(x => x.ID).ToListAsync(); }
//Thêm Brand mới vào bảng Line public async Task <bool> Add(LineInfoDto model) { var info = _mapper.Map <LineInfo>(model); info.LineID = _repoBuilding.FindAll().FirstOrDefault(x => x.Name.Equals(model.LineName)).ID; _repoLine.Add(info); return(await _repoLine.SaveAll()); }
public ActionResult Edit(int id) { var hevm = CreateViewModel <HolidayEditViewModel>(); var Holiday = _holidayRepository.FindById(id); Mapper.Map(Holiday, hevm.Holiday); var building_ids = GetUserBuildings(_buildingRepository, _userRepository); var buildings = _buildingRepository.FindAll().Where(x => !x.IsDeleted && building_ids.Contains(x.Id)); Mapper.Map(buildings, hevm.BuildingItems); var ActiveBuildings = GetUserHolidayBuildings(id); foreach (int BuildId in ActiveBuildings) { hevm.BuildingItems.Where(x => x.Value == BuildId.ToString()).First().Selected = true; } if (!hevm.BuildingItems.Where(x => x.Selected).Any()) { hevm.AllBuildings = true; } hevm.Holiday.EventStartStr = hevm.Holiday.EventStart.ToString("dd.MM.yyyy"); return(PartialView(hevm)); }
private List <RoleBuildingItem> GetRoleBuildings(int?roleId, bool isCreateMode = false) { var result = new List <RoleBuildingItem>(); var buildings = _buildingRepository.FindAll().Where(x => !x.IsDeleted); var role = roleId.HasValue ? _roleRepository.FindById(roleId.Value) : null; var building_ids = GetUserBuildings(_buildingRepository, _userRepository); foreach (var building in buildings) { var item = new RoleBuildingItem { BuildingId = building.Id, BuildingName = building.Name, RoleId = roleId, IsAvailable = building_ids.Contains(building.Id) }; if (role != null) { var roleBuilding = role.RoleBuildings.Where( rb => rb.RoleId == roleId && rb.BuildingId == building.Id).FirstOrDefault(); item.IsChecked = roleBuilding == null ? false : !roleBuilding.IsDeleted; item.Id = roleBuilding != null ? (int?)roleBuilding.Id : null; } result.Add(item); } if (isCreateMode) { result = result.Where(x => building_ids.Contains(x.BuildingId.Value)).ToList(); } return(result); }
public async Task <object> GetBuildingByIngredientAndBatch(string ingredient, string batchValue) { var ingredientName = ingredient.ToSafetyString(); var from = DateTime.Now.Date.AddDays(-3).Date; var to = DateTime.Now.Date.Date; var plans = _repoPlan.FindAll() .Include(x => x.Building) .Include(x => x.BPFCEstablish) .ThenInclude(x => x.Glues) .Where(x => x.DueDate.Date >= from && x.DueDate.Date <= to) .Select(x => new { x.BPFCEstablish.Glues, Line = x.Building.ParentID, x.DueDate }); var lines = new List <int?>(); foreach (var plan in plans) { // lap nhung bpfc chua ingredient search foreach (var glue in plan.Glues.Where(x => x.isShow == true && x.Name.Contains(ingredientName.Trim()))) { lines.Add(plan.Line); } } var listBuilding = lines.Distinct(); var buildings = await _repoBuilding.FindAll().Where(x => listBuilding.Contains(x.ID)).ToListAsync(); return(buildings); }
protected List <int> GetUserBuildings(IBuildingRepository buildingRepository, IUserRepository userRepository, int?userId = null) { var roleBuildings = buildingRepository.FindAll(x => !x.IsDeleted); /*if (!CurrentUser.Get().IsSuperAdmin)//<--!CurrentUser.Get().IsSuperAdmin * { * if (userId.HasValue) * { * var userBuildings = userRepository.FindById(userId.HasValue ? userId.Value : CurrentUser.Get().Id).UserBuildings.Where(x => !x.IsDeleted); * roleBuildings = roleBuildings.Where(rb => userBuildings.Any(ub => ub.BuildingId == rb.Id)); * } * } */ return((from rb in roleBuildings select rb.Id).ToList()); }
protected List <int> GetRoleBuildings(IBuildingRepository buildingRepository, IRoleRepository roleRepository) { var roleBuildings = buildingRepository.FindAll(x => !x.IsDeleted); if (!CurrentUser.Get().IsSuperAdmin) { if (CurrentUser.Get().IsCompanyManager&& CurrentUser.Get().CompanyId == null) { return((from rb in roleBuildings select rb.Id).ToList()); } var userRoleBuildings = roleRepository.FindById(CurrentUser.Get().RoleId).RoleBuildings.Where(rb => !rb.IsDeleted); roleBuildings = roleBuildings.Where(rb => userRoleBuildings.Any(urb => urb.BuildingId == rb.Id && !urb.IsDeleted)); } return((from rb in roleBuildings select rb.Id).ToList()); }
public ActionResult Camera() { var ctvm = new CompanyTreeViewModel(); var role_building_ids = GetUserBuildings(_buildingRepository, _userRepository, CurrentUser.Get().Id); ctvm.Countries = from country in _countryRepository.FindAll() select new Node { ParentId = 0, MyId = country.Id, Name = country.Name }; ctvm.Towns = from town in _locationRepository.FindAll(x => !x.IsDeleted) select new Node { ParentId = town.CountryId, MyId = town.Id, Name = town.Name }; //offices is buildings ctvm.Offices = from office in _buildingRepository.FindAll(x => !x.IsDeleted && role_building_ids.Contains(x.Id)) select new Node { ParentId = office.LocationId, MyId = office.Id, Name = office.Name }; ctvm.Towns = ctvm.Towns.Where(town => ctvm.Offices.Any(off => off.ParentId == town.MyId)); ctvm.Countries = ctvm.Countries.Where(country => ctvm.Towns.Any(town => town.ParentId == country.MyId)); List <int> companyIds = (from c in _companyRepository.FindAll(x => !x.IsDeleted && x.ParentId == null && x.Active) select c.Id).ToList(); if (CurrentUser.Get().IsCompanyManager) { int?companyId = CurrentUser.Get().CompanyId; companyIds = (from c in _companyRepository.FindAll(c => !c.IsDeleted && c.Active && (c.Id == companyId || c.ParentId == companyId)) select c.Id).ToList(); } ctvm.Companies = from company in _companyBuildingObjectRepository.FindAll(x => !x.IsDeleted && companyIds.Contains(x.CompanyId)) select new Node { ParentId = company.BuildingObject.BuildingId, MyId = company.CompanyId, Name = company.Company.Name }; ctvm.Companies = ctvm.Companies.Distinct(new NodeEqualityComparer()); ctvm.Partners = from partner in _companyRepository.FindAll(x => !x.IsDeleted && x.ParentId != null && companyIds.Contains(x.ParentId.Value)) select new Node { ParentId = partner.ParentId.Value, MyId = partner.Id, Name = partner.Name }; List <Node> Cameras = new List <Node>(); string query = @"select FSC.Name as CameraName , FSC.Id,cmpbo.CompanyId from CompanyBuildingObjects as cmpbo inner join FSBuildingObjectCameras fsboc on cmpbo.BuildingObjectId= fsboc.BuildingObjectId inner join FSCameras FSC ON FSBOC.CameraId= FSC.Id "; var Camera = db.Database.SqlQuery <CameraDetals>(query); foreach (var items1 in Camera) { Cameras.Add(new Node() { ParentId = items1.CompanyId, MyId = items1.Id, Name = items1.CameraName }); } ctvm.Cameras = Cameras; //ctvm.Cameras = // from Camera in // _IVideoAccessRepository.FindAll(x => companyIds.Contains(Convert.ToInt32(x.CompanyId))) // select // new Node // { // ParentId = Camera.CompanyId, // MyId = Camera.Id, // Name = Camera.CameraName // }; return(PartialView("Camera", ctvm)); }
public ActionResult Create() { var rvm = CreateViewModel <CompanyEditViewModel>(); var building_ids = GetUserBuildings(_buildingRepository, _userRepository); var buildings = _buildingRepository.FindAll().Where(x => !x.IsDeleted && building_ids.Contains(x.Id)); Mapper.Map(buildings, rvm.BuildingItems); rvm.Company.CompanyBuildingItems.Add(new CompanyBuildingItem() { BuildingItems = rvm.BuildingItems, IsAvailable = true }); var complist = _companyRepository.FindAll().Where(x => x.IsDeleted == false && x.Active == true && x.ParentId == null).OrderBy(y => y.Name).ToList(); rvm.CompanyItems = complist; return(PartialView("Create", rvm)); }
public async Task <PagedList <BuildingDto> > GetWithPaginations(PaginationParams param) { var lists = _repoBuilding.FindAll().ProjectTo <BuildingDto>(_configMapper).OrderByDescending(x => x.ID); return(await PagedList <BuildingDto> .CreateAsync(lists, param.PageNumber, param.PageSize)); }
public ActionResult GetTree(int? id) { var ctvm = CreateViewModel<PermissionTreeViewModel>(); var role_buildingIds = GetUserBuildings(_buildingRepository, _userRepository, CurrentUser.Get().Id); if (CurrentUser.Get().IsCompanyManager || CurrentUser.Get().IsCommonUser) { UserPermissionGroup upg; /* var activeUpg = _userPermissionGroupRepository.FindAll().Where( x => x.PermissionIsActive && !x.IsDeleted && x.UserId == CurrentUser.Get().Id).FirstOrDefault(); */ var activeUpg = _userPermissionGroupRepository.FindByUserId(CurrentUser.Get().Id).Where( x => x.PermissionIsActive && !x.IsDeleted).FirstOrDefault(); var activeUpgBuildingIds = activeUpg != null ? (from cbo in activeUpg.UserPermissionGroupTimeZones.Where(x => !x.IsDeleted && x.Active) select cbo.BuildingObjectId).ToList() : null; if (id.HasValue) { upg = _userPermissionGroupRepository.FindById(id.Value); //var cupg = _userPermissionGroupRepository.FindAll(x => x.ParentUserPermissionGroupId == id && x.UserId == CurrentUser.Get().Id); var cupg = _userPermissionGroupRepository.FindByUserId(CurrentUser.Get().Id).Where(x => x.ParentUserPermissionGroupId == id); if (CurrentUser.Get().IsCompanyManager && upg.ParentUserPermissionGroupId == null && cupg.Count() >= 1) { ctvm.IsCurrentUserAssignedGroup = true; } else { ctvm.IsCurrentUserAssignedGroup = upg.PermissionIsActive; } } else { if (_userPermissionGroupRepository.FindByUserId(CurrentUser.Get().Id).Where(x => !x.IsDeleted && x.IsOriginal == true).ToList().Count() == 0) return null; upg = _userPermissionGroupRepository.FindByUserId(CurrentUser.Get().Id).Where(x => !x.IsDeleted && x.IsOriginal == true && x.PermissionIsActive == true).FirstOrDefault(); id = upg.Id; ctvm.IsGroupExist = false; ctvm.IsCurrentUserAssignedGroup = false; } ctvm.IsOriginal = upg.IsOriginal; List<int> companyBuildingObjectsIds = (from cbo in upg.UserPermissionGroupTimeZones.Where(x => !x.IsDeleted && (activeUpg == null || activeUpgBuildingIds.Contains(x.BuildingObjectId) || x.Active)) select cbo.BuildingObjectId).ToList(); if (activeUpgBuildingIds != null) { foreach (var actUpgBuildingId in activeUpgBuildingIds.Where(actUpgBuildingId => !companyBuildingObjectsIds.Contains(actUpgBuildingId))) { companyBuildingObjectsIds.Add(actUpgBuildingId); } } var companyBuildingObjects = _buildingObjectRepository.FindAll(x => !x.IsDeleted && /*role_buildingIds.Contains(x.BuildingId) && */companyBuildingObjectsIds.Contains(x.Id)); // role_buildingIds.Contains(x.BuildingId) not in need List<int> floorsId = (from cbo in companyBuildingObjects.Where(x => x.ParentObjectId.HasValue) select cbo.ParentObjectId.Value).ToList(); var companyFloorObjects = _buildingObjectRepository.FindAll(x => !x.IsDeleted && floorsId.Contains(x.Id)); ctvm.Buildings = (from b in (from cbo in companyBuildingObjects select cbo.Building) where !b.IsDeleted select new Node { ParentId = b.LocationId, MyId = b.Id, Name = b.Name }).Distinct(new NodeEqualityComparer()).ToList(); ctvm.Towns = (from t in (from cbo in companyBuildingObjects select cbo.Building.Location) where !t.IsDeleted select new Node { ParentId = t.CountryId, MyId = t.Id, Name = t.Name }).Distinct(new NodeEqualityComparer()).ToList(); ctvm.Countries = (from c in (from cbo in companyBuildingObjects select cbo.Building.Location.Country).OrderBy(cc => cc.Name) where !c.IsDeleted select new Node { ParentId = 0, MyId = c.Id, Name = c.Name }).Distinct(new NodeEqualityComparer()).ToList(); ctvm.Floors = (from f in companyFloorObjects where f.TypeId == (int)BuildingObjectTypes.Floor select new Node { ParentId = f.BuildingId, MyId = f.Id, Name = f.Description, Comment = f.Comment }).Distinct(new NodeEqualityComparer()).ToList(); ctvm.Objects = (from o in companyBuildingObjects where o.ParentObjectId.HasValue && (o.TypeId == (int)BuildingObjectTypes.Door || o.TypeId == (int)BuildingObjectTypes.Lift || o.TypeId == (int)BuildingObjectTypes.Room) orderby o.TypeId descending select new Node { ParentId = o.ParentObjectId.Value, MyId = o.Id, Name = o.ObjectNr.HasValue ? "#" + o.ObjectNr + " " + o.Description : o.Description, Comment = o.Comment, IsDefaultTimeZone = _userPermissionGroupService.IsDefaultUserTimeZone(o.Id, id.Value), IsRoom = o.TypeId == (int)BuildingObjectTypes.Room ? 1 : 0, StatusIcon = o.StatusIconId.HasValue ? String.Format("../../img/status/{0}.ico", o.StatusIconId) : String.Empty }).Distinct(new NodeEqualityComparer()).ToList(); ctvm.ActiveObjectIds = _userPermissionGroupService.GetUserBuildingObjectIds(id.Value); foreach (var obn in ctvm.Objects) { if (obn.IsRoom == 1) { //1 illi 08.05.2018 UserPermissionGroupTimeZone upgtz = _userPermissionGroupTimeZoneRepository.FindAll(x => !x.IsDeleted && x.BuildingObjectId == obn.MyId && x.UserPermissionGroupId == id).FirstOrDefault(); int idd = id.GetValueOrDefault(); UserPermissionGroupTimeZone upgtz = _userPermissionGroupTimeZoneRepository.FindByPGId(idd).Where(x => !x.IsDeleted && x.BuildingObjectId == obn.MyId && x.UserPermissionGroupId == id).FirstOrDefault(); obn.IsArming = upgtz == null ? true : upgtz.IsArming; obn.IsDefaultArming = upgtz == null ? true : upgtz.IsDefaultArming; obn.IsDisarming = upgtz == null ? true : upgtz.IsDisarming; obn.IsDefaultDisarming = upgtz == null ? true : upgtz.IsDefaultDisarming; } } ctvm.Towns = ctvm.Towns.Where(town => ctvm.Buildings.Any(b => b.ParentId == town.MyId)); ctvm.Countries = ctvm.Countries.Where(country => ctvm.Towns.Any(town => town.ParentId == country.MyId)); } else if (!(CurrentUser.Get().IsCompanyManager || CurrentUser.Get().IsCommonUser)) { IEnumerable<Building> userBuildings; if (CurrentUser.Get().IsSuperAdmin) { userBuildings = _buildingRepository.FindAll(x => !x.IsDeleted).ToList(); } else if (CurrentUser.Get().IsBuildingAdmin) { userBuildings = _buildingRepository.FindAll(x => role_buildingIds.Contains(x.Id)); } else return null; ctvm.Buildings = (from b in userBuildings select new Node { ParentId = b.LocationId, MyId = b.Id, Name = b.Name }).Distinct(new NodeEqualityComparer()).ToList(); ctvm.Towns = (from t in (from ub in userBuildings select ub.Location) where !t.IsDeleted select new Node { ParentId = t.CountryId, MyId = t.Id, Name = t.Name }).Distinct(new NodeEqualityComparer()).ToList(); ctvm.Countries = (from c in (from cbo in userBuildings select cbo.Location.Country).OrderBy(cc => cc.Name) where !c.IsDeleted select new Node { ParentId = 0, MyId = c.Id, Name = c.Name }).Distinct(new NodeEqualityComparer()).ToList(); List<int> userBuildingIds = (from ub in userBuildings select ub.Id).ToList(); var userBuildingObjects = _buildingObjectRepository.FindAll(x => !x.IsDeleted && userBuildingIds.Contains(x.BuildingId)).ToList(); ctvm.Floors = (from f in userBuildingObjects where f.TypeId == (int)BuildingObjectTypes.Floor select new Node { ParentId = f.BuildingId, MyId = f.Id, Name = f.Description, Comment = f.Comment }).Distinct(new NodeEqualityComparer()).ToList(); ctvm.Objects = (from o in userBuildingObjects where o.ParentObjectId.HasValue && (o.TypeId == (int)BuildingObjectTypes.Door || o.TypeId == (int)BuildingObjectTypes.Lift || o.TypeId == (int)BuildingObjectTypes.Room) orderby o.TypeId descending select new Node { ParentId = o.ParentObjectId.Value, MyId = o.Id, Name = o.ObjectNr.HasValue ? "#" + o.ObjectNr + " " + o.Description : o.Description, Comment = o.Comment, IsDefaultTimeZone = id.HasValue ? _userPermissionGroupService.IsDefaultUserTimeZone(o.Id, id.Value) : true, IsRoom = o.TypeId == (int)BuildingObjectTypes.Room ? 1 : 0, StatusIcon = o.StatusIconId.HasValue ? String.Format("../../img/status/{0}.ico", o.StatusIconId) : String.Empty }).Distinct(new NodeEqualityComparer()).ToList(); if (id.HasValue) { ctvm.ActiveObjectIds = _userPermissionGroupService.GetUserBuildingObjectIds(id.Value); foreach (var obn in ctvm.Objects) { if (obn.IsRoom == 1) { int idd = id.GetValueOrDefault(); UserPermissionGroupTimeZone pgtz = _userPermissionGroupTimeZoneRepository.FindByPGId(idd).Where(x => !x.IsDeleted && x.BuildingObjectId == obn.MyId && x.UserPermissionGroupId == id).FirstOrDefault(); obn.IsDisarming = pgtz == null ? true : pgtz.IsDisarming; obn.IsDefaultDisarming = pgtz == null ? true : pgtz.IsDefaultDisarming; obn.IsArming = pgtz == null ? true : pgtz.IsArming; obn.IsDefaultArming = pgtz == null ? true : pgtz.IsDefaultArming; } } } else { foreach (var obn in ctvm.Objects) { if (obn.IsRoom == 1) { obn.IsArming = obn.IsDisarming = obn.IsDefaultArming = obn.IsDefaultDisarming = true; } } } ctvm.Towns = ctvm.Towns.Where(town => ctvm.Buildings.Any(b => b.ParentId == town.MyId)); ctvm.Countries = ctvm.Countries.Where(country => ctvm.Towns.Any(town => town.ParentId == country.MyId)); } return PartialView("Tree", ctvm); }
public ActionResult GetTree() { var ctvm = new CompanyTreeViewModel(); var role_building_ids = GetUserBuildings(_buildingRepository, _userRepository, CurrentUser.Get().Id); ctvm.Countries = from country in _countryRepository.FindAll() select new Node { ParentId = 0, MyId = country.Id, Name = country.Name }; ctvm.Towns = from town in _locationRepository.FindAll(x => !x.IsDeleted) select new Node { ParentId = town.CountryId, MyId = town.Id, Name = town.Name }; ctvm.Offices = from office in _buildingRepository.FindAll(x => !x.IsDeleted && role_building_ids.Contains(x.Id)) select new Node { ParentId = office.LocationId, MyId = office.Id, Name = office.Name }; ctvm.Towns = ctvm.Towns.Where(town => ctvm.Offices.Any(off => off.ParentId == town.MyId)); ctvm.Countries = ctvm.Countries.Where(country => ctvm.Towns.Any(town => town.ParentId == country.MyId)); List <int> companyIds = (from c in _companyRepository.FindAll(x => !x.IsDeleted && x.ParentId == null && x.Active) select c.Id).ToList(); if (CurrentUser.Get().IsCompanyManager) { int?companyId = CurrentUser.Get().CompanyId; companyIds = (from c in _companyRepository.FindAll(c => !c.IsDeleted && c.Active && (c.Id == companyId || c.ParentId == companyId)) select c.Id).ToList(); } ctvm.Companies = from company in _companyBuildingObjectRepository.FindAll(x => !x.IsDeleted && companyIds.Contains(x.CompanyId)) select new Node { ParentId = company.BuildingObject.BuildingId, MyId = company.CompanyId, Name = company.Company.Name }; ctvm.Companies = ctvm.Companies.Distinct(new NodeEqualityComparer()); ctvm.Partners = from partner in _companyRepository.FindAll(x => !x.IsDeleted && x.ParentId != null && companyIds.Contains(x.ParentId.Value)) select new Node { ParentId = partner.ParentId.Value, MyId = partner.Id, Name = partner.Name }; ctvm.Floors = from floor in _companyBuildingObjectRepository.FindAll(x => !x.IsDeleted && companyIds.Contains(x.CompanyId) && x.BuildingObject.TypeId == 1) select new Node { ParentId = floor.CompanyId, MyId = floor.Id, Name = floor.BuildingObject.Description, BuildingId = floor.BuildingObject.BuildingId }; return(PartialView("UserTree", ctvm)); }
public async Task <object> GetWorkersByLine(string lineID) { try { var iotModel = await _repoCycleTime.FindAll().Where(x => x.datetime.Date == DateTime.Now.Date && x.cycleTime <= 90).ToListAsync(); var WORKER_LEVEL = 5; var model = await(from a in _repoWorker.FindAll() join b in _repoLine.FindAll().Where(x => x.Level == WORKER_LEVEL && x.Name == lineID) on a.BuildingID equals b.ID join c in _repoBtn.FindAll() on a.ID equals c.WorkerID select new WorkerListDto { FullName = a.FullName, WorkerID = a.ID, LineID = b.ID, ButtonCode = c.Code, ButtonID = c.ID, Standard = c.Standard, LineName = b.Name, Operation = a.Operation, TaktTime = c.TaktTime }).ToListAsync(); var data = new List <WorkerListDto>(); foreach (var a in model) { var avg = iotModel.Where(x => x.BtnID == a.ButtonID).Count() > 0 ? iotModel.Where(x => x.BtnID == a.ButtonID).Average(x => x.cycleTime) : 0; var best = iotModel.Where(x => x.BtnID == a.ButtonID).Count() > 0 ? iotModel.Where(x => x.BtnID == a.ButtonID).Min(x => x.cycleTime) : 0; var latest = iotModel.Where(x => x.BtnID == a.ButtonID).LastOrDefault() == null ? 0 : iotModel.Where(x => x.BtnID == a.ButtonID).LastOrDefault().cycleTime; var frequency = iotModel.Where(x => x.BtnID == a.ButtonID).Count(); data.Add(new WorkerListDto { FullName = a.FullName, WorkerID = a.WorkerID, LineID = a.LineID, ButtonCode = a.ButtonCode, ButtonID = a.ButtonID, Standard = a.Standard, LineName = a.LineName, Operation = a.Operation, TaktTime = a.TaktTime, Avg = Math.Round(avg, 1), Best = best, Latest = latest, Frequency = frequency }); } return(new { data = data, dataIoT = iotModel }); } catch { return(new { data = new List <WorkerListDto>(), dataIoT = new List <WorkerListDto>(), }); } }