public int UrunSil(string deleteID)
 {
     if (!string.IsNullOrEmpty(deleteID))
     {
         try
         {
             if (CustomMsg.Message("Gerçekten bu ürünü silmek istiyor musunuz ?", "Silme Yetkilendirme", CustomMsg.MessageIcon.Information, CustomMsg.MessageButton.YesNoCancel).Equals(CustomMsg.MessageResult.Yes))
             {
                 prc.UrunSil(deleteID);
                 CustomMessage.CustomMsg.Message("Ürün başarılı bir şekilde silinmiştir", "İşlem başarılı", CustomMsg.MessageIcon.Trash, CustomMsg.MessageButton.OK);
                 return(1);
             }
             else
             {
                 CustomMessage.CustomMsg.Message("Silme işlemi iptal edildi.", "Silme işlemi kullanıcı trafından kesildi.", CustomMsg.MessageIcon.OK, CustomMsg.MessageButton.OK);
                 return(1);
             }
         }
         catch (Exception)
         {
             CustomMsg.Message("Veritabanından silerken bir hata oluştu veriye erişilemiyor", "Silme işlemi uygulama tarafından kesildi", CustomMsg.MessageIcon.Eror, CustomMsg.MessageButton.OK);
             return(-1);
         }
     }
     else
     {
         CustomMsg.Message("Listeden silinecek ürün seçilmemiş... \nÜrün Seçip yeniden deneyin.", "Boş Değer Döndü", CustomMsg.MessageIcon.Eror, CustomMsg.MessageButton.OK);
         return(-1);
     }
 }
        public int UrunDuzenle(TextBox Barkod, TextBox name, ComboBox KategoriID, RichTextBox description, NumericUpDown satisfiyat)
        {
            if (String.IsNullOrEmpty(Barkod.Text) || String.IsNullOrEmpty(name.Text) || String.IsNullOrEmpty(KategoriID.Text) || String.IsNullOrEmpty(description.Text) || String.IsNullOrEmpty(satisfiyat.Value.ToString()) || String.IsNullOrEmpty(KategoriID.SelectedIndex.ToString()))
            {
                //Null Değer Döndü
                CustomMsg.Message("Boş girilen değerler var.\nLütfen gereken bilgileri yeniden doldurup deneyiniz.", "Null Reference", CustomMsg.MessageIcon.Eror, CustomMsg.MessageButton.OK);
                return(-1);
            }
            else
            {
                try
                {
                    byte state;
                    state = (byte)prc.UrunDuzenle(Barkod.Text.ToString(), name.Text.ToString(), (int)KategoriID.SelectedValue, description.Text, (decimal)satisfiyat.Value);
                    if (state == 1)
                    {
                        CustomMsg.Message(name.Text + " Başarılı bir şekilde düzenlenmiştir", "İşlem Başarılı", CustomMsg.MessageIcon.OK, CustomMsg.MessageButton.OK);
                    }
                    else
                    {
                        CustomMsg.Message("Veritabanı Hatası...\n Konum ProductConnectComponent-UrunDuzenle", "Veri Hatası", CustomMsg.MessageIcon.Eror, CustomMsg.MessageButton.OK);
                    }

                    return(1);
                }
                catch (Exception)
                {
                    return(-1);
                }
            }
        }
