Exemple #1
0
        public ActionResult Edit(long id)
        {
            long adminUserId = (long)Session["LoginUserId"];
            long?cityId      = AdminUserService.GetById(adminUserId).CityId;

            if (cityId == null)
            {
                return(View("Error", (object)"总部人员不能管理房源"));
            }
            var house              = HouseService.GetById(id);
            var regions            = RegionService.GetAll(cityId.Value);
            var roomTypes          = IdNameService.GetAll("户型");
            var statuses           = IdNameService.GetAll("房屋状态");
            var decorationStatuses = IdNameService.GetAll("装修状态");
            var types              = IdNameService.GetAll("房屋类别");
            var attachments        = AttachmentService.GetAll();
            var model              = new HouseEditViewModel();

            model.Attachments     = attachments;
            model.DecorateStatues = decorationStatuses;
            model.House           = house;
            model.Regions         = regions;
            model.RoomTypes       = roomTypes;
            model.Statuses        = statuses;
            model.Types           = types;
            return(View(model));
        }
Exemple #2
0
        private async Task getHouses(object parameter, NavigationMode mode, IDictionary <string, object> state)
        {
            var houseService = new HouseService();
            var hasHouses    = true;
            var houseIndex   = 1;

            while (hasHouses)
            {
                var houses = await houseService.GetHousesAsync(houseIndex);

                if (houses.Count > 0)
                {
                    foreach (var item in houses)
                    {
                        Houses.Add(item);
                    }
                    await base.OnNavigatedToAsync(parameter, mode, state);

                    houseIndex++;
                }
                else
                {
                    hasHouses = false;
                }
            }
        }
Exemple #3
0
        public async Task <CommandResult> Handle(DeleteHouseServiceCommand message)
        {
            HouseService entity = _mapper.Map <DeleteHouseServiceCommand, HouseService>(message);

            //if is not valid
            if (entity.HasErrors)
            {
                return(entity.ToResult());
            }

            if (await _servicePeriodRepository.AnyAsync(p => p.HouseServicePeriod.HouseServiceId == message.HouseServiceId))
            {
                entity.AddError("Cannot delete Service, there are registered service receipts.");
                return(entity.ToResult());
            }
            // Delete header HouseService
            entity.RowStatus = false;
            entity.Update(message.UserId);
            _houseServiceRepository.UpdatePartial(entity,
                                                  new string[] { "RowStatus", "UpdatedBy", "UpdatedDate" });

            // Delete detail HouseServicePeriods
            (await _houseServicePeriodRepository.ListAsync(p => p.HouseServiceId == message.HouseServiceId))
            .ToList()
            .ForEach((HouseServicePeriod p) => { p.RowStatus = false; });

            await _unitOfWork.CommitAsync();

            return(entity.ToResult());
        }
Exemple #4
0
        public ActionResult Search(HouseSearchOptionModel houseSearchOption)
        {
            long    cityId = FrontHelper.GetCityId(this.HttpContext);
            CityDTO city   = CityService.GetById(cityId);

            RegionDTO[] regions = RegionService.GetAll(cityId);
            int         monthRentStart, monthRentEnd;

            ParseMonthRent(houseSearchOption.MonthRent, out monthRentStart, out monthRentEnd);
            HouseSearchOptions houseSearchOptions = new HouseSearchOptions
            {
                CityId         = cityId,
                RegionId       = houseSearchOption.RegionId,
                KeyWords       = houseSearchOption.KeyWords,
                TypeId         = houseSearchOption.TypeId,
                MonthRentStart = monthRentStart,
                MonthRentEnd   = monthRentEnd
            };
            var houses = HouseService.Search(houseSearchOptions);

            HouseSearchViewModel houseSearchView = new HouseSearchViewModel
            {
                City    = city,
                Regions = regions,
                Houses  = houses
            };

            return(View(houseSearchView));
        }
