Exemplo n.º 1
0
        //[Authorize(Roles = "admin")]
        public async Task <IActionResult> Role(string id)
        {
            AppUsern user = await muser.FindByIdAsync(id);

            //await muser.AddToRoleAsync(user, "Admin");
            var userRoles = await muser.GetRolesAsync(user);

            //  var addedRoles = roles.Except(userRoles);
            var allRoles = role.Roles.ToList();

            //ChangeRoleViewModel model = new ChangeRoleViewModel
            //{
            //    UserId = user.Id,
            //    UserEmail = user.UserName,
            //    UserRoles = userRoles,
            //    AllRoles = allRoles
            //};

            //if (user != null)
            //{
            //   var addedrolee = role.RoleExistsAsync("adminstration");
            //    await muser.AddToRolesAsync(user, userRoles);
            //}

            // IdentityResult result = await role.CreateAsync(new IdentityRole(id));


            return(Json(userRoles));
        }
Exemplo n.º 2
0
        public async Task <IActionResult> Edit(string userId, List <string> roles)
        {
            // получаем пользователя
            AppUsern user = await _userManager.FindByIdAsync(userId);

            if (user != null)
            {
                // получем список ролей пользователя
                var userRoles = await _userManager.GetRolesAsync(user);

                // получаем все роли
                var allRoles = _roleManager.Roles.ToList();
                // получаем список ролей, которые были добавлены
                var addedRoles = roles.Except(userRoles);
                // получаем роли, которые были удалены
                var removedRoles = userRoles.Except(roles);

                await _userManager.AddToRolesAsync(user, addedRoles);

                await _userManager.RemoveFromRolesAsync(user, removedRoles);

                return(RedirectToAction("UserList"));
            }

            return(NotFound());
        }
Exemplo n.º 3
0
        public async Task <IActionResult> Orderqiwi([FromBody] OrderQiwiViewModel body)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            AppUsern user = await userManager.FindByNameAsync(body.num);

            if (user == null)
            {
                return(Json(BadRequest()));
            }
            string date     = DateTime.Now.ToString("MMddHHmmss");
            string nnum     = user.UserName;
            var    aaa      = nnum.Substring(nnum.Length - 4);
            string acount   = aaa + date;
            string prv      = date + aaa;
            var    oldorder = await db.Qiwipays.Where(x => x.number == body.num& x.type == body.type& x.pay == false).FirstOrDefaultAsync();

            if (oldorder == null)
            {
                await db.Qiwipays.AddAsync(new Qiwipay { account = acount, txn_date = DateTime.Now, sum = body.price, type = body.type, number = body.num, prv_txn = prv, pan = body.pan });
            }
            else
            {
                return(Json("already"));
            }

            await db.SaveChangesAsync();

            return(new  OkObjectResult(new { acount }));
        }
Exemplo n.º 4
0
        public async Task <IActionResult> Checknum([FromBody] CheckViewModel request)
        {
            AppUsern reUser = await userManager.FindByNameAsync(request.num);

            if (reUser == null)
            {
                return(Json(Ok()));
            }

            return(Json(BadRequest()));
        }
Exemplo n.º 5
0
        public async Task <IActionResult> Tolem(string user_id, string type, int pg_result, string pg_amount, DateTime pg_payment_date, string pg_user_phone, string ptype)
        {
            AppUsern user = await userManager.FindByIdAsync(user_id);


            if (pg_result == 1)
            {
                if (user == null)
                {
                    return(new ObjectResult(new { result = "user not found" }));
                }
                if (ptype == "pan")
                {
                    await db.AddAsync(new Ofpay { IdentityId = user_id, type = type, Price = pg_amount.Split(".")[0] });

                    await db.Tolems.AddAsync(new Tolem { IdentityId = user_id, type = type, success = true, price = pg_amount, date = pg_payment_date });

                    await db.SaveChangesAsync();

                    return(new OkObjectResult(new { result = type, bl = "pann" }));
                }

                if (type == "search")
                {
                    await db.Tolems.AddAsync(new Tolem { IdentityId = user_id, type = type, success = true, price = pg_amount, date = pg_payment_date });

                    var searcher = db.Searches.FirstOrDefault(x => x.IdentityId == user_id);
                    searcher.date   = pg_payment_date;
                    searcher.pay    = true;
                    searcher.enable = false;
                    searcher.count  = 0;
                    await db.SaveChangesAsync();

                    return(new OkObjectResult(new { result = type, bl = "sr" }));
                }
                else
                {
                    await db.Tolems.AddAsync(new Tolem { IdentityId = user_id, type = type, success = true, price = pg_amount, date = pg_payment_date });

                    await db.AddAsync(new Blok { IdentityId = user_id, blok = type, enable = true, BuyDate = pg_payment_date });

                    await db.SaveChangesAsync();

                    return(new OkObjectResult(new { result = type, bl = "blok" }));
                }
            }
            return(BadRequest());
        }
