public CompanyBuildingItem GetFloorItems(int?buildingId, int?companyId) { var building = _buildingRepository.FindById(buildingId.Value); var building_ids = GetUserBuildings(_buildingRepository, _userRepository); var buildingObjects = _buildingObjectRepository.FindAll().Where(x => !x.IsDeleted && x.BuildingId == buildingId && x.TypeId == 1); var result = new CompanyBuildingItem() { BuildingId = buildingId, IsAvailable = building_ids.Contains(buildingId.Value), BuildingName = building.Name }; var floors = new List <CompanyFloorItem>(); var companyBuildingObjects = companyId == null ? null : _companyBuildingObjectRepository.FindAll().Where( x => x.CompanyId == companyId.Value && x.BuildingObject.BuildingId == buildingId.Value); foreach (var buildingObject in buildingObjects) { var item = new CompanyFloorItem(); item.CompanyId = companyId; item.BuildingObjectId = buildingObject.Id; item.IsAvailable = building_ids.Contains(buildingObject.BuildingId); var cbo = companyBuildingObjects == null ? null : companyBuildingObjects.Where(x => x.BuildingObjectId == buildingObject.Id).FirstOrDefault(); if (cbo == null) { item.IsSelected = false; item.Id = null; } else { item.IsSelected = !cbo.IsDeleted; item.Id = cbo.Id; } floors.Add(item); } result.CompanyFloors = floors; return(result); }
public void DeleteCompanyBuildingObjects(int companyId, string host) { var cc = _companyRepository.FindById(companyId); var message = new StringBuilder(); message.Append(string.Format("Building objects for Company '{0}' changed. ", cc.Name)); using (IUnitOfWork work = UnitOfWork.Begin()) { IEnumerable <CompanyBuildingObject> objects = _companyBuildingObjectRepository.FindAll(x => x.CompanyId == companyId && !x.IsDeleted && x.BuildingObject.TypeId == 1); foreach (var item in objects) { item.IsDeleted = true; message.Append(string.Format("Room '{0}' in '{1}' deleted. ", item.BuildingObject.Description, item.BuildingObject.Building.Name)); } work.Commit(); _logService.CreateLog(CurrentUser.Get().Id, "web", flag, host, CurrentUser.Get().CompanyId, message.ToString()); } }
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 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)); }