/// <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); }
/// <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); }
/// <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); }