Exemplo n.º 6
0
        public async Task <IActionResult> Resetpass([FromBody] ResetPassViewModel model)
        {
            AppUsern user = await userManager.FindByIdAsync(model.Id);

            if (user == null)
            {
                return(new ObjectResult(new { result = "not found" }));
            }
            if (!ModelState.IsValid)
            {
                return(new ObjectResult(new { result = "all required" }));
            }
            if (model.Id != user.Id)
            {
                return(new ObjectResult(new { result = "not found" }));
            }
            #region
            //if (model.Email != user.Email)
            //{
            //    return new ObjectResult(new { result = "not found" });
            //}
            //var cd = "";
            //var code = cache.TryGetValue(model.Email, out cd);
            //if (model.Code != cd)
            //{
            //    return new ObjectResult(new { result = "Code" });
            //}
            #endregion

            var _passwordValidator =
                HttpContext.RequestServices.GetService(typeof(IPasswordValidator <AppUsern>)) as IPasswordValidator <AppUsern>;
            var _passwordHasher =
                HttpContext.RequestServices.GetService(typeof(IPasswordHasher <AppUsern>)) as IPasswordHasher <AppUsern>;

            IdentityResult result =
                await _passwordValidator.ValidateAsync(userManager, user, user.PasswordHash);

            if (result.Succeeded)
            {
                user.PasswordHash = _passwordHasher.HashPassword(user, model.NewPassword);
                await userManager.UpdateAsync(user);

                return(new OkObjectResult(new { result = "success" }));
            }
            return(BadRequest());
        }
Exemplo n.º 7
0
        public async Task <IActionResult> Edit(string userId)
        {
            // получаем пользователя
            AppUsern user = await _userManager.FindByIdAsync(userId);

            if (user != null)
            {
                // получем список ролей пользователя
                var userRoles = await _userManager.GetRolesAsync(user);

                var allRoles = _roleManager.Roles.ToList();
                ChangeRoleViewModel model = new ChangeRoleViewModel
                {
                    UserId    = user.Id,
                    UserEmail = user.FirstName,
                    UserRoles = userRoles,
                    AllRoles  = allRoles
                };
                return(PartialView(model));
            }
            return(NotFound());
        }
Exemplo n.º 8
0
        public async Task <IActionResult> Resetnum([FromBody] ResetNumViewModel model)
        {
            AppUsern user = await userManager.FindByIdAsync(model.Id);

            if (user == null)
            {
                return(new ObjectResult(new { result = "not found" }));
            }
            if (!ModelState.IsValid)
            {
                return(new ObjectResult(new { result = "all required" }));
            }
            if (model.Id != user.Id)
            {
                return(new ObjectResult(new { result = "not found" }));
            }
            IQueryable <AppUsern> st = (from c in db.Usernew select c);
            bool cut;

            cut = false;
            foreach (AppUsern s in st)
            {
                if (s.UserName == model.NewTelNum)
                {
                    cut = true;
                }
            }
            if (cut)
            {
                return(new ObjectResult(new { result = "number" }));
            }

            user.UserName = model.NewTelNum;
            await userManager.UpdateAsync(user);

            return(new OkObjectResult(new { result = "success" }));
        }
Exemplo n.º 9
0
 public AdminBuyViewModel()
 {
     Satilims = new List <Satilim>();
     IUser    = new AppUsern();
     Bought   = new List <string>();
 }