Exemple #5
0
        public ActionResult Add(HouseAddPostModel model)
        {
            long adminUserId = (long)Session["LoginUserId"];
            long?cityId      = AdminUserService.GetById(adminUserId).CityId;

            if (cityId == null)
            {
                return(View("Error", (object)"总部人员不能管理房源"));
            }
            var houseDTO = new HouseAddNewDTO();

            houseDTO.Address          = model.HouseAddress;
            houseDTO.AttachmentIds    = model.AttachmentIds;
            houseDTO.CheckInDateTime  = model.CheckInDate;
            houseDTO.CommunityId      = model.CommunityId;
            houseDTO.DecorateStatusId = model.DecorateStatusId;
            houseDTO.Description      = model.Description;
            houseDTO.Direction        = model.Direction;
            houseDTO.FloorIndex       = model.FloorIndex;
            houseDTO.TotalFloorCount  = model.TotalIndex;
            houseDTO.LookableDateTime = model.LookableDatetime;
            houseDTO.MonthRent        = model.MonthRent;
            houseDTO.OwnerName        = model.OwnerName;
            houseDTO.OwnerPhoneNum    = model.OwnerPhoneNum;
            houseDTO.RoomTypeId       = model.RoomTypeId;
            houseDTO.StatusId         = model.StatusId;
            houseDTO.TotalFloorCount  = model.TotalIndex;
            houseDTO.TypeId           = model.TypeId;
            houseDTO.Area             = model.HouseArea;
            HouseService.AddNew(houseDTO);
            return(Json(new AjaxResult()
            {
                Status = "ok"
            }));
        }
Exemple #6
0
        public ActionResult Edit(long Id)
        {
            long userId = (long)AdminHelper.GetUserId(HttpContext);
            var  user   = AdminUserService.GetById(userId);

            if (user.CityId == null)
            {
                //TODO如果“总部不能***”的操作很多,也可以定义成一个AuthorizeFilter
                //最好用FilterAttribute的方式标注,这样对其他的不涉及这个问题的地方效率高
                //立即实现
                return(View("ERROR", (object)"总部不能进行房源管理"));
            }
            var regions             = RegionService.GetAll((long)user.CityId);
            var roomTypes           = IdNameService.GetAll("户型");
            var status              = IdNameService.GetAll("房屋状态");
            var decorateStatus      = IdNameService.GetAll("装修状态");
            var types               = IdNameService.GetAll("出租类别");
            var attachments         = AttachmentService.GetAll();
            var house               = HouseService.GetById(Id);
            HouseEditGetModel model = new HouseEditGetModel();

            model.Attachments    = attachments;
            model.DecorateStatus = decorateStatus;
            model.Regions        = regions;
            model.RoomTypes      = roomTypes;
            model.Status         = status;
            model.Types          = types;
            model.House          = house;
            return(View(model));
        }
Exemple #7
0
        static void Main(string[] args)
        {
            string remoteSrv = @"mongodb://115.156.252.5:27017";
            string localSrv  = @"mongodb://127.0.0.1:27017";
            //setup db context
            var connection = localSrv;
            //todo ioc is really needed here
            MongoDBRepository <House>               houseDb   = new MongoDBRepository <House>(connection, "OldHouseDb", "House");
            MongoDBRepository <BlogPostEntity>      CheckInDb = new MongoDBRepository <BlogPostEntity>(connection, "OldHouseDb", "CheckIn");
            MongoDBRepository <OldHouseUser>        UserDb    = new MongoDBRepository <OldHouseUser>(connection, "OldHouseDb", "OldHouseUser");
            MongoDBRepository <OldHouseUserProfile> ProfileDb = new MongoDBRepository <OldHouseUserProfile>(connection, "OldHouseDb", "OldHouseUserProfile");
            MongoDBRepository <Message>             feedDb    = new MongoDBRepository <Message>(connection, "OldHouseDb", "Feed");


            houseService = new HouseService(
                houseDb,
                new BlogPostService(CheckInDb, null),
                new EntityService <OldHouseUserProfile>(ProfileDb),
                null,   //the like rate is not used here
                new UserManager <OldHouseUser>(UserDb),
                new MessageService(feedDb));

            loadExcel(@"D:\OldHouse\code\OldHouse\TestDataSet\test2\data.xls", int.Parse(args[0]), int.Parse(args[1]));

            Console.ReadKey();
        }
        public JsonResult editHouse(string hid,
                                    string area,
                                    string price,
                                    string pay,
                                    string unitType,
                                    string floor,
                                    string community,
                                    string type,
                                    string houseDesc,
                                    string region)
        {
            int hidInt = Convert.ToInt32(hid);

            House house = HouseService.LoadEntities(h => h.hid == hidInt).FirstOrDefault();

            house.area      = Convert.ToInt32(area);
            house.price     = Convert.ToInt32(price);
            house.pay       = pay;
            house.unitType  = unitType;
            house.floor     = floor;
            house.community = community;
            house.type      = type;
            house.houseDesc = houseDesc;
            house.region    = region;

            bool res = HouseService.EditEntity(house);


            return(Json(res, JsonRequestBehavior.AllowGet));
        }