Ejemplo n.º 3
0
 public void musteriSilControl(int mID)
 {
     //TODO:Musteri Silinince Ref Tablosunda durumu false ve combobxa dolarken true olanlar dolcak yalnızca
     customProc = new CustomerDATA();
     cust       = new Customers();
     cust       = customProc.MusteriIDyeGöreAra(mID);
     if (cust.CustomerAccount > 0)
     {
         CustomMsg.MessageResult result = CustomMsg.Message(cust.CustomerName + " " + cust.CustomerSurname + " Müsteriyi Silmek Üzeresiniz..."
                                                            + cust.CustomerName + cust.CustomerSurname + " İsmindeki Müşterinin Borç durumu: "
                                                            + cust.CustomerAccount + "\n\nYinede Silmeye Devam Edilsinmi ?",
                                                            "Silme İşlemi Yetkilendirilmesi", CustomMsg.MessageIcon.Eror, CustomMsg.MessageButton.YesNoCancel);
         if (result == CustomMsg.MessageResult.Yes)
         {
             CustomMsg.Message(cust.CustomerName + " " + cust.CustomerSurname + " Adindaki Müsteri Silindi", "Müsteri Silme İşlemi", CustomMsg.MessageIcon.Trash, CustomMsg.MessageButton.OK);
             customProc.MusteriSil(mID);
         }
         else
         {
             CustomMsg.Message("Müşteri Silme İşlemi İptal Edildi..", "Müsteri Silme İşlemi", CustomMsg.MessageIcon.Information, CustomMsg.MessageButton.OK);
         }
     }
     else
     {
         if (CustomMsg.MessageResult.Yes.Equals(CustomMsg.Message(cust.CustomerName + " " + cust.CustomerSurname + " Müşteri silinsin mi ?", "Silme İşlemi Yetkilendirilmesi", CustomMsg.MessageIcon.Eror, CustomMsg.MessageButton.YesNoCancel)))
         {
             CustomMsg.Message(cust.CustomerName + " " + cust.CustomerSurname + " Adindaki Müsteri Silindi", "Müsteri Silme İşlemi", CustomMsg.MessageIcon.Trash, CustomMsg.MessageButton.OK);
         }
         else
         {
             CustomMsg.Message(cust.CustomerName + " " + cust.CustomerSurname + " Adindaki Müsteri Silindi", "Müsteri Silme İşlemi", CustomMsg.MessageIcon.Trash, CustomMsg.MessageButton.OK);
         }
     }
 }
 public int StockEntry(TextBox Barkod, TextBox mikt, RichTextBox rc, NumericUpDown num)
 {
     if (String.IsNullOrEmpty(Barkod.Text) || String.IsNullOrEmpty(mikt.Text) || String.IsNullOrEmpty(rc.Text) || String.IsNullOrEmpty(num.Value.ToString()))
     {
         //Null Değer Döndü
         CustomMsg.Message("Boş girilen değerler var.\nLütfen gereken bilgileri yeniden doldurup deneyiniz.", "Null Reference", CustomMsg.MessageIcon.Eror, CustomMsg.MessageButton.OK);
         return(-1);
     }
     else
     {
         int state;
         state = prc.StokGiris(Barkod.Text, Convert.ToInt32(mikt.Text), rc.Text, num.Value);
         if (state == 1)
         {
             CustomMsg.Message("Stoğa giriş başarılı bir şekilde tamamlandı.", "StockOK", CustomMsg.MessageIcon.OK, CustomMsg.MessageButton.OK);
             return(1);
         }
         else if (state == -2)
         {
             CustomMsg.Message("Bu Barkod Tanımlanmamıştır.\nLütfen Ürün Ekle Kısmından ekleyin daha sonra stok girişi yapın", "Ürün YOK", CustomMsg.MessageIcon.Eror, CustomMsg.MessageButton.OK);
             return(-1);
         }
         else
         {
             CustomMsg.Message("Veritabanı Hatası Oluştu", "DB Error", CustomMsg.MessageIcon.Eror, CustomMsg.MessageButton.OK);
             return(-1);
         }
     }
 }
 public int DataGridviewdenSil(DataGridView gridView, DataGridViewSelectedRowCollection selectedRow)
 {
     if (selectedRow.Count == 1)
     {
         totalFiyat -= double.Parse(selectedRow[0].Cells["ProductSalePrice"].Value.ToString().Split()[0]);
         gridView.Rows.Remove(selectedRow[0]);
         return(1);
     }
     else
     {
         CustomMsg.Message("Satır seçilmemiş gibi görünüyor...\nYeniden Deneyiniz...", "Null Reference", CustomMsg.MessageIcon.Eror, CustomMsg.MessageButton.OKCancel);
         return(0);
     }
 }
 public void DeleteMessage(string Name, string Course, int i)
 {
     if (i == 2)
     {
         CustomMsg m = c.CustomMsg.First(x => x.Course == Course && x.StudentName == Name);
         c.CustomMsg.Remove(m);
         c.SaveChanges();
     }
     else if (i == 1)
     {
         MarkRevision m = c.MarkRevision.First(x => x.CourseName == Course && x.StudentName == Name);
         c.MarkRevision.Remove(m);
         c.SaveChanges();
     }
 }
 public ComboBox KategoriListesi(ComboBox cmbProductCategory)
 {
     if (prc.KategoriListesi().ToList().Count > 0)
     {
         cmbProductCategory.DataSource    = prc.KategoriListesi();
         cmbProductCategory.DisplayMember = "CategoryName";
         cmbProductCategory.ValueMember   = "CategoryID";
     }
     else
     {
         cmbProductCategory.DataSource = null;
         CustomMsg.Message("Kategori listesi yok kategori ekleyin", "Kategori kayıtları yok", CustomMsg.MessageIcon.Eror, CustomMsg.MessageButton.OK);
     }
     return(cmbProductCategory);
 }