Exemplo n.º 10
0
        public async Task <IActionResult> Register([FromBody] RegisterViewModel body)
        {
            if (!ModelState.IsValid)
            {
                return(new ObjectResult(new { result = "all required" }));
            }
            var userIdentity = mapper.Map <AppUsern>(body);
            var ext          = await userManager.FindByNameAsync(body.TelNum);

            if (ext != null)
            {
                return(new ObjectResult(new { result = "number" }));
            }
            // var cd = "";
            //var code = cache.TryGetValue(body.Email, out cd);
            //if(body.Code != cd)
            //{
            //    return new ObjectResult(new { result = "Code" });
            //}

            var result = await userManager.CreateAsync(userIdentity, body.Password);

            if (!result.Succeeded)
            {
                return(BadRequest("jj"));
            }

            AppUsern newuser = await userManager.FindByNameAsync(body.TelNum);

            // newuser.regdate = DateTime.Today.Date;

            //if (body.Type == "on")
            //{
            //    newuser.offenable = true;
            //}
            //else
            //{
            //    newuser.enable = true;
            //}


            //await db.Searches.AddAsync(new Search { IdentityId = userIdentity.Id, count = 30, enable = true, date = DateTime.Now });
            await userManager.AddToRoleAsync(userIdentity, "user");

            await db.SaveChangesAsync();

            //var claims = new[]
            //              {
            //                    new Claim(ClaimTypes.Name,userIdentity.UserName)
            //              };
            //var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes("dfghdfghdfghjsfjgwtyieyutlhknljsad"));
            //var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha256);
            //var token = new JwtSecurityToken(
            //    issuer: "Issuer",
            //    audience: "Audience",
            //    claims: claims,
            //    //expires: DateTime.Now.AddMinutes(30),
            //    signingCredentials: creds);

            var tokenstring = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9uYW1lIjoiODc0NzkwODE4OTgiLCJpc3MiOiJJc3N1ZXIiLCJhdWQiOiJBdWRpZW5jZSJ9.pjbZR4Ac6Axl4qrM1YucW1lokXjPshbcOZEXLm2nj3c";
            var id          = userIdentity.Id;


            return(new ObjectResult(new { result = "success", id, tokenstring }));
        }
Exemplo n.º 11
0
        public async Task <IActionResult> Offlogin([FromBody] LoginViewModel request)
        {
            #region
            //if (!ModelState.IsValid)
            //{
            //    return new ObjectResult(new { result = "all required" });
            //}
            //bool bar=false;
            //bool enables= false;
            //IQueryable<AppUser> user = (from c in db.User select c);
            //foreach (AppUser s in user)
            //{
            //    if (s.UserName == request.TelNum)
            //    {
            //        bar = true;
            //        enables = s.offenable;
            //    }
            //}

            //if (!bar)
            //{
            //    return new ObjectResult(new { result = "not found" });
            //}
            #endregion

            AppUsern reUser = await userManager.FindByNameAsync(request.TelTrue);

            if (reUser == null)
            {
                return(new ObjectResult(new { result = "not found" }));
            }
            var sign = signInManager.PasswordSignInAsync(reUser.UserName, request.Password, false, false);
            //if (enables)
            //{
            if (sign.Result.Succeeded)
            {
                #region
                //        if (bar)
                //        {
                //            var claims = new[]
                //                    {
                //                    new Claim(ClaimTypes.Name, request.TelNum)
                //                 };
                //            var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes("dfghdfghdfghjsfjgwtyieyutlhknljsad"));
                //            var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha256);
                //            var token = new JwtSecurityToken(
                //                issuer: "Issuer",
                //                audience: "Audience",
                //                claims: claims,
                //                //expires: DateTime.Now.AddMinutes(30),
                //                signingCredentials: creds);

                //            var tokenstring = new JwtSecurityTokenHandler().WriteToken(token);
                //            reUser.offenable = false;
                //            await db.SaveChangesAsync();
                //            return new OkObjectResult(new { tokenstring = tokenstring, reUser.Id });
                //        }
                #endregion
                var tokenstring = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9uYW1lIjoiODc0NzkwODE4OTgiLCJpc3MiOiJJc3N1ZXIiLCJhdWQiOiJBdWRpZW5jZSJ9.pjbZR4Ac6Axl4qrM1YucW1lokXjPshbcOZEXLm2nj3c";
                return(new OkObjectResult(new { tokenstring, reUser.Id }));
            }
            //
            //}
            return(new ObjectResult(new { result = "username or password" }));
        }
