ASP.NET Core Linq - PullRequest
       1

ASP.NET Core Linq

0 голосов
/ 25 сентября 2018

Есть запрос на следующий план:

[HttpPost]
    public async Task<IActionResult> Ref(RefModel model)
    {
        var countreward = from c in db.Person
                            join g in db.Referal
                            on c.AccountID equals g.memb___id into gg
                            from ggg in gg.DefaultIfEmpty()

                            where ggg.referal_reward >= 1
                            where c.RCount >= 1


                            orderby c.AccountID == User.Identity.Name

                            select new Person()
                            {
                                AccountID = c.AccountID,
                                Name = c.Name,
                            };
        var reward = countreward.ToList();

        if (ModelState.IsValid)
        {
            if (reward.Count >= 1)
            {
                CSData bonus = db.CSData.First(p => p.AccountID == User.Identity.Name);
                bonus.GP+= 10 * reward.Count;

                db.CSData.Update(bonus);
                await db.SaveChangesAsync();

                ViewBag.Message = "Yes";
            }
            else
            {
                ViewBag.Message = "No";
            }
        }
        return View(model);
    }

После нажатия на кнопку я получаю все нужные мне рефералы из таблицы рефералов, сравниваю их логин с требуемыми критериями с таблицей лици после этого я получаю + = 10 к своему логину.Как отправить 5 баллов тем, благодаря которым я получил 10 баллов?Спасибо!

1 Ответ

0 голосов
/ 25 сентября 2018

Прямо перед await db.SaveChangesAsync(); добавить:

foreach(var person in reward)
{
    CSData bonus = db.CSData.First(p => p.AccountID == person.AccountID);
    bonus.GP += 5;

    db.CSData.Update(bonus);
}

Вы действительно должны начать учиться, прочитав книгу об основах.Вы не делаете себе одолжений, когда застреваете в простых вещах, таких как итерирование списка.Прежде чем делать сложные вещи, такие как доступ к базам данных и общение по сети, убедитесь, что вы можете сделать основы.Научись ходить, прежде чем бегать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...