public async Task <BuildingResponse> FindByIdAsync(string userid, string id, CancellationToken cancellationToken = default(CancellationToken)) { var query = _buildingsStore.GetDetailQuery(); query = query.Where(x => x.Id == id); if (await query.CountAsync() == 0) { return(null); } string fr = ApplicationCore.ApplicationContext.Current.FileServerRoot; fr = (fr ?? "").TrimEnd('/'); var building = await query.FirstOrDefaultAsync(cancellationToken); building.Icon = string.IsNullOrEmpty(building.Icon) ? "" : fr + "/" + building.Icon.TrimStart('/'); BuildingResponse buildingResponse = _mapper.Map <BuildingResponse>(building); buildingResponse.FileList = new List <FileItemResponse>(); buildingResponse.AttachmentList = new List <AttachmentResponse>(); if (building.BuildingFileInfos != null && building.BuildingFileInfos.Count() > 0) { var f = building.BuildingFileInfos.Select(a => a.FileGuid).Distinct(); foreach (var item in f) { var f1 = building.BuildingFileInfos.Where(a => a.Type != "Attachment" && a.FileGuid == item).ToList(); if (f1?.Count > 0) { buildingResponse.FileList.Add(ConvertToFileItem(item, f1)); } var f2 = building.BuildingFileInfos.Where(a => a.Type == "Attachment" && a.FileGuid == item).ToList(); if (f2?.Count > 0) { buildingResponse.AttachmentList.AddRange(ConvertToAttachmentItem(f2)); } } } buildingResponse.IsFavorite = await _ibuildingFavoritesStore.GetAsync(x => x.Where(y => y.UserId == userid && y.BuildingId == buildingResponse.Id && !y.IsDeleted)) == null ? false : true; var asdasd = (await _ipermissionExpansionManager.GetUseridsHaveOrganPermission(buildingResponse.OrganizationId, "MyManagerBuildings")).FirstOrDefault(); var user = await _iuserStore.GetAsync(x => x.Where(y => y.Id == asdasd)); buildingResponse.ResidentUserManager = new UserInfo { Id = user?.Id, UserName = user?.TrueName, PhoneNumber = user?.PhoneNumber }; return(buildingResponse); }
public static BuildingResponse ToModel(this BuildingDTO building) { BuildingResponse model = new BuildingResponse { Id = building.Id, Name = building.Name, NumberOfUnits = building.NumberOfUnits, Address = building.Address }; return(model); }
/// <summary> /// Gets the buildings. /// </summary> /// <param name="request">The request.</param> /// <returns></returns> public BuildingResponse GetBuildings(BuildingRequest request) { var response = new BuildingResponse(); if (request.LoadOptions.Contains("Buildings")) { response.Buildings = request.LoadOptions.Contains("IsActive") ? BuildingDao.GetBuildingsByActive(true) : BuildingDao.GetBuildings(); } if (request.LoadOptions.Contains("Building")) { response.Building = BuildingDao.GetBuilding(request.BuildingId); } return(response); }
/// <summary> /// Sets the buildings. /// </summary> /// <param name="request">The request.</param> /// <returns></returns> public BuildingResponse SetBuildings(BuildingRequest request) { var response = new BuildingResponse(); var buildingEntity = request.Building; if (request.Action != PersistType.Delete) { if (!buildingEntity.Validate()) { foreach (string error in buildingEntity.ValidationErrors) { response.Message += error + Environment.NewLine; } response.Acknowledge = AcknowledgeType.Failure; return(response); } } try { if (request.Action == PersistType.Insert) { var buildingByCode = BuildingDao.GetBuildingsByBuildingCode(buildingEntity.BuildingCode); if (buildingByCode != null && buildingByCode.Count > 0) { response.Acknowledge = AcknowledgeType.Failure; response.Message = @"Mã thuê nhà " + buildingEntity.BuildingCode + @" đã tồn tại !"; return(response); } AutoNumberListDao.UpdateIncreateAutoNumberListByValue("Building"); buildingEntity.BuildingId = BuildingDao.InsertBuilding(buildingEntity); if (buildingEntity.BuildingId == 0) { response.Acknowledge = AcknowledgeType.Failure; response.RowsAffected = 0; return(response); } response.Message = null; } else if (request.Action == PersistType.Update) { var buildingByCode = BuildingDao.GetBuildingsByBuildingCode(buildingEntity.BuildingCode); if (buildingByCode != null && buildingByCode.Count > 0) { if (buildingByCode.Where(w => w.BuildingId != buildingEntity.BuildingId).Count() > 0) { response.Acknowledge = AcknowledgeType.Failure; response.Message = @"Mã thuê nhà " + buildingByCode.FirstOrDefault().BuildingCode + @" đã tồn tại !"; return(response); } } response.Message = BuildingDao.UpdateBuilding(buildingEntity); if (response.Message != null) { response.Acknowledge = AcknowledgeType.Failure; response.RowsAffected = 0; return(response); } } else { var buildingForUpdate = BuildingDao.GetBuilding(request.BuildingId); response.Message = BuildingDao.DeleteBuilding(buildingForUpdate); if (response.Message != null) { response.Acknowledge = AcknowledgeType.Failure; response.RowsAffected = 0; return(response); } } } catch (Exception ex) { response.Acknowledge = AcknowledgeType.Failure; response.Message = ex.Message; return(response); } response.BuildingId = buildingEntity != null ? buildingEntity.BuildingId : 0; response.Acknowledge = AcknowledgeType.Success; return(response); }