Ejemplo n.º 8
0
        public void musteriDuzenleControl(int mID, TextBox txname, TextBox txsoyisim, MaskedTextBox txtel, TextBox txmeslek, ComboBox cmbreferans, NumericUpDown txbakiye, RichTextBox adres, RichTextBox detay)
        {
            customProc = new CustomerDATA();

            if (cmbreferans.SelectedValue == null)
            {
                CustomMsg.Message("Referans Kısmında Hata Oluştu...\n" +
                                  "Muhtemelen Açılır Listede Olmayan Bir Referans Seçtiniz...\n" +
                                  "Lütfen Açılır Listeden Referansi Doğru Şekilde Seçiniz...\n" +
                                  "Eğer Referans Seçmiyecekseniz Referans Bölümüne 1 Yazmanız Yeterlidir", "Referans Seçim Bloğunda Hata Oluştu", CustomMsg.MessageIcon.Eror, CustomMsg.MessageButton.OK);
            }
            else
            {
                if (cmbreferans.Text == "1")
                {
                    if (customProc.MusteriDuzenle(customProc.MusteriIDyeGöreAra(mID), customProc.ReferansAra(mID),
                                                  txname.Text, txsoyisim.Text, txtel.Text, txmeslek.Text, 1, Convert.ToDecimal(txbakiye.Value),
                                                  adres.Text, detay.Text) == 1)
                    {
                        CustomMsg.Message(txname.Text + " " + txsoyisim.Text + "\n" +
                                          "Adli Müşteri Kaydedildi",
                                          "Müsteri Düzenleme İşlemi Başarılı",
                                          CustomMsg.MessageIcon.Information,
                                          CustomMsg.MessageButton.OK);
                    }
                }
                else if (string.IsNullOrWhiteSpace(cmbreferans.Text) != true &&
                         string.IsNullOrWhiteSpace(txname.Text) != true &&
                         string.IsNullOrWhiteSpace(txsoyisim.Text) != true)
                {
                    if (customProc.MusteriDuzenle(customProc.MusteriIDyeGöreAra(mID), customProc.ReferansAra(mID),
                                                  txname.Text, txsoyisim.Text, txtel.Text, txmeslek.Text, (int)cmbreferans.SelectedValue, Convert.ToDecimal(txbakiye.Value),
                                                  adres.Text, detay.Text) == 1)
                    {
                        CustomMsg.Message(txname.Text + " " + txsoyisim.Text + "\n" +
                                          "Adli Müşteri Kaydedildi",
                                          "Müsteri Kayıt İşlemi Başarılı",
                                          CustomMsg.MessageIcon.Information,
                                          CustomMsg.MessageButton.OK);
                    }
                }
                else
                {
                    CustomMsg.Message("Müşteri Düzenleme İşlemi Başarısız...\n" +
                                      "Verileri Doğru Girdiğinizden Emin Olun", "Girdilerde Hata Oluştu", CustomMsg.MessageIcon.Eror, CustomMsg.MessageButton.OK);
                }
            }
        }
