示例#1
0
        public async Task <ActionResult> Create(NewAuctionViewModel model)
        {
            model.IsOffer = false;
            model.IsOrder = true;
            // model.SelectedProduct = model?.ProductsList?.FirstOrDefault(c => c.Code == TradeTypes.closeFixed.ToString())??new Areas.Admin.Models.CatalogModel() { Code= "closeFixed" };
            try
            {
                if ((model.TradeEnd - model.TradeBegin).TotalMinutes < 59)
                {
                    return
                        (Json(
                             new
                    {
                        Success = false,
                        responseText =
                            LocalText.Inst.Get("error", "Orders.Create.WrongTimeOfOffer",
                                               "Час актуальності пропозиції повинен бути не меншим за годину",
                                               "Время актуальности предложения должно быть, как минимум, равным часу")
                    },
                             JsonRequestBehavior.AllowGet));
                }
                model.HasRedemptionPrice = true;
                model.IsPreApproved      = true;
                model.IsAccepted         = true;
                model.RedemptionPrice    = model.StartPrice;

                var trade = tradeDataLayer.CreateTrade(model, User.Identity.GetUserId());
                trade.BankBill = Db.BankBills.FirstOrDefault(c => c.Id == trade.BankBillId);
                //  var trademodel = tradeDataLayer.CreateTradeViewModel(trade);
                foreach (var user in UserManager.Users)
                {
                    EmailFactory.SendEmailAsync(new NewOrder(user, tradeDataLayer.CreateTradeViewModel(trade, user)));
                }

                await EmailFactory.Brodcast(new Broadcast()
                {
                    Body = "Нова заявка", Subject = "На РТР створено нову пропозицію. Подивіться, може у вас є що запропонувати?"
                });

                //Mailer.SendMail("*****@*****.**", "Новый торг на модерации",
                //    "Уважаемый модератор, просьба одобрить новый торг: " + Url.Action("TradesOnApproving", "Trade", null, Request.Url.Scheme));
                return(Json(new { Success = true, redirectUrl = Url.Action("Index", "Orders") },
                            JsonRequestBehavior.AllowGet));
            }
            catch (ArgumentNullException ex)
            {
                logger.Error(ex);
                return(Json(new { Success = false, responseText = LocalText.Inst.Get("error", "errorfilenotuploaded", "Паспорт товару не загружено, перейдіть на сторінку модерації торгів та спробуйте знову") }, JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                logger.Error(ex);
                return(Json(new { Success = false, responseText = ex.Message }, JsonRequestBehavior.AllowGet));
            }
        }