예제 #1
0
        public IActionResult PostRooms(HelperAddRoom room)
        {
            RoomInsertingDataException roomInsertingDataException = new RoomInsertingDataException();

            try
            {
                roomInsertingDataException.validate(room);

                return(Ok(roomManager.AddingRoom(room)));
            }
            catch (RoomInsertingDataException ex)
            {
                acknowledgement.code    = 2;
                acknowledgement.Set     = null;
                acknowledgement.Message = ex.Message;
                return(Ok(acknowledgement));
            }
            catch (Exception)
            {
                acknowledgement.code    = 2;
                acknowledgement.Set     = null;
                acknowledgement.Message = "Something went wrong. Please try again later";
                return(Ok(acknowledgement));
            }
        }
예제 #2
0
        public void PostRoomsBussiness_Negative()
        {
            HelperAddRoom room = new HelperAddRoom();

            room.PartnerId     = 12;
            room.Address       = "abcdefghijkl";
            room.Area          = "abdjkieijr";
            room.city          = "Bangalore";
            room.Description   = "tough night";
            room.Furniture     = "yes";
            room.NumberOfRooms = 5;
            room.Pincode       = 123456;
            room.RoomCost      = 5000;
            room.Latitude      = "500";
            room.RoomType      = "flat";
            room.Longitude     = "600";


            var MockRoomService = new Mock <RoomService>();

            MockRoomService.Setup(p => p.AddRoom(room)).Throws <System.Exception>();
            RoomManager roomManager = new RoomManager(MockRoomService.Object);

            try
            {
                var actualReturnType = roomManager.AddingRoom(room);
                Assert.IsTrue(false);
            }
            catch
            {
                Assert.IsTrue(true);
            }
        }
예제 #3
0
        public void validate(HelperAddRoom room)
        {
            string roomType = room.RoomType.ToLower();
            string city     = room.city.Trim();
            string area     = room.Area.Trim();
            string address  = room.Address.Trim();
            string pincode  = room.Pincode.ToString();
            string des      = room.Description.Trim();

            if (!(roomType.Equals("flat") || roomType.Equals("pg")))
            {
                throw new RoomInsertingDataException("Invalid " +
                                                     "Room Type Should be Flat/Pg");
            }

            else if (room.RoomCost <= 1000 || room.RoomCost >= 50000)
            {
                throw new RoomInsertingDataException("Invalid Room Cost");
            }
            else if (room.NumberOfRooms <= 0 || room.NumberOfRooms >= 6)
            {
                throw new RoomInsertingDataException("Bed Capacity is only 5 ");
            }
            else if (!Regex.Match(city, @"[a-zA-Z]+$").Success || String.IsNullOrWhiteSpace(city) || city.Equals(""))
            {
                throw new RoomInsertingDataException("City Name is Invalid");
            }
            else if (area.Equals(""))
            {
                throw new RoomInsertingDataException("Area Name is Invalid");
            }

            else if (room.Furniture.Equals("YES") || room.Furniture.Equals("NO"))
            {
                throw new RoomInsertingDataException("Invalid input for furniture field");
            }
            else if (address.Equals(""))
            {
                throw new RoomInsertingDataException("Address is Invalid");
            }


            else if (des.Length <= 10 || des.Length >= 250 || des.Equals(""))
            {
                throw new RoomInsertingDataException("Invalid description");
            }
            else if (pincode.Length < 6 || pincode.Length > 6 || !Regex.Match(pincode, @"^([0-9]+)$").Success)
            {
                throw new RoomInsertingDataException("Invalid pincode");
            }
        }
예제 #4
0
        public virtual int AddRoom(HelperAddRoom postedroom)
        {
            try
            {
                GeoLocation geoLocation = new GeoLocation();

                FindMyRoomDb roomDb = new FindMyRoomDb();
                Room         room   = new Room
                {
                    Cost        = postedroom.RoomCost,
                    City        = postedroom.city.Trim().ToUpper(),
                    Address     = postedroom.Address.Trim(),
                    Area        = postedroom.Area.Trim(),
                    Furniture   = postedroom.Furniture,
                    Description = postedroom.Description,
                    NoOfBeds    = postedroom.NumberOfRooms,
                    Pincode     = postedroom.Pincode,
                    Status      = "Available",
                    RoomType    = postedroom.RoomType,
                };

                foreach (var item in roomDb.FMRRooms)
                {
                    if (item.Cost == room.Cost && item.City.Equals(room.City) && item.Address.Equals(room.Address) &&
                        item.Area.Equals(room.Area) && item.Furniture.Equals(room.Furniture) &&
                        item.NoOfBeds == room.NoOfBeds && item.Pincode == room.Pincode && item.RoomType.Equals(room.RoomType))
                    {
                        throw new RoomInsertingDataException("Room Details are already present");
                    }
                }

                roomDb.FMRRooms.Add(room);
                roomDb.SaveChanges();

                geoLocation.RoomId    = (from r in roomDb.FMRRooms select r.RoomId).LastOrDefault();
                geoLocation.Latitude  = postedroom.Latitude;
                geoLocation.Longitude = postedroom.Longitude;

                roomDb.FMRGeolocation.Add(geoLocation);
                roomDb.SaveChanges();

                var query = roomDb.FMRRooms.LastOrDefault();
                return(query.RoomId);
            }
            catch (Exception e)
            {
                throw e;
            }
        }
예제 #5
0
 public virtual Acknowledgement <Room> AddingRoom(HelperAddRoom room)
 {
     try
     {
         int RoomId = roomService.AddRoom(room);
         // roomImageId = RoomId;
         roomService.UpdateOwners(RoomId, room.PartnerId);
         Acknowledgement.code    = 1;
         Acknowledgement.Set     = null;
         Acknowledgement.Message = "Successfully Added";
         return(Acknowledgement);
     }
     catch (Exception e)
     {
         throw e;
     }
 }
        public HelperAddRoom HelperMockRooms()
        {
            HelperAddRoom room = new HelperAddRoom();

            room.PartnerId     = 12;
            room.Address       = "abcdefghijkl";
            room.Area          = "abdjkieijr";
            room.city          = "Bangalore";
            room.Description   = "tough night";
            room.Furniture     = "yes";
            room.NumberOfRooms = 5;
            room.Pincode       = 123456;
            room.RoomCost      = 5000;
            room.Latitude      = "500";
            room.RoomType      = "flat";
            room.Longitude     = "600";
            return(room);
        }
예제 #7
0
        public void PostRoomsBusiness_Positive()
        {
            var           MockRoomService = new Mock <RoomService>();
            HelperAddRoom room            = new HelperAddRoom
            {
                PartnerId     = 12,
                Address       = "abcdefghijkl",
                Area          = "abdjkieijr",
                city          = "Bangalore",
                Description   = "tough night",
                Furniture     = "yes",
                NumberOfRooms = 5,
                Pincode       = 123456,
                RoomCost      = 5000,
                Latitude      = "500",
                RoomType      = "flat",
                Longitude     = "600",
            };
            var retAck = new Acknowledgement <Room>
            {
                code    = 1,
                Set     = null,
                Message = "Successfully Added"
            };
            int roomId = 10;

            MockRoomService.Setup(p => p.AddRoom(room)).Returns(roomId);
            RoomManager roomManager = new RoomManager(MockRoomService.Object);

            try
            {
                var actualReturnType = roomManager.AddingRoom(room);
                Assert.IsTrue(false);
            }
            // var actualRetunType = roomManager.PostRooms(room_List) as OkObjectResult;
            catch
            {
                Assert.IsTrue(true);
            }
        }