Exemple #9
0
        public void UseService(HouseService service)
        {
            switch (service)
            {
            case HouseService.Electricity:
                this.electricityService.Use();
                break;

            case HouseService.Water:
                this.waterService.UseWater();
                break;

            case HouseService.Internet:
                this.internetService.UseInternet();
                break;

            case HouseService.Cleaning:
                this.cleaningService.Clean();
                break;

            case HouseService.Sanitation:
                this.sanitationService.UseSanitation();
                break;
            }
        }
Exemple #10
0
        public ActionResult Add(HouseAddNewDTO house)
        {
            long userId = (long)AdminHelper.GetUserId(HttpContext);
            var  user   = AdminUserService.GetById(userId);

            if (user.CityId == null)
            {
                //TODO如果“总部不能***”的操作很多,也可以定义成一个AuthorizeFilter
                //最好用FilterAttribute的方式标注,这样对其他的不涉及这个问题的地方效率高
                //立即实现
                return(View("ERROR", (object)"总部不能进行房源管理"));
            }
            var houseId = HouseService.AddNew(house);

            if (houseId > 0)
            {
                //生成房源查看的html文件
                CreateStaticPages(houseId);
                return(Json(new AjaxResult()
                {
                    Status = "ok"
                }));
            }

            return(Json(new AjaxResult()
            {
                Status = "error", ErrorMsg = "添加失败"
            }));
        }
Exemple #11
0
        public void TestInitialize()
        {
            mockCategoryRepository = new Mock <ICategoryRepository>();
            mockHouseRepository    = new Mock <IHouseRepository>();

            service = new HouseService(mockHouseRepository.Object, mockCategoryRepository.Object);
        }
        public ActionResult partialRentHouse()
        {
            if (Session["houseDic"] != null)
            {
                ViewBag.houseDic    = Session["houseDic"];
                Session["houseDic"] = null;
                return(View());
            }

            string city = Session["rentCity"].ToString();

            Dictionary <string, List <HousePicture> > houseDic = new Dictionary <string, List <HousePicture> >();
            // 出租房 type = 1 出租 state = 0 未出售  audit 房屋审核通过允许上架
            List <House>        houseList = HouseService.LoadEntities(t => t.type == "1" && t.state == "0" && t.audit == "1" && t.city == city).ToList();
            List <HousePicture> hps       = newHousePicture(houseList);

            //Console.WriteLine(houseList);
            houseDic.Add("rent", hps);

            List <DataDictionary> datas = DataDictionaryService.LoadEntities(t => t.dkey == "region").ToList();



            ViewBag.houseDic = houseDic;
            ViewBag.dataDic  = datas;
            return(View());
        }
