コード例 #1
0
        public IActionResult EmailResetPassword(ResetPasswordModel resetPasswordModel)
        {
            var  userId   = int.Parse(User.Claims.First(s => s.Type == "id").Value);
            var  result   = new Result <string>();
            Type userType = typeof(User);
            var  user     = _context.User.FirstOrDefault(x => x.Id == userId);

            if (user != null)
            {
                user.Password = resetPasswordModel.Password;
            }
            try
            {
                _context.Update(user);
                _context.SaveChanges();
            }
            catch (Exception ex)
            {
                result.IsSuccess    = false;
                result.ErrorMessage = ex.ToString();
                return(BadRequest(result));
            }

            result.IsSuccess = true;
            return(Ok(result));
        }
コード例 #2
0
        private async void DoWork(object state)
        {
            var carts = await _context.Cart.Where(x => x.IsExpired == 0 && x.IsPay == 0).ToListAsync();

            foreach (var cart in carts)
            {
                DateTime dateTime   = (DateTime)cart.CreateOn;
                DateTime expireDate = dateTime.AddMinutes(11);
                DateTime now        = toNZTimezone(DateTime.UtcNow);
                if (DateTime.Compare(expireDate, now) < 0)
                {
                    cart.IsExpired = 1;
                    _context.Cart.Update(cart);
                    var prodtimes = await _context.ProductTimetable.Where(x => x.CartId == cart.CartId).ToListAsync();

                    if (prodtimes == null)
                    {
                        break;
                    }
                    foreach (var prodtime in prodtimes)
                    {
                        prodtime.IsActive = 0;
                        _context.ProductTimetable.Update(prodtime);
                    }
                }
            }
            _context.SaveChanges();
        }
コード例 #3
0
        //[Authorize]
        //[ValidateAntiForgeryToken]
        //[Route("ModifyInfo")]
        public async Task <ActionResult <UserContactInfo> > ModifyInfo(int id, [FromBody] UserContactInfoModel userContactInfoModel)
        {
            //var result = new Result<string>();
            var result = new Result <UserContactInfo>();

            var user = await _context.UserContactInfo.Where(x => x.UserId == id).FirstOrDefaultAsync();

            var updateSubscribe = await _context.User.FirstAsync(x => x.Id == id);

            if (user == null)
            {
                UserContactInfo userContactInfo = new UserContactInfo();
                _mapper.Map(userContactInfoModel, userContactInfo);

                await _context.UserContactInfo.AddAsync(userContactInfo);
            }
            else
            {
                user.FirstName    = userContactInfoModel.FirstName;
                user.LastName     = userContactInfoModel.LastName;
                user.PhoneNumber  = userContactInfoModel.PhoneNumber;
                user.Company      = userContactInfoModel.Company;
                user.Comments     = userContactInfoModel.Comments;
                user.Website      = userContactInfoModel.Website;
                user.SocialMedia  = userContactInfoModel.SocialMedia;
                user.Nzbn         = userContactInfoModel.Nzbn;
                user.BusinessInfo = userContactInfoModel.BusinessInfo;
                _context.UserContactInfo.Update(user);
            }
            updateSubscribe.IsSubscribe = userContactInfoModel.IsSubscribe;
            updateSubscribe.Discount    = userContactInfoModel.Discount;
            _context.User.Update(updateSubscribe);

            try
            {
                await UserSubscribe(userContactInfoModel);

                _context.SaveChanges();
                result.Data = user;
            }
            catch (Exception ex)
            {
                result.IsSuccess    = false;
                result.ErrorMessage = ex.ToString();
                return(BadRequest(result));
            }

            result.IsSuccess = true;
            return(Ok(result));
        }
コード例 #4
0
        public async Task <ResponseOutput> ResponseOutput(string result, string userid)
        {
            string PxPayUserId = _configuration.GetSection("WindCave:PxPayUserId").Value;//.AppSettings["PxPayUserId"];
            string PxPayKey    = _configuration.GetSection("WindCave:PxPayKey").Value;
            //string PxPayKey = ConfigurationManager.AppSettings["PxPayKey"];

            PxPay WS = new PxPay(PxPayUserId, PxPayKey);

            ResponseOutput response     = WS.ProcessResponse(result);
            var            payment      = UpdatePaymentFromResponse(response);
            var            cart         = _context.Cart.Where(x => x.CartId == payment.CardId).First();
            var            contact      = _context.Contact.Where(x => x.ContactId == cart.ContactId).First();
            var            producttimes = _context.ProductTimetable.Where(x => x.CartId == payment.CardId).ToList();
            var            saleprods    = _context.CartProd.Where(x => x.CartId == payment.CardId && x.SaleProdId != null).ToList();
            var            cartProd     = GetCartProds(payment.CardId);

            if (payment.Success == 1)
            {
                cart.IsPay         = 1;
                cart.CartStatusId  = 1;
                cart.RentalPaidFee = Convert.ToDecimal(payment.AmountSettlemen);
            }
            if (payment.Success == 0)
            {
                cart.IsExpired = 1;
                foreach (var producttime in producttimes)
                {
                    producttime.IsActive = 0;
                    _context.ProductTimetable.Update(producttime);
                }
                foreach (CartProd saleProd in saleprods)
                {
                    var saleProdToUpdate = await _context.SaleProducts.Where(x => x.SaleProdId == saleProd.SaleProdId).FirstOrDefaultAsync();

                    saleProdToUpdate.AvailableStock += saleProd.Quantity;
                    _context.SaleProducts.Update(saleProdToUpdate);
                }
                Popup popup = await _context.Popups.Where(x => x.Coupon == cart.Coupon).FirstOrDefaultAsync();

                if (popup != null)
                {
                    popup.IsValid = 1;
                    _context.Popups.Update(popup);
                }
            }
            _context.Payment.Update(payment);
            _context.Cart.Update(cart);

            await _context.SaveChangesAsync();

            CartModel cartModel = new CartModel
            {
                CartId         = cart.CartId,
                Location       = cart.Location,
                Price          = cart.Price,
                SavedAmount    = cart.SavedAmount,
                DeliveryFee    = cart.DeliveryFee,
                DepositFee     = cart.DepositFee,
                DepositPaidFee = cart.DepositPaidFee,
                RentalPaidFee  = cart.RentalPaidFee,
                IsPickup       = cart.IsPickup,
                EventStartDate = (DateTime)cart.EventStartDate,
                EventEndDate   = (DateTime)cart.EventEndDate,
                CartProd       = cartProd,
                Contact        = contact,
            };

            if (payment.Success == 1 && cart.IsEmailSend != 1)
            {
                SendCartEmail(cartModel);
                cart.IsEmailSend = 1;
                _context.Cart.Update(cart);
                _context.SaveChanges();
            }

            return(response);
        }