コード例 #1
0
        /// <summary>
        /// Vendég regisztrációja.
        /// </summary>
        /// <param name="guest">A vendég nézetmodellje.</param>
        public Boolean Register(RegistrationViewModel guest)
        {
            if (guest == null)
            {
                return(false);
            }

            // ellenőrizzük az annotációkat
            if (!Validator.TryValidateObject(guest, new ValidationContext(guest, null, null), null))
            {
                return(false);
            }

            if (_context.Guests.Count(c => c.UserName == guest.UserName) != 0)
            {
                return(false);
            }

            // kódoljuk a jelszót
            Byte[] passwordBytes = null;
            using (SHA512CryptoServiceProvider provider = new SHA512CryptoServiceProvider())
            {
                passwordBytes = provider.ComputeHash(Encoding.UTF8.GetBytes(guest.UserPassword));
            }

            // elmentjük a felhasználó adatait
            _context.Guests.Add(new Guest
            {
                Name         = guest.GuestName,
                Address      = guest.GuestAddress,
                Email        = guest.GuestEmail,
                PhoneNumber  = guest.GuestPhoneNumber,
                UserName     = guest.UserName,
                UserPassword = passwordBytes
            });

            try
            {
                _context.SaveChanges();
            }
            catch
            {
                return(false);
            }

            return(true);
        }
コード例 #2
0
        /// <summary>
        /// Városok inicializálása.
        /// </summary>
        private static void SeedCities()
        {
            var cities = new City[]
            {
                new City {
                    Name = "Cavallino"
                },
                new City {
                    Name = "Lido di Jesolo"
                },
            };

            foreach (City c in cities)
            {
                _context.Cities.Add(c);
            }

            _context.SaveChanges();
        }
コード例 #3
0
        /// <summary>
        /// Foglalás mentése.
        /// </summary>
        /// <param name="apartmentId">Apartman azonosítója.</param>
        /// <param name="userName">Felhasználónév.</param>
        /// <param name="rent">Foglalás adatai.</param>
        /// <returns>Sikeres volt-e a foglalás.</returns>
        public Boolean SaveRent(Int32?apartmentId, String userName, RentViewModel rent)
        {
            if (apartmentId == null || rent == null)
            {
                return(false);
            }

            // ellenőrizzük az annotációkat
            if (!Validator.TryValidateObject(rent, new ValidationContext(rent, null, null), null))
            {
                return(false);
            }

            // ellenőrizzük a dátumot
            if (_rentDateValidator.Validate(rent.RentStartDate, rent.RentEndDate, apartmentId.Value) != RentDateError.None)
            {
                return(false);
            }

            // a felhasználót a név alapján betöltjük
            Guest guest = _context.Guests.FirstOrDefault(g => g.UserName == userName);

            if (guest == null)
            {
                return(false);
            }

            _context.Rents.Add(new Rent
            {
                ApartmentId = rent.Apartment.Id,
                UserId      = guest.Id,
                StartDate   = rent.RentStartDate,
                EndDate     = rent.RentEndDate
            });

            try
            {
                _context.SaveChanges();
            }
            catch (Exception)
            {
                // mentéskor lehet hiba
                return(false);
            }

            // ha idáig eljuttottunk, minden sikeres volt
            return(true);
        }