Exemple #13
0
        public ActionResult Edit(long id)
        {
            long?userId = AdminHelper.AdminUserId(HttpContext);
            long?cityId = AdminUserService.GetById(userId.Value).CityId;

            if (cityId == null)
            {
                return(View("Error", (object)"总部不能进行房源管理"));
            }
            var house = HouseService.GetById(id);
            HouseEditViewModel model = new HouseEditViewModel();

            model.House = house;

            var regions = RegionService.GetCityAll(cityId.Value).ToList();
            //regions.Insert(0, new RegionDTO() {Id=0, Name = "请选择区域" });
            var roomTypes        = IdNameService.GetAll("户型");
            var statuses         = IdNameService.GetAll("房屋状态");
            var decorateStatuses = IdNameService.GetAll("装修状态");
            var attachments      = AttachmentService.GetAll();
            var types            = IdNameService.GetAll("房屋类别");

            model.Regions          = regions;
            model.RoomTypes        = roomTypes;
            model.Statuses         = statuses;
            model.DecorateStatuses = decorateStatuses;
            model.Attachments      = attachments;
            model.Types            = types;
            return(View(model));
        }
Exemple #14
0
 public ActionResult ManyDeleted(string idsStr)
 {
     try
     {
         var ids = idsStr.Substring(0, idsStr.LastIndexOf(',')).Split(',');
         foreach (var id in ids)
         {
             HouseService.MarkDeleted(long.Parse(id));
         }
         return(Json(new AjaxResult <object>
         {
             code = 0,
             msg = "删除成功"
         }));
     }
     catch (Exception ex)
     {
         Log.ErrorFormat("批量删除失败:{0}", ex.Message);
         return(Json(new AjaxResult <object>
         {
             code = 1,
             msg = "批量删除成功"
         }));
     }
 }
Exemple #15
0
        public string DistanceBetween(string loc1, string loc2)
        {
            var point1 = HouseService.GetGeoPoint(loc1);
            var point2 = HouseService.GetGeoPoint(loc2);

            return(HouseService.GetDistanceKm(point1, point2));
        }
        public static void ConfigDtoMapping()
        {
            Mapper.CreateMap <House, HouseBrief>();
            Mapper.CreateMap <House, HouseDetail>();

            //all the checkin is regarded to be gcj-02 coords, but the current location may be using WGS84 coords,if there are notable drift,
            //we will transform the cuurent location coords to GJC-02
            //and we now assume the coords of the houses are GCJ-02, if not we will transfor there house coords to GCJ-02 coords
            //map New CheckinDTO to a real checkin object
            //child map
            Mapper.CreateMap <Asset, string>().ConvertUsing(des => des.Path);
            Mapper.CreateMap <string, Asset>()
            .ForMember(dest => dest.Path, opt => opt.MapFrom(src => src))
            .ForMember(dest => dest.Type, opt => opt.MapFrom(src => Asset.IMAGE));      //the defual mapping is to image you can chage this later

            Mapper.CreateMap <CheckInDto, CheckIn>()
            .ForMember(dest => dest.Location, opt => opt.MapFrom(src => HouseService.GetGeoPoint(src.Lnt + @";" + src.Lat)))
            .ForMember(dest => dest.User, opt => opt.MapFrom(src => new BasicUser {
                Id = src.UserId
            }))
            .ForMember(dest => dest.Asset, opt => opt.MapFrom(src => src.Images));
            //map checkin into checkin dto
            Mapper.CreateMap <CheckIn, CheckInDto>()
            .ForMember(dest => dest.Lat, opt => opt.MapFrom(src => src.Location.coordinates[1]))
            .ForMember(dest => dest.Lnt, opt => opt.MapFrom(src => src.Location.coordinates[0]))
            .ForMember(dest => dest.UserId, opt => opt.MapFrom(src => src.User.Id))
            .ForMember(dest => dest.Images, opt => opt.MapFrom(src => src.Asset));


            Mapper.CreateMap <OldHouseUser, UserDisplayDto>();

            //register user model to real user
            Mapper.CreateMap <RegisterViewModel, OldHouseUser>()
            .ForMember(dest => dest.PasswordHash, opt => opt.MapFrom(src => src.Password));
        }