Exemplo n.º 12
0
        public async Task <IActionResult> Qiwi(string command, string txn_id, string account, double sum, string txn_date)
        {
            try
            {
                var alo = await db.Qiwipays.Where(x => x.account == account).FirstAsync();
            }
            catch
            {
                string nulaccount = $@"<?xml version=""1.0"" encoding=""UTF-8""?>
            <response>
            <osmp_txn_id>{txn_id}</osmp_txn_id>
            <result>5</result>
            <comment></comment>
            </response>";
                return(Content(nulaccount, "text/xml"));
            }

            var qaccount = await db.Qiwipays.Where(x => x.account == account).FirstAsync();

            if (command == "check")
            {
                if (qaccount.type == "search")
                {
                    string ser = $@"<?xml version=""1.0"" encoding=""UTF-8""?>
                        <response>
                        <osmp_txn_id>{txn_id}</osmp_txn_id>
                        <result>0</result>
                        <fields>
                        <field1 name='number'>{qaccount.number}</field1>
                        <field2 name='sum'>{qaccount.sum}</field2>
                        <field3 name='type'>Поиск</field3>
                        </fields>
                        <comment></comment>
                        </response>";
                    return(Content(ser, "text/xml"));
                }
                else if (qaccount.type == "all")
                {
                    string xmlString1 = $@"<?xml version=""1.0"" encoding=""UTF-8""?>
                        <response>
                        <osmp_txn_id>{txn_id}</osmp_txn_id>
                        <result>0</result>
                        <fields>
                        <field1 name='number'>{qaccount.number}</field1>
                        <field2 name='sum'>{qaccount.sum}</field2>
                        <field3 name='type'>Подписка блоков</field3>
                        </fields>
                        <comment></comment>
                        </response>";
                    return(Content(xmlString1, "text/xml"));
                }
                else
                {
                    string xmlString1 = $@"<?xml version=""1.0"" encoding=""UTF-8""?>
                        <response>
                        <osmp_txn_id>{txn_id}</osmp_txn_id>
                        <result>0</result>
                        <fields>
                        <field1 name='number'>{qaccount.number}</field1>
                        <field2 name='sum'>{qaccount.sum}</field2>
                        <field3 name='type'>{qaccount.type} ЕСКЕРТУ! НАҒЫЗ ҰБТ-ДА ЖАУАПТАРДЫҢ ШЫҒУЫНА ГАРАНТИЯ ЖОҚ! ПРОБНЫЙДЫҢ СҰРАҚТАРЫ ҚОСЫЛҒАН. ҰБТ-ДА ҚОЛДАНУҒА БОЛМАЙДЫ!</field3>
                        </fields>
                        <comment>ЕСКЕРТУ! НАҒЫЗ ҰБТ-ДА ЖАУАПТАРДЫҢ ШЫҒУЫНА ГАРАНТИЯ ЖОҚ! ПРОБНЫЙДЫҢ СҰРАҚТАРЫ ҚОСЫЛҒАН. ҰБТ-ДА ҚОЛДАНУҒА БОЛМАЙДЫ!</comment>
                        </response>";
                    return(Content(xmlString1, "text/xml"));
                }
            }
            bool pan = true;

            if (command == "pay")
            {
                if (sum < qaccount.sum)
                {
                    string menwe = $@"<?xml version=""1.0"" encoding=""UTF-8""?>
                    <response>
                    <osmp_txn_id>{txn_id}</osmp_txn_id>
                    <result>241</result>
                    <comment></comment>
                    </response>";
                    return(Content(menwe, "text/xml"));
                }
                else if (sum > qaccount.sum)
                {
                    string moree = $@"<?xml version=""1.0"" encoding=""UTF-8""?>
                    <response>
                    <osmp_txn_id>{txn_id}</osmp_txn_id>
                    <result>242</result>
                    <comment></comment>
                    </response>";
                    return(Content(moree, "text/xml"));
                }
                string   formatString = "yyyyMMddHHmmss";
                DateTime dt           = DateTime.ParseExact(txn_date, formatString, null);
                AppUsern user         = await userManager.FindByNameAsync(qaccount.number);

                if (qaccount.pan & pan)
                {
                    var pays = await db.Ofpays.Where(x => x.IdentityId == user.Id& x.type == qaccount.type).ToListAsync();

                    if (pays.Count == 0)
                    {
                        await db.Ofpays.AddAsync(new Ofpay { IdentityId = user.Id, type = qaccount.type, Price = String.Format("{0:0.##}", sum) });

                        qaccount.txn_date = dt;
                        qaccount.txn_id   = txn_id;
                        qaccount.pay      = true;
                        qaccount.sum      = sum;
                        pan = false;
                        await db.SaveChangesAsync();
                    }

                    string xmlString1 = $@"<?xml version=""1.0"" encoding=""UTF-8""?>
                    <response>
                    <osmp_txn_id>{txn_id}</osmp_txn_id>
                    <prv_txn>{qaccount.prv_txn}</prv_txn>
                    <sum>{qaccount.sum}</sum>
                    <result>0</result>
                    <comment>СҰРАҚТАРДЫҢ БАРЛЫҒЫ ШЫҒУЫНА ГАРАНТИЯ ЖОҚ! ТЕК ҚАНА ПРОБНЫЙ СҰРАҚТАРЫ!</comment>
                    </response>";
                    return(Content(xmlString1, "text/xml"));
                }

                if (qaccount.type == "search")
                {
                    var searcher = await db.Searches.FirstOrDefaultAsync(x => x.IdentityId == user.Id);

                    searcher.date     = dt;
                    searcher.count    = 0;
                    searcher.enable   = false;
                    searcher.pay      = true;
                    qaccount.txn_date = dt;
                    qaccount.txn_id   = txn_id;
                    qaccount.pay      = true;
                    qaccount.sum      = sum;
                    await db.SaveChangesAsync();

                    string sre = $@"<?xml version=""1.0"" encoding=""UTF-8""?>
                    <response>
                    <osmp_txn_id>{txn_id}</osmp_txn_id>
                    <prv_txn>{qaccount.prv_txn}</prv_txn>
                    <sum>{qaccount.sum}</sum>
                    <result>0</result>
                    <comment>search</comment>
                    </response>";
                    return(Content(sre, "text/xml"));
                }
                if (qaccount.type != "all" && qaccount.type != "search" && !qaccount.pan)
                {
                    var phpay = await db.Phtest_Pays.Where(x => x.Number == qaccount.number && x.Type == qaccount.type).ToListAsync();

                    if (phpay.Count == 0)
                    {
                        await db.Phtest_Pays.AddAsync(new Phtest_pay
                        {
                            Number   = qaccount.number,
                            Price    = qaccount.sum,
                            dateTime = dt,
                            Type     = qaccount.type
                        });

                        qaccount.txn_date = dt;
                        qaccount.txn_id   = txn_id;
                        qaccount.pay      = true;
                        qaccount.sum      = sum;
                        await db.SaveChangesAsync();
                    }

                    string phay = $@"<?xml version=""1.0"" encoding=""UTF-8""?>
                        <response>
                        <osmp_txn_id>{txn_id}</osmp_txn_id>
                        <prv_txn>{qaccount.prv_txn}</prv_txn>
                        <sum>{qaccount.sum}</sum>
                        <result>0</result>
                        <comment>{qaccount.type} ЕСКЕРТУ! НАҒЫЗ ҰБТ-ДА ЖАУАПТАРДЫҢ ШЫҒУЫНА ГАРАНТИЯ ЖОҚ! ПРОБНЫЙДЫҢ СҰРАҚТАРЫ ҚОСЫЛҒАН. ҰБТ-ДА ҚОЛДАНУҒА БОЛМАЙДЫ!</comment>
                        </response>";
                    return(Content(phay, "text/xml"));
                }

                if (qaccount.type == "all")
                {
                    var blokss = await db.Bloks.Where(x => x.IdentityId == user.Id& x.blok == qaccount.type& x.enable == true).ToListAsync();

                    var hasblok = await db.Bloks.Where(x => x.IdentityId == user.Id& x.blok == qaccount.type& x.enable == false).ToListAsync();

                    if (blokss.Count == 0 && hasblok.Count == 0)
                    {
                        await db.Bloks.AddAsync(new Blok { IdentityId = user.Id, blok = qaccount.type, enable = true, BuyDate = dt });

                        qaccount.txn_date = dt;
                        qaccount.txn_id   = txn_id;
                        qaccount.pay      = true;
                        qaccount.sum      = sum;
                        await db.SaveChangesAsync();
                    }
                    if (blokss.Count == 0 && hasblok.Count == 1)
                    {
                        var blok = await db.Bloks.FirstOrDefaultAsync(x => x.IdentityId == user.Id& x.blok == qaccount.type);

                        blok.enable  = true;
                        blok.BuyDate = dt;

                        qaccount.txn_date = dt;
                        qaccount.txn_id   = txn_id;
                        qaccount.pay      = true;
                        qaccount.sum      = sum;
                        await db.SaveChangesAsync();
                    }



                    string ble = $@"<?xml version=""1.0"" encoding=""UTF-8""?>
                        <response>
                        <osmp_txn_id>{txn_id}</osmp_txn_id>
                        <prv_txn>{qaccount.prv_txn}</prv_txn>
                        <sum>{qaccount.sum}</sum>
                        <result>0</result>
                        <comment>blok</comment>
                        </response>";
                    return(Content(ble, "text/xml"));
                }
            }
            string err = $@"<?xml version=""1.0"" encoding=""UTF-8""?>
            <response>
            <osmp_txn_id>{txn_id}</osmp_txn_id>
            <result>8</result>
            <comment></comment>
            </response>";

            return(Content(err, "text/xml"));
        }