コード例 #1
0
        private DBConnector()
        {
            factory = new ConnectionFactory()
            {
                HostName = "localhost", Password = "******", UserName = "******"
            };
            cards = new List <AssemblyCard>();
            Task.Run(() => FetchCards());


            // send empty card so DBManager will sent updated cards
            using (var connection = factory.CreateConnection())
                using (var channel = connection.CreateModel())
                {
                    AssemblyCard card = new AssemblyCard
                    {
                        CardId = string.Empty,
                    };
                    byte[]          body;
                    BinaryFormatter bf = new BinaryFormatter();
                    using (MemoryStream ms = new MemoryStream())
                    {
                        bf.Serialize(ms, card);
                        body = ms.ToArray();
                    }

                    Console.WriteLine("#########################try to fetch db ");
                    channel.BasicPublish(exchange: "",
                                         routingKey: "queue-card-create",
                                         basicProperties: null,
                                         body: body);
                }
        }
コード例 #2
0
 static void insertProduct(AssemblyCard card)
 {
     using (var db = new CardsContext())
     {
         db.Add(card);
         db.SaveChanges();
     }
 }
コード例 #3
0
 static void deleteProduct(string id)
 {
     using (var db = new CardsContext())
     {
         AssemblyCard card = db.Cards.SingleOrDefault(r => r.CardId == id);
         if (card == null)
         {
             return;
         }
         db.Cards.Remove(card);
         db.SaveChanges();
     }
 }
コード例 #4
0
        public void Create(string employeeLN, string employeeFN, string employeeID, string knnr, string sort, string prnr)
        {
            var card = new AssemblyCard
            {
                CardId     = Guid.NewGuid().ToString(),
                EmployeeFN = employeeFN,
                EmployeeLN = employeeLN,
                EmployeeID = employeeID,
                KNNR       = knnr,
                Sort       = sort,
                PrNr       = prnr,
            };

            dbConnector.Create(card);

            return;
        }
コード例 #5
0
 static void updateProduct(AssemblyCard card)
 {
     using (var db = new CardsContext())
     {
         AssemblyCard savedCard = db.Cards.SingleOrDefault(r => r.CardId == card.CardId);
         if (savedCard == null)
         {
             return;
         }
         savedCard.EmployeeFN = card.EmployeeFN;
         savedCard.EmployeeLN = card.EmployeeLN;
         savedCard.EmployeeID = card.EmployeeID;
         savedCard.KNNR       = card.KNNR;
         savedCard.Sort       = card.Sort;
         db.SaveChanges();
     }
 }
コード例 #6
0
        public CardsResource Edited(string id, string employeeLN, string employeeFN, string employeeID, string knnr, string sort)
        {
            var card = new AssemblyCard
            {
                CardId     = id,
                EmployeeFN = employeeFN,
                EmployeeLN = employeeLN,
                EmployeeID = employeeID,
                KNNR       = knnr,
                Sort       = sort,
            };

            dbConnector.Edited(card);

            return(new CardsResource {
                Id = id, AssemblyCard = card
            });
        }
コード例 #7
0
        public async Task <ActionResult> Send(string id, string destinationEmail)
        {
            AssemblyCard cardToSend = dbConnector.cards.SingleOrDefault(r => r.CardId == id);

            if (cardToSend == null)
            {
                return(NotFound($"AssemblyCard with id: {id} does not exist"));
            }
            await _publishEndpoint.Publish <CardToSend>(new {
                destinationEmail = destinationEmail,
                EmployeeLN       = cardToSend.EmployeeLN,
                EmployeeFN       = cardToSend.EmployeeFN,
                EmployeeID       = cardToSend.EmployeeID,
                KNNR             = cardToSend.KNNR,
                Sort             = cardToSend.Sort,
                PrNr             = cardToSend.PrNr
            });

            return(Ok());
        }
コード例 #8
0
        public void Edited(AssemblyCard card)
        {
            using (var connection = factory.CreateConnection())
                using (var channel = connection.CreateModel())
                {
                    byte[]          body;
                    BinaryFormatter bf = new BinaryFormatter();
                    using (MemoryStream ms = new MemoryStream())
                    {
                        bf.Serialize(ms, card);
                        body = ms.ToArray();
                    }


                    channel.BasicPublish(exchange: "",
                                         routingKey: "queue-card-update",
                                         basicProperties: null,
                                         body: body);
                }
        }