Exemple #17
0
        public HttpResponseMessage Delete(string id)
        {
            var svc = new HouseService();

            svc.Delete(id);
            return(Request.CreateResponse(HttpStatusCode.OK));
        }
Exemple #18
0
        private void CreateStaticPage(long houseId)
        {
            HouseIndexViewModel houseIndexView = null;

            HouseDTO house = HouseService.GetById(houseId);

            if (house == null)
            {
                return;
            }

            var housePics   = HousePicService.GetPics(houseId);
            var attachments = AttachmentService.GetAttachment(houseId);

            houseIndexView = new HouseIndexViewModel
            {
                House       = house,
                HousePics   = housePics,
                Attachments = attachments
            };
            this.ControllerContext.Controller.ViewData.Model = houseIndexView;
            string html = WebCommonHelper.RendViewToString(
                this.ControllerContext,
                "~/views/House/StaticIndex.cshtml",
                "");

            System.IO.File.AppendAllText(String.Format(@"D:\PersonalWorkSpace\github\ZSZ\ZSZ.FrontWeb\{0}.html", houseId), html);
        }
Exemple #19
0
        public ActionResult Add(HouseAddNewModel houseAdd)
        {
            HouseDTO house = new HouseDTO();

            house.Address          = houseAdd.Address;
            house.Area             = houseAdd.Area;
            house.MonthRent        = houseAdd.MonthRent;
            house.CheckInDateTime  = houseAdd.CheckInDateTime;
            house.CommunityId      = houseAdd.CommunityId;
            house.DecorateStatusId = houseAdd.DecorateStatusId;
            house.Description      = houseAdd.Description;
            house.Direction        = houseAdd.Direction;
            house.FloorIndex       = houseAdd.FloorIndex;
            house.LookableDateTime = houseAdd.LookableDateTime;
            house.OwnerName        = houseAdd.OwnerName;
            house.OwnerPhoneNum    = houseAdd.OwnerPhoneNum;
            house.RegionId         = houseAdd.RegionId;
            house.RoomTypeId       = houseAdd.RoomTypeId;
            house.StatusId         = houseAdd.StatusId;
            house.TotalFloatCount  = houseAdd.TotalFloatCount;
            house.TypeId           = houseAdd.TypeId;
            long houseId = HouseService.AddNewHouse(house);

            CreateStaticPage(houseId);
            return(Json(new AjaxResult {
                Status = "ok"
            }));
        }
Exemple #20
0
 public ActionResult Delete(long id)
 {
     HouseService.MarkDeleted(id);
     return(Json(new AjaxResult {
         Status = "ok"
     }));
 }
Exemple #21
0
 private void toolBtnRefresh_Click(object sender, EventArgs e)
 {
     textBoxError.Text = "";
     if (tabControlMain.SelectedIndex == 1)
     {
         using (HouseService objserv = new HouseService())
         {
             var resp = objserv.Reposity.GetAllList(o => o.TenantId == TenantId);
             if (resp != null)
             {
                 labelTotal.Text = "总共:" + resp.Count;
                 var lists = Mapper.Map <List <Dto.HouseDto> >(resp);
                 dgvHouse.DataSource = lists;
                 SetHeaderHs();
             }
         }
     }
     else
     {
         using (MembersService members = new MembersService())
         {
             var resp = members.Reposity.GetAllList(o => o.TenantId == TenantId && o.IsReger == false);
             if (resp != null)
             {
                 labelTotal.Text = "总共:" + resp.Count;
                 var lists = Mapper.Map <List <Dto.MemberOutDto> >(resp);
                 dgvMain.DataSource = lists;
                 SetHeader();
             }
         }
     }
 }
