public virtual IEnumerable <IAuthorizedPerson> FindPersons(SevenWondersContext db, SearchViewModel search) { DbSet <T> dbSet = db.Set <T>(); var query = (from person in dbSet select person).AsEnumerable(); if (!string.IsNullOrWhiteSpace(search.FirstName)) { query = query.Where(x => x.FirstName.Contains(search.FirstName)); } if (!string.IsNullOrWhiteSpace(search.LastName)) { query = query.Where(x => x.LastName.Contains(search.LastName)); } if (!string.IsNullOrWhiteSpace(search.PhoneNumber)) { query = query.Where(x => x.PhoneNumber.Contains(search.PhoneNumber)); } if (search.DateOfBirthFrom != null && search.DateOfBirthFrom != DateTime.MinValue) { query = query.Where(x => x.DateOfBirth >= search.DateOfBirthFrom); } if (search.DateOfBirthTo != null && search.DateOfBirthTo != DateTime.MinValue) { query = query.Where(x => x.DateOfBirth <= search.DateOfBirthTo); } return(query); }
public FullManagerViewModel GetFullManager(SevenWondersContext db, int Id) { var manager = db.Managers.Find(Id); var usermanager = db.Users.FirstOrDefault(x => x.Email == manager.Email); var fullmanager = new FullManagerViewModel(manager.Id, manager.Email, usermanager.Password, manager.FirstName, manager.LastName, manager.PhoneNumber, manager.DateOfBirth); return(fullmanager); }
public static void ReceiveRequest() { SevenWondersContext db = new SevenWondersContext(); CountriesRepository countriesRepository = new CountriesRepository(db); var factory = new ConnectionFactory() { HostName = "localhost" }; factory.Protocol = Protocols.DefaultProtocol; factory.Port = AmqpTcpEndpoint.UseDefaultPort; using (var connection = factory.CreateConnection()) using (var channel = connection.CreateModel()) { channel.QueueDeclare(queue: "rpc_queue", durable: false, exclusive: false, autoDelete: false, arguments: null); channel.BasicQos(0, 1, false); var consumer = new EventingBasicConsumer(channel); channel.BasicConsume(queue: "rpc_queue", autoAck: false, consumer: consumer); Console.WriteLine(" [x] Awaiting RPC requests"); consumer.Received += (model, ea) => { string response = null; var body = ea.Body; var props = ea.BasicProperties; var replyProps = channel.CreateBasicProperties(); replyProps.CorrelationId = props.CorrelationId; try { var countries = countriesRepository.GetCountries(); var json = JsonConvert.SerializeObject(countries); response = json; } catch (Exception e) { Console.WriteLine(" [.] " + e.Message); response = ""; } finally { var responseBytes = Encoding.UTF8.GetBytes(response); channel.BasicPublish(exchange: "", routingKey: props.ReplyTo, basicProperties: replyProps, body: responseBytes); channel.BasicAck(deliveryTag: ea.DeliveryTag, multiple: false); } }; Console.WriteLine(" Press [enter] to exit."); Console.ReadLine(); } }
public virtual bool ChangePersonStatus(SevenWondersContext db, int id) { DbSet <T> dbSet = db.Set <T>(); var result = false; var customer = dbSet.Find(id); if (customer != null) { customer.IsDeleted = !customer.IsDeleted; db.Entry(customer).State = EntityState.Modified; result = true; db.SaveChanges(); } return(result); }
public void AddFullManager(SevenWondersContext db, FullManagerViewModel user, int[] countries) { if (db.Users.Any(x => x.Email == user.Email)) { throw new OverflowException("user with this email is already exist"); } Utils utils = new Utils(); string password = utils.GetEncodedHash(user.Password, Security.solt); db.Users.Add(new User() { Email = user.Email, Password = password, RoleId = 3 }); Manager manager = new Manager() { DateOfBirth = user.DateOfBirth.ToUniversalTime(), FirstName = user.FirstName, LastName = user.LastName, PhoneNumber = user.PhoneNumber, Email = user.Email, IsDeleted = false }; db.Managers.Add(manager); db.SaveChanges(); AddCountriesForManager(db, manager, countries); }
private void AddCountriesForManager(SevenWondersContext db, Manager manager, int[] countries) { if (manager.Countries != null) { foreach (var country in manager.Countries.ToList()) { country.ManagerId = null; db.Entry(country).State = EntityState.Modified; } } db.SaveChanges(); if (countries != null) { var length = countries.Length; for (int i = 0; i < length; i++) { var country = db.Coutries.Find(countries[i]); country.ManagerId = manager.Id; db.Entry(country).State = EntityState.Modified; } } db.SaveChanges(); }
public void EditFullManager(SevenWondersContext db, FullManagerViewModel user, int[] countries) { Manager manager = db.Managers.Find(user.Id); var userFromDb = db.Users.FirstOrDefault(x => x.Email == manager.Email); manager.LastName = user.LastName; manager.FirstName = user.FirstName; manager.Email = user.Email; manager.PhoneNumber = user.PhoneNumber; manager.DateOfBirth = user.DateOfBirth; db.Entry(manager).State = EntityState.Modified; db.SaveChanges(); Utils utils = new Utils(); if (user.Password != userFromDb.Password) { userFromDb.Password = utils.GetEncodedHash(user.Password, Security.solt); } userFromDb.Email = user.Email; AddCountriesForManager(db, manager, countries); db.Entry(userFromDb).State = EntityState.Modified; db.SaveChanges(); }
public override IEnumerable <IAuthorizedPerson> FindPersons(SevenWondersContext db, SearchViewModel search) { return(base.FindPersons(db, search)); }
public CityRepository(SevenWondersContext c) { context = c; }
public CityRepository() { context = new SevenWondersContext(); }
public CountriesRepository(SevenWondersContext context) { this.db = context; }