Ejemplo n.º 9
0
 public DataGridView isimvesoyisimMusteriListe(DataGridView DGV, TextBox isim, TextBox soyisim)
 {
     if (!String.IsNullOrEmpty(isim.Text) && !String.IsNullOrEmpty(soyisim.Text))
     {
         try
         {
             DGV.DataSource = customProc.IsimVeSoyisimeGoreListe(isim.Text, soyisim.Text);
         }
         catch (Exception)
         {
             CustomMsg.Message("Veritabanı hatasi oluştu\nKonum:CustomerConnectComponent-Musterileridoldur", "Veritabanı Bağlantısı Hatası", CustomMsg.MessageIcon.Eror, CustomMsg.MessageButton.OK);
         }
     }
     GlobalUserComponent.DataGridViewComponent(DGV);
     return(DGV);
 }
Ejemplo n.º 10
0
        public int musteriEkleControl(TextBox txname, TextBox txsoyisim, MaskedTextBox txtel, TextBox txmeslek, ComboBox cmbreferans, NumericUpDown txbakiye, RichTextBox adres, RichTextBox detay)
        {
            if (cmbreferans.SelectedValue == null)
            {
                CustomMsg.Message("Referans Kısmında Hata Oluştu...\n" +
                                  "Muhtemelen Açılır Listede Olmayan Bir Referans Seçtiniz...\n" +
                                  "Lütfen Açılır Listeden Referansi Doğru Şekilde Seçiniz...\n" +
                                  "Eğer Referans Seçmiyecekseniz Referans Bölümüne 1 Yazmanız Yeterlidir", "Referans Seçim Bloğunda Hata Oluştu", CustomMsg.MessageIcon.Eror, CustomMsg.MessageButton.OK);
                return(-1);
            }
            else if (cmbreferans.Text == "1" &&
                     string.IsNullOrWhiteSpace(txname.Text) != true &&
                     string.IsNullOrWhiteSpace(txsoyisim.Text) != true)
            {
                customProc = new CustomerDATA();
                customProc.MusteriEkleProc(txname.Text, txsoyisim.Text, txtel.Text, txmeslek.Text, (int)cmbreferans.SelectedValue, txbakiye.Text, adres.Text, detay.Text);
                CustomMessage.CustomMsg.Message(txname.Text + " " + txsoyisim.Text + "\n" +
                                                "Adli Müşteri Kaydedildi",
                                                "Müsteri Kayıt İşlemi Başarılı", CustomMessage.CustomMsg.MessageIcon.Information
                                                , CustomMessage.CustomMsg.MessageButton.OK);
            }
            else if (string.IsNullOrWhiteSpace(cmbreferans.Text) != true &&
                     string.IsNullOrWhiteSpace(txname.Text) != true &&
                     string.IsNullOrWhiteSpace(txsoyisim.Text) != true)
            {
                customProc = new CustomerDATA();
                customProc.MusteriEkleProc(txname.Text, txsoyisim.Text, txtel.Text, txmeslek.Text, (int)cmbreferans.SelectedValue, txbakiye.Text, adres.Text, detay.Text);
                CustomMessage.CustomMsg.Message(txname.Text + " " + txsoyisim.Text + "\n" +
                                                "Adli Müşteri Kaydedildi",
                                                "Müsteri Kayıt İşlemi Başarılı", CustomMessage.CustomMsg.MessageIcon.Information
                                                , CustomMessage.CustomMsg.MessageButton.OK);
            }
            else
            {
                CustomMsg.Message("Yeni Müşteri Ekleme Başarısız Oldu...\n" +
                                  "Verileri Doğru Girdiğinizden Emin Olun", "Girdilerde Hata Oluştu", CustomMsg.MessageIcon.Eror, CustomMsg.MessageButton.OK);
            }



            return(1);
        }
        /// <summary>
        /// 接收连接
        /// </summary>
        /// <param name="obj"></param>
        private void StartServer(object obj)
        {
            string str;

            while (true)
            {
                //等待接收客户端连接 Accept方法返回一个用于和该客户端通信的Socket
                Socket recviceSocket = ((Socket)obj).Accept();
                //获取客户端ip和端口号
                str = recviceSocket.RemoteEndPoint.ToString();
                socketList.Add(str, recviceSocket);
                //控件调用invoke方法 解决"从不是创建控件的线程访问它"的异常
                CustomMsg msg = new CustomMsg(0, recviceSocket.RemoteEndPoint.ToString(), "连接成功!");
                SetMsg(msg);

                //Accept()执行过后 当前线程会阻塞 只有在有客户端连接时才会继续执行
                //创建新线程,监控接收新客户端的请求数据
                Thread thread = new Thread(startRecive);
                thread.IsBackground = true;
                thread.Start(recviceSocket);
            }
        }
