public async Task <LoginCustomerViewModel> Handle(LoginCustomerQuery request, CancellationToken cancellationToken)
        {
            var entity = await _context.Customers
                         .Where(e =>
                                e.Username == request.Username &&
                                e.Password == Encypt.EncryptString(request.Password))
                         .FirstOrDefaultAsync(cancellationToken);

            if (entity.Equals(null))
            {
                throw new NotFoundException(nameof(entity), request.Username);
            }

            var expiryDate = DateTime.Now;

            expiryDate = expiryDate.AddHours(9);

            entity.ExternalId       = Guid.NewGuid();
            entity.ExternalIdExpiry = expiryDate;
            _context.Update(entity);
            await _context.SaveChangesAsync();

            return(new LoginCustomerViewModel
            {
                ExternalId = entity.ExternalId
            });
        }
Пример #2
0
        static void Main(string[] args)
        {
            var admin = new Customer {
                CustomerId = 1,
                Username   = "******",
                Password   = Encypt.EncryptString("jed8703"),
                ExternalId = Guid.NewGuid()
            };

            using (var db = new PTSDbContext())
            {
                db.Remove(admin);
                db.SaveChanges();
            }
        }
        public UserLoginInfo PutAsync([FromBody] UserLoginInfo userLoginInfo)
        {
            Encypt        Eobj = new Encypt();
            UserLoginInfo user = _context.UserLoginInfo.SingleOrDefault(userdata => userdata.Email == userLoginInfo.Email);

            if (user == null)
            {
                return(null);
            }
            userLoginInfo.Password = Eobj.EncryptString(userLoginInfo.Password, "E546C8DF278CD5931069B522E695D4F2");
            UserLoginInfo EditUser = new UserLoginInfo();

            EditUser.SerialNo = user.SerialNo;
            EditUser.Email    = userLoginInfo.Email;
            EditUser.Password = userLoginInfo.Password;
            return(EditUser);
        }
        public String CheckUserAsync([Microsoft.AspNetCore.Mvc.FromBody] UserLoginInfo userLoginInfo)
        {
            Encypt encyptObj = new Encypt();
            // var user = await _context.UserLoginInfo.FindAsync(userLoginInfo.SerialNo);
            UserLoginInfo user = _context.UserLoginInfo.SingleOrDefault(userdata => userdata.Email == userLoginInfo.Email);
            var           s    = user;

            if (user == null)
            {
                return("not found");
            }
            if (encyptObj.DecryptString(user.Password, "E546C8DF278CD5931069B522E695D4F2") != userLoginInfo.Password)
            {
                return("invalid passowrd");
            }
            return("found");
        }
        public async Task <PurchaseViewModel> Handle(PurchaseCommand request, CancellationToken cancellationToken)
        {
            var data = await(from category in _context.Categories
                             join product in _context.Products
                             on category.CategoryId equals product.CategoryId
                             join stock in _context.Stocks
                             on product.ProductId equals stock.ProductId
                             join service in _context.Services
                             on stock.StockId equals service.StockId
                             join customer in _context.Customers
                             on service.CustomerId equals customer.CustomerId
                             where service.Customer.ExternalId == request.ExternalId &&
                             service.Customer.ExternalIdExpiry == DateTime.Now
                             select new
            {
                stock.Pin,
                Customer  = customer,
                StockItem = stock
            }).FirstAsync();


            if (data.Equals(null))
            {
                throw new NotFoundException("Pin Retreival", request.ExternalId);
            }

            var expiryDate = DateTime.Now;

            expiryDate.AddHours(9);

            data.Customer.ExternalIdExpiry = expiryDate;
            _context.Update(data.Customer);

            data.StockItem.Used = true;
            _context.Update(data.StockItem);

            await _context.SaveChangesAsync();

            return(new PurchaseViewModel
            {
                Pin = Encypt.DecryptString(data.Pin)
            });
        }
Пример #6
0
 /// <summary>
 /// MD5
 /// </summary>
 /// <param name="knl"></param>
 /// <param name="str"></param>
 /// <returns></returns>
 public static string MD5(this IKernel knl, string str)
 {
     return(Encypt.MD5(str));
 }