public UserProfileController() { unitOfWork = new UnitOfWork(new RoomMateDbContext()); userProfileToeditViewModel = new UserProfileToEditViewModel(); userProfileToDisplayView = new UserProfileToDisplayViewModel(); }
public ActionResult AddRoom(UserProfileToEditViewModel _userProfileToeditViewModel) { if (Session["UserID"] != null) { string userID = Session["UserID"].ToString(); userProfileToeditViewModel.user = unitOfWork.UsersRepository.GetActiveUser(new Guid(userID)); try { if (ModelState.IsValid) { //create room object Room room = new Room(); room.RoomID = Guid.NewGuid(); room.Name = _userProfileToeditViewModel.roomToEdit.Name; room.Price = _userProfileToeditViewModel.roomToEdit.Price; room.Description = _userProfileToeditViewModel.roomToEdit.Description; room.IsActive = true; room.NumberOfGuests = _userProfileToeditViewModel.roomToEdit.NumberOfGuests; room.User = userProfileToeditViewModel.user; //create room images objetcs addNewRoomImagesToDataBase(_userProfileToeditViewModel.images, room.RoomID, room.User.UserID, room); //create equipment object Equipment equipment = new Equipment(); equipment.EquipmentID = Guid.NewGuid(); equipment.IsWifi = _userProfileToeditViewModel.equipmentToEdit.IsWifi; equipment.IsAirConditioning = _userProfileToeditViewModel.equipmentToEdit.IsAirConditioning; equipment.IsParking = _userProfileToeditViewModel.equipmentToEdit.IsParking; equipment.IsTelevision = _userProfileToeditViewModel.equipmentToEdit.IsTelevision; equipment.IsKitchen = _userProfileToeditViewModel.equipmentToEdit.IsKitchen; equipment.IsWashingMachine = _userProfileToeditViewModel.equipmentToEdit.IsWashingMachine; unitOfWork.EquipmentRepository.Insert(equipment); //create address object Address address = new Address(); address.AddressID = Guid.NewGuid(); address.City = _userProfileToeditViewModel.addressToEdit.City; address.Street = _userProfileToeditViewModel.addressToEdit.Street; address.Flat = _userProfileToeditViewModel.addressToEdit.Flat; address.PostCode = _userProfileToeditViewModel.addressToEdit.PostCode; address.Lon = _userProfileToeditViewModel.addressToEdit.Lon; address.Lat = _userProfileToeditViewModel.addressToEdit.Lat; unitOfWork.AddressesRepository.Insert(address); room.Address = address; room.Equipment = equipment; unitOfWork.RoomsRepository.Insert(room); //save to db unitOfWork.Complete(); return(RedirectToAction("DisplayRoom", new { id = room.RoomID })); } return(View()); } catch (Exception e) { System.Diagnostics.Debug.WriteLine("Error: " + e.Message); ViewBag.Error = "Wystąpił błąd, proszę powtórzyć jeszcze raz."; return(View()); } } return(RedirectToAction("Login", "User")); }