Пример #1
0
        public ActionResult OrderFormPartial(AddOrderModel addorderModel)
        {
            var game = _gameLogic.GetGame(_gameId);

            if (ModelState.IsValid)
            {
                addorderModel.OrderPrice = (game.Price - (game.Price / 100 * game.Discount)) * addorderModel.OrderQuantity;

                MailAddress from      = new MailAddress("*****@*****.**", "STEAM GAMES");
                MailAddress to        = new MailAddress(addorderModel.Email);
                MailMessage msg       = new MailMessage(from, to);
                string      itemscart = "";
                for (int i = 0; i < addorderModel.OrderQuantity; i++)
                {
                    itemscart += @"<tr>
                                <td style =""padding: 10px; font-family: Play,Arial,sans-serif;"" >" + $"{game.Name}" + @"</td>
                                <td style =""padding: 10px; font-family: Play,Arial,sans-serif;"" >" + $"{(game.Price - (game.Price / 100 * game.Discount)).ToString("#.##")}" + @" руб.</td>
                                <td style =""padding: 10px; font-family: Play,Arial,sans-serif; color: #0094e9;"" >" + $"{Guid.NewGuid().ToString()}" + @"</td>
                            </tr>";
                }
                msg.Subject = "STEAM GAMES: Список покупок";
                msg.Body    = @"<table style=""font-family:Play,Arial,sans-serif;font-weight:500;font-size: 18px; color:dimgrey; padding: 30px; width: 100%; padding: 30px;margin: 5px; border: 50px solid silver;"">
                                <tr>
                                    <td style =""padding: 10px; text-align:center;color: tomato; font-family: Play,Arial,sans-serif;"" colspan=""3"">STEAM GAMES</td>
                                </tr>
                                <tr >
                                    <td style =""padding: 10px;"" colspan=""3"">Вы приобрели товар(ы):" + @"</td>
                                </tr>" +
                              @"<tr>
                                <td style =""font-family: Play,Arial,sans-serif; padding: 10px;"" > Название </td>
                                <td style =""font-family: Play,Arial,sans-serif; padding: 10px;"" > Цена </td>
                                <td style =""font-family: Play,Arial,sans-serif; padding: 10px;"" > Ключ активации </td>
                                 </tr>" +
                              $"{ itemscart }" +
                              @"<tr >
                                    <td style =""font-family: Play,Arial,sans-serif; padding: 10px;""> Количество игр:  " + $" {addorderModel.OrderQuantity}" + @"</td>
                                    <td style =""font-family: Play,Arial,sans-serif; padding: 10px;""></td>
                                </tr>
                                <tr> 
                                    <td style =""font-family: Play,Arial,sans-serif; padding: 10px;"" colspan=""2"">Общая стоимость:  " + $" {addorderModel.OrderPrice.ToString("#.##")}" + @" руб.</td>
                                </tr>
                                <tr> 
                                    <td style =""font-family: Play,Arial,sans-serif; padding: 10px;"" colspan=""2""> Теперь вы можете активировать игру(ы) в Steam</td>
                                </tr>
                            </table>";
                msg.IsBodyHtml = true;
                SmtpClient smtp = new SmtpClient("smtp.gmail.com", 587);
                smtp.UseDefaultCredentials = false;
                smtp.Credentials           = new NetworkCredential("*****@*****.**", "dD89271518969");
                smtp.EnableSsl             = true;
                smtp.Send(msg);

                if (!User.Identity.IsAuthenticated)
                {
                    _orderLogic.AddOrder(16, _gameId, DateTime.Now, addorderModel.OrderQuantity, addorderModel.OrderPrice, addorderModel.Email);
                }
                else
                {
                    var user = _userLogic.GetUsers().FirstOrDefault(u => u.Login == User.Identity.Name);
                    _orderLogic.AddOrder(user.UserId, _gameId, DateTime.Now, addorderModel.OrderQuantity, addorderModel.OrderPrice, addorderModel.Email);
                }
                return(RedirectToAction("OrderCompleted", "Order"));
            }
            return(View(addorderModel));
        }