Esempio n. 1
0
        public ActionResult CreateGift(CreateGiftViewModel createGiftViewModel)
        {
            if (ModelState.IsValid)
            {
                var file = Request.Files["file"];

                var logoPath = "";

                if (file != null && file.ContentLength > 0)
                {
                    logoPath = Guid.NewGuid() + Path.GetExtension(file.FileName);
                    var path = Path.Combine(Server.MapPath(StringResources.GiftsLogoPath), logoPath);
                    file.SaveAs(path);
                }
                else
                {
                    logoPath = StringResources.NoGiftLogoPath;
                }

                createGiftViewModel.Logo = StringResources.GiftsLogoPath + logoPath;

                var newGift = Mapper.Map <DomainGift>(createGiftViewModel);
                _giftService.Create(newGift);
                return(RedirectToAction("CreateGiftSuccess"));
            }

            ModelState.AddModelError("", "Invalid model");
            return(View());
        }
        public override async Task ExecuteAsync(Message message, ITelegramBotClient client)
        {
            string messageText = message.Text.Trim();

            if (messageText == Name)
            {
                await client.SendTextMessageAsync(message.Chat.Id, $@"
Чтобы добавить подарок введите название команды и информацию о подарке, разделяя пункты запятыми :
1. Название
2. Ссылка
3. Стоимость
4. Возрастная категория
{EnumExtensions.DescribeEnum<AgeCategories>()}
5. Одаряемый
{EnumExtensions.DescribeEnum<Recipients>()}");
            }
            else
            {
                string[] args = messageText.Split(Name, StringSplitOptions.RemoveEmptyEntries)[0].Split(',');
                string   messageForUser;
                if (ValidateGiftArgs(args))
                {
                    Gift gift = new Gift
                    {
                        Title       = args[0].Trim(),
                        Url         = args[1].Trim(),
                        AgeCategory = (AgeCategories)Enum.Parse(typeof(AgeCategories), args[3]),
                        Recipient   = (Recipients)Enum.Parse(typeof(Recipients), args[4])
                    };
                    gift.SetPriceFromRubles(Convert.ToInt32(args[2]));
                    await _giftService.Create(gift);

                    messageForUser = "******";
                }
                else
                {
                    messageForUser = "******";
                }
                await client.SendTextMessageAsync(message.Chat, messageForUser);
            }
        }