Exemple #22
0
        public ActionResult Edit(long id)
        {
            long?cityId = AdminHelper.GetCityId(this.HttpContext);

            if (cityId == null)
            {
                return(View("~/Views/Shared/Error.cshtml", (object)"总部人员无法管理房源!"));
            }
            var house   = HouseService.GetById(id);
            var regions = RegionService.GetAll(cityId.Value);
            //var communitities = CommunitityService.
            var roomTypes      = IdNameService.GetByTypeName("户型");
            var status         = IdNameService.GetByTypeName("房屋状态");
            var decorateStatus = IdNameService.GetByTypeName("装修状态");
            var types          = IdNameService.GetByTypeName("房屋类别");
            HouseEditViewModel houseEditView = new HouseEditViewModel();

            houseEditView.House          = house;
            houseEditView.Status         = status;
            houseEditView.DecorateStatus = decorateStatus;
            houseEditView.Regions        = regions;
            houseEditView.RoomTypes      = roomTypes;
            houseEditView.Types          = types;
            return(View(houseEditView));
        }
Exemple #23
0
        /// <summary>
        /// 获取附近成绩列表
        /// </summary>
        /// <param name="lnt">latitude</param>
        /// <param name="lat">longitude</param>
        /// <param name="page">page number</param>
        /// <param name="pagesize">defualt is 6</param>
        /// <param name="search">搜索条件</param>
        /// <returns></returns>
        public ActionResult RealNear(string lnt, string lat, int page = 1, int pagesize = 6, string search = "")
        {
            Dictionary <string, string> filter = new Dictionary <string, string>();

            //优先获取profile中的city,否则获取cookie中的city
            //string profileCity = (AppUser == null ? null : MyService.GetCurrentCityFormProfile(AppUser.Profiles[OldHouseUserProfile.PROFILENBAME]));
            //string currentCity = (profileCity == null ? CurrentCity : profileCity);
            if (CurrentCity != null)
            {
                filter.Add("city", CurrentCity);
            }
            filter.Add("search", search);
            filter.Add("location", lnt + ";" + lat);
            IEnumerable <Jtext103.OldHouse.Business.Models.House> houses = MyService.FilterHouse(filter, "", true, page, pagesize);
            var dtoHoustlist = new List <HouseBrief>();

            foreach (var house in houses)
            {
                var tHouse = Mapper.Map <HouseBrief>(house);
                var loc1   = HouseService.GetGeoPoint(lnt + ";" + lat);
                var loc2   = HouseService.GetGeoPoint(house.Location.coordinates[0] + ";" + house.Location.coordinates[1]);
                tHouse.DistanceInKm = HouseService.GetDistanceKm(loc1, loc2);
                dtoHoustlist.Add(tHouse);
            }
            ViewBag.Title = "附近的城迹";
            return(PartialView("_PartialHouseList", dtoHoustlist));
        }
        public IHttpActionResult Get()
        {
            HouseService houseService = CreateHouseService();
            var          houses       = houseService.ReadHouses();

            return(Ok(houses));
        }
        public IHttpActionResult Get(int id)
        {
            HouseService houseService = CreateHouseService();
            var          house        = houseService.ReadHouseById(id);

            return(Ok(house));
        }
        private HouseService CreateHouseService()
        {
            var userId       = Guid.Parse(User.Identity.GetUserId());
            var houseService = new HouseService(userId);

            return(houseService);
        }
Exemple #27
0
        public int Houses(IFormFile file, int id)
        {
            int count = 0;

            if (file.Length > 0)
            {
                var filePath = Path.GetTempFileName();
                using (var stream = System.IO.File.Create(filePath))
                {
                    file.CopyToAsync(stream);
                }
                var _Service   = new HouseService();
                var resultData = _Service.ReadCSVFile(filePath, id);
                foreach (var item in resultData)
                {
                    var value = _context.house.Where(a => a.Name.ToLower() == item.Name.ToLower() && a.StreetId == item.StreetId).FirstOrDefault();
                    if (value == null)
                    {
                        count = count + 1;
                        _context.house.Add(item);
                    }
                    value = null;
                }
                _context.SaveChanges();
                return(count);
            }

            return(count);
        }
 public AnnouncementController(AnnouncementService announcementService, HouseService houseService, CurrentUser currentUser, IMapper mapper)
     : base(mapper)
 {
     this.announcementService = announcementService;
     this.currentUser         = currentUser;
     this.houseService        = houseService;
 }