Ejemplo n.º 12
0
        public int CustomerProccesAdd(int mID, ComboBox proccesType, NumericUpDown proccesPrice)
        {
            if (mID > 0 && !String.IsNullOrEmpty(proccesType.SelectedValue.ToString()) && !String.IsNullOrEmpty(proccesPrice.Value.ToString()) && proccesPrice.Value > 0)
            {
                try
                {
                    customProc.CustomerProccesAdd(mID, int.Parse(proccesType.SelectedValue.ToString()), decimal.Parse(proccesPrice.Value.ToString()));

                    CustomMsg.Message("İçerik veritabanına Eklendi", "İşlem Tamamlandı", CustomMsg.MessageIcon.OK, CustomMsg.MessageButton.OK);
                    return(1);
                }
                catch (Exception)
                {
                    CustomMsg.Message("Veritabanı hatası oluştu", "Veri giriş Hatası", CustomMsg.MessageIcon.Eror, CustomMsg.MessageButton.OK);
                    return(-1);
                }
            }
            else
            {
                CustomMsg.Message("Giriş değerleri hatalı", "Hata Oluştu", CustomMsg.MessageIcon.Eror, CustomMsg.MessageButton.OK);
                return(-1);
            }
        }
        public int UrunIskonto(DataGridView gridView, DataGridViewSelectedRowCollection selectedRow)
        {
            if (selectedRow.Count == 1)
            {
                productDiscount = (double)Discount.Show();
                if (productDiscount > double.Parse(selectedRow[0].Cells["ProductSalePrice"].Value.ToString().Split()[0]))
                {
                    CustomMessage.CustomMsg.Message("Bu ürüne yapılan indirim fiyatını aşıyor.\nİşlem İptal Edildi", "Girdiler Yanlış Hata Oluştu", CustomMessage.CustomMsg.MessageIcon.Eror, CustomMessage.CustomMsg.MessageButton.OKCancel);
                    return(0);
                }
                else
                {
                    totalFiyat -= productDiscount;

                    gridView.CurrentRow.Cells["ProductDiscount"].Value = ((double.Parse(gridView.CurrentRow.Cells["ProductDiscount"].Value.ToString().Split(' ')[0]) + (double)productDiscount)) + " TL";
                    return(1);
                }
            }
            else
            {
                CustomMsg.Message("Satır seçilmemiş gibi görünüyor...\nYeniden Deneyiniz...", "Null Reference", CustomMsg.MessageIcon.Eror, CustomMsg.MessageButton.OKCancel);
                return(0);
            }
        }
        public int UrunEkle(TextBox Barkod, TextBox name, ComboBox KategoriID, RichTextBox description, NumericUpDown satisfiyat)
        {
            int productState = 0;

            if (String.IsNullOrEmpty(Barkod.Text) || String.IsNullOrEmpty(name.Text) || String.IsNullOrEmpty(KategoriID.Text) || String.IsNullOrEmpty(description.Text) || String.IsNullOrEmpty(satisfiyat.Value.ToString()) || String.IsNullOrEmpty(KategoriID.SelectedIndex.ToString()))
            {
                //Null Değer Döndü
                CustomMsg.Message("Boş girilen değerler var.\nLütfen gereken bilgileri yeniden doldurup deneyiniz.", "Null Reference", CustomMsg.MessageIcon.Eror, CustomMsg.MessageButton.OK);
                return(-1);
            }
            else
            {
                productState = prc.UrunEkle(Barkod.Text.ToString(), name.Text.ToString(), (int)KategoriID.SelectedValue, description.Text, (decimal)satisfiyat.Value);
                if (productState == 1)
                {
                    CustomMsg.Message(Barkod.Text + " Barkodlu ürün Veritabanına Eklenmiştir", "İşlem Tamamlandı", CustomMsg.MessageIcon.OK, CustomMsg.MessageButton.OK);
                }
                else if (productState == -2)
                {
                    CustomMsg.Message(Barkod.Text + " Bu ürün zaten Veritabanında Var !\nBu ürünü silip yeniden deneyin...", "İşlem Tamamlanamadı", CustomMsg.MessageIcon.Eror, CustomMsg.MessageButton.OK);
                }
                return(productState);
            }
        }
 public MsgLogic()
 {
     cu = new CustomMsg();
     c  = new Context();
 }
