示例#1
0
        /// <summary>
        /// Wysyła zamówienie na produkt do dostawcy
        /// </summary>
        /// <param name="produkt">Produkt do zamówienia</param>
        /// <param name="ilosc">Ilość produktu do zamówienia</param>
        /// <param name="dolaczAdres">Czy dołączać adres wysyłki</param>
        /// <param name="wyslijKopie">Czy wyslać kopię zamówienia do zamawiającego</param>
        /// <returns>Flaga sukcesu i tekst zamówienia</returns>
        public WynikOperacji ZlozZamowienie(Produkt produkt, int ilosc, DolaczAdres dolaczAdres, WyslijKopie wyslijKopie)
        {
            var tekstZamowienia = "Tekst Zamówieia";

            if (dolaczAdres == DolaczAdres.Tak)
            {
                tekstZamowienia += " Dołączamy adres";
            }
            if (wyslijKopie == WyslijKopie.Tak)
            {
                tekstZamowienia += " Wysyłamy kopię";
            }
            var wynikOperacji = new WynikOperacji(true, tekstZamowienia);

            return(wynikOperacji);
        }
示例#2
0
        /// <summary>
        /// Wysyła zamówienie na produkt do dostawcy
        /// </summary>
        /// <param name="produkt">Produkt do zamówienia</param>
        /// <param name="ilosc">Ilość produktu do zamówienia</param>
        /// <param name="data">Data dostawy zamówienia</param>
        /// <param name="instukcje">Instrukcje dostawy</param>
        /// <returns></returns>
        public WynikOperacji ZlozZamowienie(Produkt produkt, int ilosc, DateTimeOffset?data = null, string instukcje = "Standardowa dostawa")
        {
            if (produkt == null)
            {
                throw new ArgumentNullException(nameof(produkt));       //wyrzucenie wyjątku
            }
            if (ilosc <= 0)
            {
                throw new ArgumentOutOfRangeException(nameof(ilosc));
            }

            if (data <= DateTimeOffset.Now)
            {
                throw new ArgumentOutOfRangeException(nameof(data));
            }

            var sukces = false;

            var tekstZamowieniaBuilder = new StringBuilder("Zamówienie z DevHobby.pl" + Environment.NewLine +
                                                           "Produkt: " + produkt.KodProduktu + Environment.NewLine +
                                                           "Ilość: " + ilosc);

            if (data.HasValue)                                                                                    //zwraca false gdy data ma wartośc null
            {
                tekstZamowieniaBuilder.Append(Environment.NewLine + "Data dostawy: " + data.Value.ToString("d")); //ten format ustawia że chce dostać tylko date bez godziny
            }

            if (!String.IsNullOrWhiteSpace(instukcje))                       //sprawdza czy nie ma spacji albo czy string nie jest nullem
            {
                tekstZamowieniaBuilder.Append(Environment.NewLine + "Instrukcje: " + instukcje);
            }

            var tekstZamowienia = tekstZamowieniaBuilder.ToString();

            var emailService  = new EmailService();
            var potwierdzenie = emailService.WyslijWiadomosc("Nowe zamówienie", tekstZamowienia, this.Email);

            if (potwierdzenie.StartsWith("Wiadmość wysłana: "))
            {
                sukces = true;
            }

            var wynikOperacji = new WynikOperacji(sukces, tekstZamowienia);

            return(wynikOperacji);
        }
示例#3
0
        /// <summary>
        /// Wysyła zamówienie na produkt do dostawcy
        /// </summary>
        /// <param name="produkt">Produkt do zamówienia</param>
        /// <param name="ilosc">ilość produktów do zamówienia</param>
        /// <param name="dataDostawy">Data dostawy zamówienia</param>
        /// <param name="instrukcje">Instrukce dostawy</param>
        /// <returns>Flaga sukcesu i tekst zamówienia</returns>
        public WynikOperacji ZlozZamowienie(Produkt produkt, int ilosc, DateTimeOffset?dataDostawy = null, string instrukcje = "Standartowa dostawa")
        {
            if (produkt == null)
            {
                throw new ArgumentNullException(nameof(produkt));
            }
            if (ilosc <= 0)
            {
                throw new ArgumentOutOfRangeException(nameof(ilosc));
            }
            if (dataDostawy <= DateTimeOffset.Now)
            {
                throw new ArgumentOutOfRangeException(nameof(dataDostawy));
            }
            bool sukces = false;

            var tekstZamowieniaBuilder = new StringBuilder(
                "Zamowienie z DevHobby.pl" + Environment.NewLine +
                "Produkt: " + produkt.KodProduktu + Environment.NewLine +
                "Ilość: " + ilosc);

            if (dataDostawy.HasValue)
            {
                tekstZamowieniaBuilder.Append(Environment.NewLine +
                                              "Data dostawy: " + dataDostawy.Value.ToString("d"));
            }
            if (!String.IsNullOrWhiteSpace(instrukcje))
            {
                tekstZamowieniaBuilder.Append(Environment.NewLine +
                                              "Instrukcje: " + instrukcje);
            }

            var tekstZamowienia = tekstZamowieniaBuilder.ToString();

            var emailService  = new EmailService();
            var potwierdzenie = emailService.WyslijWiadomosc("Twoje zamowienie", tekstZamowienia, this.Email);

            if (potwierdzenie.StartsWith("Wiadomość wysłana: "))
            {
                sukces = true;
            }

            var wynikOperacji = new WynikOperacji(sukces, tekstZamowienia);

            return(wynikOperacji);
        }