Exemple #29
0
        public HttpResponseMessage Update(House house)
        {
            var svc = new HouseService();

            svc.Update(house);
            return(Request.CreateResponse(HttpStatusCode.OK));
        }
Exemple #30
0
        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IHostingEnvironment env, HouseContext context, ILoggerFactory loggerFactory)
        {
            HouseService  service       = new HouseService(context);
            DbInitializer dbinitializer = new DbInitializer(service);

            dbinitializer.Initialize();
            app.UseMvc();
        }
        public async Task GivenThatNoCharacterExists_WhenTryingToGetById_ThenReturnedCharacterIsNull()
        {
            var repository = MockRepository.GenerateMock<IReadOnlyRepository<HouseEntity,int>>();
            repository.Stub(x => x.GetAsync(null,CancellationToken.None,null)).IgnoreArguments().Return(Task.FromResult(Enumerable.Empty<HouseEntity>()));
            var service = new HouseService(repository);

            var character = await service.GetAsync(1);

            Assert.IsNull(character);
        }
        public async Task GivenThatNoCharacterExists_WhenTryingToGetAll_ThenReturnedListIsEmpty()
        {
            var repository = MockRepository.GenerateMock<IReadOnlyRepository<HouseEntity,int>>();
            repository.Stub(x => x.GetAllAsync(null, null, null))
                .IgnoreArguments()
                .Return(Task.FromResult(Enumerable.Empty<HouseEntity>()));
            var service = new HouseService(repository);

            var characters = await service.GetAllAsync();

            Assert.IsNotNull(characters);
            Assert.AreEqual(0, characters.Count());
        }
        public async Task GivenThatNoCharactersExists_WhenTryingToGetPaginated_ThenPaginatedListIsEmpty()
        {
            var repository = MockRepository.GenerateMock<IReadOnlyRepository<HouseEntity,int>>();
            repository.Stub(x => x.GetPaginatedListAsync(null, 0, 0, CancellationToken.None))
                .IgnoreArguments()
                .Return(Task.FromResult((IPagedList<HouseEntity>)new PagedList<HouseEntity>(Enumerable.Empty<HouseEntity>().AsQueryable(), 1, 10)));
            var service = new HouseService(repository);

            var paginatedCharacters = await service.GetPaginatedAsync(1, 10);

            Assert.IsNotNull(paginatedCharacters);
            Assert.AreEqual(0, paginatedCharacters.Count);
        }
        public async Task GivenThatCharacterWithGivenIdExists_WhenTryingToGetById_ThenReturnedCharacterHasSameId()
        {
            var repository = MockRepository.GenerateMock<IReadOnlyRepository<HouseEntity,int>>();
            repository.Stub(x => x.GetAsync(null, CancellationToken.None, null))
                .IgnoreArguments()
                .Return(Task.FromResult(new List<HouseEntity>
                {
                    new HouseEntity() {Id = 1}
                }.AsEnumerable()));
            var service = new HouseService(repository);

            var character = await service.GetAsync(1);

            Assert.IsNotNull(character);
            Assert.AreEqual(1, character.Identifier);
        }
        public async Task GivenThatOneCharacterExists_WhenTryingToGetAll_ThenReturnedListContainsOneCharacter()
        {
            var repository = MockRepository.GenerateMock<IReadOnlyRepository<HouseEntity,int>>();
            repository.Stub(x => x.GetAllAsync(CancellationToken.None,null))
                .IgnoreArguments()
                .Return(Task.FromResult(new List<HouseEntity> { new HouseEntity() { Id = 1 } }.AsEnumerable()));
            var service = new HouseService(repository);

            var characters = await service.GetAllAsync();

            Assert.IsNotNull(characters);
            Assert.AreEqual(1, characters.Count());
        }
 public void GivenThatRepositoryIsNull_WhenCreatingService_ThenArgumentNullExceptionIsThrown()
 {
     var service = new HouseService(null);
 }