Ejemplo n.º 16
0
 public static int GetTypeId(CustomMsg payload)
 {
     return(MessageIndex.Where(keyValue => keyValue.Value == payload.GetType()).Select(keyValue => keyValue.Key).First());
 }
Ejemplo n.º 17
0
 public static void Broadcast(CustomMsg message)
 {
     //TODO: Add server to server version. if(isServer) ...stuff
     CustomNetworkManager.ClientsNetworkConnection.Send(MessengerMessageId, new MessengerMessage(message));
 }
Ejemplo n.º 18
0
 public static void SendToActor(ActorId actorId, CustomMsg message)
 {
     throw new NotImplementedException();
 }
Ejemplo n.º 19
0
 public MessengerMessage(CustomMsg payload)
 {
     PayloadMessage = JsonUtility.ToJson(payload);
     MessageId      = MessageTypes.GetTypeId(payload);
 }
        /// <summary>
        /// 接收消息
        /// </summary>
        /// <param name="obj">客户端socket</param>
        private void startRecive(object obj)
        {
            string str;
            string ip;
            string tempstr = string.Empty;

            while (true)
            {
                byte[] buffer = new byte[2048];

                int count;
                try
                {
                    //Receive(Byte[]) 从绑定的 Socket 套接字接收数据,将数据存入接收缓冲区。
                    //该方法执行过后同Accept()方法一样  当前线程会阻塞 等到客户端下一次发来数据时继续执行
                    if (((Socket)obj).Connected == false)
                    {
                        str = ((Socket)obj).RemoteEndPoint.ToString();
                        socketList.Remove(str);
                        return;
                    }
                    count = ((Socket)obj).Receive(buffer);
                    ip    = ((Socket)obj).RemoteEndPoint.ToString();
                    if (count == 0)
                    {
                        str = ((Socket)obj).RemoteEndPoint.ToString();
                        socketList.Remove(str);
                        CustomMsg msg = new CustomMsg(1, ((Socket)obj).RemoteEndPoint.ToString(), "已断开连接!");
                        SetMsg(msg);
                        break;
                    }
                    else
                    {
                        str = Encoding.Default.GetString(buffer, 0, count);


                        if (str.IndexOf("<EOF>") == -1)
                        {
                            tempstr += str;
                        }
                        else
                        {
                            tempstr += str;
                            tempstr  = tempstr.Replace("<EOF>", "");
                            CustomMsg msg = new CustomMsg(1, ((Socket)obj).RemoteEndPoint.ToString(), tempstr);
                            SetMsg(msg);
                            tempstr = string.Empty;
                        }
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.ToString());
                    if (((Socket)obj).Connected == false)
                    {
                        str = ((Socket)obj).RemoteEndPoint.ToString();
                        socketList.Remove(str);
                        return;
                    }
                    continue;
                }
            }
        }
