Example #1
0
        public async Task <CustomerAuthViewModel> AuthenticateAsync(string email, string password)
        {
            var passwordHashed = AuthenticateHelper.HashPassword(password);
            var customer       = await _customerRepository.AuthenticateCustomerAsync(email, passwordHashed);

            if (customer == null)
            {
                return(null);
            }
            var claims = new Claim[]
            {
                new Claim(ClaimTypes.NameIdentifier, customer.Id.ToString()),
                new Claim(ClaimTypes.Name, email),
                new Claim("Scope", "Customer")
            };
            var jwtResult = _jwtAuthManager.GenerateTokens(email, claims, DateTime.Now);

            return(new CustomerAuthViewModel
            {
                Customer = customer,
                JwtResult = jwtResult
            });
        }
Example #2
0
        public MapperProfile()
        {
            CreateMap <ManagerInfoRequest, Manager>()
            .ForMember(m => m.Password_Hash, rq => rq.MapFrom(rq => AuthenticateHelper.HashPassword(rq.Password)))
            .ForMember(m => m.Role_Id, rq => rq.MapFrom(rq => rq.RoleId));

            CreateMap <CustomerInfoRequest, Customer>()
            .ForMember(m => m.Password_Hash, rq => rq.MapFrom(rq => AuthenticateHelper.HashPassword(rq.Password)));

            CreateMap <CategoryInfoRequest, Category>();

            CreateMap <ProductInfoRequest, Product>()
            .ForMember(p => p.Regular_Price, rq => rq.MapFrom(rq => rq.RegularPrice))
            .ForMember(p => p.Discount_Price, rq => rq.MapFrom(rq => rq.DiscountPrice));

            CreateMap <ProductCategoryViewModel, ProductViewModel>()
            .ForMember(p => p.Id, pc => pc.MapFrom(pc => pc.Product_Id))
            .ForMember(p => p.Name, pc => pc.MapFrom(pc => pc.Product_Name))
            .ForMember(p => p.Created_At, pc => pc.MapFrom(pc => pc.Created_At))
            .ForMember(p => p.Discount_Price, pc => pc.MapFrom(pc => pc.Discount_Price))
            .ForMember(p => p.Regular_Price, pc => pc.MapFrom(pc => pc.Regular_Price))
            .ForMember(p => p.Updated_At, pc => pc.MapFrom(pc => pc.Updated_At))
            .ForMember(p => p.Categories, pc => pc.Ignore());

            CreateMap <ProductCategoryViewModel, CategoryViewModel>()
            .ForMember(c => c.Id, pc => pc.MapFrom(pc => pc.Category_Id))
            .ForMember(c => c.Name, pc => pc.MapFrom(pc => pc.Category_Name))
            .ForMember(c => c.Created_At, pc => pc.MapFrom(pc => pc.Category_Created_At))
            .ForMember(c => c.Products, pc => pc.Ignore());

            _ = CreateMap <IGrouping <int, ProductCategoryViewModel>, CategoryViewModel>()
                .ForMember(c => c.Id, gr => gr.MapFrom(gr => gr.Key))
                .ForMember(c => c.Name, gr => gr.MapFrom(gr => gr.First().Category_Name))
                .ForMember(c => c.Created_At, gr => gr.MapFrom(gr => gr.First().Category_Created_At))
                //.ForMember(c => c.Products, gr => gr.MapFrom(gr => gr.ToList()));
                .ForMember(c => c.Products, gr => gr.MapFrom(gr => gr.First().Product_Name == null ? new List <ProductCategoryViewModel>() : gr.ToList()));

            CreateMap <IGrouping <int, ProductCategoryViewModel>, ProductViewModel>()
            .ForMember(p => p.Id, gr => gr.MapFrom(gr => gr.Key))
            .ForMember(p => p.Name, gr => gr.MapFrom(gr => gr.First().Product_Name))
            .ForMember(p => p.Regular_Price, gr => gr.MapFrom(gr => gr.First().Regular_Price))
            .ForMember(p => p.Discount_Price, gr => gr.MapFrom(gr => gr.First().Discount_Price))
            .ForMember(p => p.Created_At, gr => gr.MapFrom(gr => gr.First().Created_At))
            .ForMember(p => p.Updated_At, gr => gr.MapFrom(gr => gr.First().Updated_At))
            //.ForMember(p => p.Categories, gr => gr.MapFrom(gr => gr.ToList()));
            .ForMember(p => p.Categories, gr => gr.MapFrom(gr => gr.First().Category_Name == null ? new List <ProductCategoryViewModel>() : gr.ToList()));


            CreateMap <CategoryViewModel, Category>();

            CreateMap <ProductViewModel, OrderItemsViewModel>()
            .ForMember(oi => oi.Product_Id, p => p.MapFrom(p => p.Id))
            .ForMember(oi => oi.Quantity, p => p.MapFrom(p => p.Quantity))
            .ForMember(oi => oi.Item_Price, p => p.MapFrom(p => p.Quantity * (p.Regular_Price - p.Discount_Price)));

            CreateMap <OrderItemsViewModel, OrderItems>().ReverseMap();

            CreateMap <ProductViewModel, OrderItems>()
            .ForMember(oi => oi.Product_Id, p => p.MapFrom(p => p.Id))
            .ForMember(oi => oi.Quantity, p => p.MapFrom(p => p.Quantity))
            .ForMember(oi => oi.Item_Price, p => p.MapFrom(p => p.Regular_Price - p.Discount_Price));
        }