Exemplo n.º 1
0
        private User LoginUser(string username, string password)
        {
            var passwordHash = PromobileExtensions.ToHash(password);

            var loggedUser = _db.Users.FirstOrDefault(u => u.Login == username && u.Password == passwordHash);

            return(loggedUser);
        }
Exemplo n.º 2
0
        public IActionResult RegionProductsList(string regionKey)
        {
            var keySplit    = regionKey.Split("|");
            var clientLogin = $"{keySplit[0]}";
            var clientPass  = $"{keySplit[1]}";

            try
            {
                var clientUser = _db.Users.FirstOrDefault(u => u.Login == clientLogin && u.Password == PromobileExtensions.ToHash(clientPass));

                if (clientUser == null)
                {
                    throw new Exception("Nenhum item para ser listado.");
                }

                if (clientUser.UserType != UserType.ClientUser)
                {
                    throw new Exception("O usuário informado não é do tipo cliente.");
                }

                var productsList = _db.PromotionalProducts
                                   .Where(p => p.Status == Status.Active)
                                   .Where(p => p.RegionDivision == clientUser.RegionDivision)
                                   .Select(p => new
                {
                    p.Id,
                    p.Name,
                    p.FeaturedOptionalText,
                    p.ImagePath,
                    p.QrCodeString,
                    p.ProductCategory,
                    p.InCashPrice,
                    p.ForwardedPrice,
                    p.ParcelValue,
                    p.InputParcelsQuantity,
                    p.ParcelsQuantity,
                    p.YearlyTax,
                    p.MonthlyTax,
                    p.ProductHash
                })
                                   .ToList();

                var bannersList = _db.Banners
                                  .Where(b => b.Status == Status.Active)
                                  .Where(b => b.RegionDivision == clientUser.RegionDivision)
                                  .Select(b => new
                {
                    b.Id,
                    b.Name,
                    b.ImagePath,
                    b.MobileImagePath
                })
                                  .ToList();

                return(Ok(new
                {
                    status = "success",
                    productsList,
                    bannersList
                }));
            }
            catch (Exception ex)
            {
                return(Ok(new
                {
                    status = "error",
                    message = ex.Message
                }));
            }
        }