Ejemplo n.º 1
0
        public async Task <CreateOrderResponse> CreateOrderAsync(CreateOrderRequest request)
        {
            var response = new CreateOrderResponse {
                Code = 200
            };

            try
            {
                await this.gateway.InsertOrderAsync(request.Order.AsEntity());

                var senderBuilder         = new SenderEmailBuilder(request.Order.SenderEmail, request.Order.SenderName, request.Order.RecipientName, request.Order.ProductName, request.Order.ProductPrice, request.Order.OrderQuantity);
                var senderEmailMessage    = EmailDirector.ConstructEmail(senderBuilder);
                var recipientBuilder      = new RecipientEmailBuilder(request.Order.RecipientEmail, request.Order.RecipientName, request.Order.SenderName, request.Order.ProductName, request.Order.ProductPrice, request.Order.OrderQuantity);
                var recipientEmailMessage = EmailDirector.ConstructEmail(recipientBuilder);

                await this.emailSender.SendEmail(senderEmailMessage);

                await this.emailSender.SendEmail(recipientEmailMessage);
            }
            catch (Exception ex)
            {
                this.logger.LogError(ex.Message);
                response.Code = 500;
            }

            return(response);
        }
Ejemplo n.º 2
0
        static void Main(string[] args)
        {
            //Chain of responsibility
            string         actionToDownload = "08 OCTAVA";
            ActionProvider bossa            = new BossaProvider(actionToDownload);
            ActionProvider onet             = new OnetProvider(actionToDownload);

            bossa.SetNextActionProvider(onet);
            bossa.DoTask(TasksToDo.DownloadSingleAction);

            //Decorator Provision
            DownloadedAction da = new DownloadedAction(onet.actionModel);
            Provision        provisionDecorator = new Provision(da);
            double           decoratedPrice     = provisionDecorator.Price();

            Console.WriteLine($"TKO with Provision: {decoratedPrice} PLN");

            //Exchange Rate
            Console.WriteLine($"Today exchange rate: {CurrentExchangeRates.UsdRate()}");
            Console.WriteLine($"TKO with Provision: {CurrentExchangeRates.ConvertPlnToUSD(decoratedPrice)} USD");


            //BUILDER
            PostmanCompanyOne postmanCompanyOne = new PostmanCompanyOne();

            //POSTMAN CONFIGURE SETTINGS
            postmanCompanyOne.SetPort(587);
            postmanCompanyOne.SetHost(@"smtp.poczta.onet.pl");
            postmanCompanyOne.SetTimeOut(5000);
            postmanCompanyOne.SetDeliveryMethod();
            postmanCompanyOne.SetDefaultCredential();
            postmanCompanyOne.SetUserSettingsCredential("*****@*****.**", "Daniel123");
            postmanCompanyOne.SetMailFrom(@"*****@*****.**");
            postmanCompanyOne.SetMailTo(@"*****@*****.**");
            postmanCompanyOne.SetSubject($"ZTP-GIELDA Ceny Akcji {actionToDownload}");
            postmanCompanyOne.SetMailBody($"Nazwa Akcji: {actionToDownload}\r\n" +
                                          $"Cena Akcji bez prowizji: {onet.actionModel.Tko} \r\n" +
                                          $"Cena Akcji z prowizją: {decoratedPrice} \r\n" +
                                          $"Dzisiejsza cena Dolara: {CurrentExchangeRates.UsdRate()} \r\n" +
                                          $"Cena po przeliczeniu PLN-USD: {CurrentExchangeRates.ConvertPlnToUSD(decoratedPrice)}");
            //DIRECTOR
            EmailDirector director = new EmailDirector(postmanCompanyOne);

            //director.SendMail();
            Console.WriteLine(@"Email with Action Summary was send to [email protected]");
            SoundPlayer.Instance.PlaySound();

            //OBSERVER SETTINGS
            Provision observered = new Provision(provisionDecorator);

            SoundPlayer.Instance.SetObserveredAction(observered);
            Logger.Instance.SetObserveredAction(observered);
            observered.addObserver(SoundPlayer.Instance);
            observered.addObserver(Logger.Instance);

            //FAKE OBSERVER DATA
            FakeObserverData.Instance.GenerateFakeProvision(observered);
        }
Ejemplo n.º 3
0
    static void Main(string[] args)
    {
        Console.WriteLine("Email BUILDER!");
        var emailBuilder = new EmailBuilder();
        var diretor      = new EmailDirector(emailBuilder);

        var email = diretor.Work();

        email.Send();
    }
Ejemplo n.º 4
0
        static void Main(string[] args)
        {
            var directory = new EmailDirector(new LocalEmailBuilder());

            var sender = new Person()
            {
                Email = "*****@*****.**",
                Name  = "Test User"
            };

            var email = directory.BuildEmail(sender, sender, "Re: utang", "dear User, magbayad ka na ng utang mo. Thanks!");
        }