Ejemplo n.º 21
0
        /// <summary>
        /// Bardziej zaawansowany przykład użycia "NolClient": zalogowanie dopiero na żądanie,
        /// bez uruchamiania wątku odbierającego komunikaty asynchroniczne (można go obsłużyć samemu).
        /// Samodzielne przygotowanie, wysyłka i odbiór przykładowego message'a.
        /// </summary>
        public void Execute()
        {
            using (var nol = new NolClient(false, false))
            {
                // zalogowanie użytkownika
                Console.WriteLine("\nPress any key... to log in   [Esc - cancel]\n");
                if (Console.ReadKey(true).Key == ConsoleKey.Escape)
                {
                    return;
                }
                nol.Login();

                // otwarcie kanału asynchronicznego
                // (na razie nic tu z niego nie odbieramy, bo do tego przydałby się oddzielny wątek)
                Console.WriteLine("\nPress any key... to open async socket   [Esc - skip]\n");
                Socket asyncSocket = null;
                if (Console.ReadKey(true).Key != ConsoleKey.Escape)
                {
                    asyncSocket = NolClient.GetAsyncSocket();
                }

                // wysyłka przykładowego komunikatu
                // (można skorzystać z gotowych klas zdefiniowanych w pjank.BossaAPI.Fixml,
                // ale można też spreparować coś zupełnie własnego w oparciu o klasę CustomMsg)
                Console.WriteLine("\nPress any key... to send a custom message   [Esc - cancel]\n");
                if (Console.ReadKey(true).Key == ConsoleKey.Escape)
                {
                    return;
                }
                var tmp = FixmlMsg.DebugOriginalXml.Enabled;
                try
                {
                    FixmlMsg.DebugOriginalXml.Enabled = true;

                    // otwarcie nowego połączenia (kanał synchroniczny za każdym razem nowy!)
                    using (var syncSocket = NolClient.GetSyncSocket())
                    {
                        // przygotowanie komunikatu
                        var request = new UserRequestMsg()
                        {
                            Username = "******",
                            Type     = UserRequestType.GetStatus,
                        };
                        // wysyłka komunikatu
                        request.Send(syncSocket);

                        // odbiór odpowiedzi
                        Console.WriteLine("\nPress any key... to read the response\n");
                        Console.ReadKey(true);
                        var response = new FixmlMsg(syncSocket);
                        Trace.WriteLine("\nResponse XML:\n" + response.Xml.FormattedXml() + "\n");

                        // dokładniejsza analiza odpowiedzi (w klasie konkretnego rodzaju komunikatu)
                        Console.WriteLine("Press any key... to parse the response message\n");
                        Console.ReadKey(true);
                        UserResponseMsg parsedResponse = new UserResponseMsg(response);
                        Trace.WriteLine(String.Format("\nResponse parsed:\n Status = {0}, StatusText = '{1}'\n",
                                                      parsedResponse.Status, parsedResponse.StatusText));
                    }

                    Console.WriteLine("\nPress any key... to send another custom message   [Esc - cancel]\n");
                    if (Console.ReadKey(true).Key == ConsoleKey.Escape)
                    {
                        return;
                    }

                    // otwarcie nowego połączenia (kanał synchroniczny za każdym razem nowy!)
                    using (var syncSocket = NolClient.GetSyncSocket())
                    {
                        // tak można spreparować dowolny komunikat, również taki jeszcze nieistniejący ;->
                        var request    = new CustomMsg("MyCustomRequest");
                        var xmlElement = request.AddElement("Test");
                        xmlElement.SetAttribute("attr1", "1");
                        xmlElement.SetAttribute("attr2", "2");
                        // wysyłka tak samodzielnie spreparowanego komunikatu
                        request.Send(syncSocket);
                        // odbiór odpowiedzi - tutaj powinniśmy otrzymać błąd... "BizMessageRejectException"
                        // niestety aktualna wersja NOL3 zwraca nieprawidłowy XML, którego nie da się parsować
                        Console.WriteLine("\nPress any key... to read the response\n");
                        Console.ReadKey(true);
                        var response = new FixmlMsg(syncSocket);
                    }
                }
                catch (Exception e)
                {
                    MyUtil.PrintError(e);
                }
                FixmlMsg.DebugOriginalXml.Enabled = tmp;
                Console.ReadKey(true);
                if (asyncSocket != null)
                {
                    asyncSocket.Close();
                }
            }              // tu następuje automatyczne wylogowanie
        }