Esempio n. 1
0
        public async Task <IHttpActionResult> UserLogin(string email, string pass)
        {
            var userManager  = ApiCommon.GetUserManager(this.Request);
            var identityUser = await userManager.FindAsync(email, pass);

            if (identityUser != null)
            {
                var access_token = _apiCommon.GetOwinToken(identityUser);

                return
                    (Json(
                         new
                {
                    access_token
                }));
            }
            return(new HttpActionResult(HttpStatusCode.BadRequest, @"{""message"":""User doesn't exist.""}"));
        }
Esempio n. 2
0
        public async Task <IHttpActionResult> ChangeUserInfo(User model)
        {
            var user = ApiCommon.GetUser(HttpContext.Current.User.Identity, _db);

            if (user != null)
            {
                if (!model.IsNameValid())
                {
                    return(new HttpActionResult(HttpStatusCode.BadRequest, @"{""message"":""User name can't be blank.""}"));
                }
                if (!model.IsCityValid())
                {
                    return(new HttpActionResult(HttpStatusCode.BadRequest, @"{""message"":""Please enter a valid city.""}"));
                }
                if (!model.IsAddressValid())
                {
                    return(new HttpActionResult(HttpStatusCode.BadRequest, @"{""message"":""Please enter a valid address.""}"));
                }
                if (!model.IsPostalCodeValid())
                {
                    return(new HttpActionResult(HttpStatusCode.BadRequest, @"{""message"":""Please enter a valid postal code.""}"));
                }
                if (!model.IsCountryValid())
                {
                    return(new HttpActionResult(HttpStatusCode.BadRequest, @"{""message"":""Please enter a valid country.""}"));
                }
                if (!model.IsPhoneNumberValid())
                {
                    return(new HttpActionResult(HttpStatusCode.BadRequest, @"{""message"":""Please enter a valid phone number.""}"));
                }

                user.FirstName   = model.FirstName;
                user.LastName    = model.LastName;
                user.City        = model.City;
                user.Address     = model.Address;
                user.PostalCode  = model.PostalCode;
                user.Country     = model.Country;
                user.PhoneNumber = model.PhoneNumber;
                await _db.SaveChangesAsync();

                return(Ok());
            }
            return(new HttpActionResult(HttpStatusCode.Unauthorized, @"{""message"":""User doesn't exist.""}"));
        }
Esempio n. 3
0
        public object PaymentMonthReport(ReportFilterModel model)
        {
            using (DbContext _db = new DbContext())
            {
                var user = ApiCommon.GetUser(HttpContext.Current.User.Identity, _db);
                if (user != null && model != null)
                {
                    if (model.Month == 0 || model.Year == 0 || model.Month > 12)
                    {
                        return(new HttpActionResult(HttpStatusCode.BadRequest, @"{""message"":""Please enter a valid month and year.""}"));
                    }

                    using (var dapper = new Helpers.Dapper())
                    {
                        var payments = dapper.Connection.Query($"select * From Payments Where month(TransDate)=@month and year(TransDate)=@year and PaymentStatus=@status order by TransDate {model.SortOrder}", new { month = model.Month, year = model.Year, status = model.PaymentStatus });
                        return(payments.Select(i => new { i.Amount, i.CreditCard_CardId, i.PaymentStatus, i.TransDate }));;
                    }
                }
            }
            return(new HttpActionResult(HttpStatusCode.Unauthorized, @"{""message"":""User doesn't exist.""}"));
        }
        public async Task <IHttpActionResult> EditCreditCard(CreditCard model)
        {
            using (DbContext _db = new DbContext())
            {
                var user = ApiCommon.GetUser(HttpContext.Current.User.Identity, _db);
                if (user != null)
                {
                    if (!model.IsExpireMonthValid())
                    {
                        return(new HttpActionResult(HttpStatusCode.BadRequest, @"{""message"":""Please enter a valid month of expiration.""}"));
                    }
                    if (!model.IsExpireYearValid())
                    {
                        return(new HttpActionResult(HttpStatusCode.BadRequest, @"{""message"":""Please enter a valid year of expiration.""}"));
                    }
                    if (!model.IsHolderNameValid())
                    {
                        return(new HttpActionResult(HttpStatusCode.BadRequest, @"{""message"":""Please enter valid holder name.""}"));
                    }

                    CreditCard card = _db.CreditCards.FirstOrDefault(e => e.CardId == model.CardId && e.User.UserId == user.UserId);
                    if (card != null)
                    {
                        card.CardProvider = model.CardProvider;
                        card.ExpireMonth  = model.ExpireMonth;
                        card.ExpireYear   = model.ExpireYear;
                        card.CardNumber   = model.CardNumber;
                        card.CVVCode      = model.CVVCode;
                        card.HolderName   = model.HolderName;
                        await _db.SaveChangesAsync();

                        return(Ok());
                    }
                    return(new HttpActionResult(HttpStatusCode.Unauthorized, @"{""message"":""Credit card doesn't exist.""}"));
                }
            }
            return(new HttpActionResult(HttpStatusCode.Unauthorized, @"{""message"":""User doesn't exist.""}"));
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="CreditCardController"/> class.
 /// </summary>
 public CreditCardController()
 {
     _apiCommon = new ApiCommon();
 }
Esempio n. 6
0
        public async Task <IHttpActionResult> Register(User userModel)
        {
            if (!userModel.IsNameValid())
            {
                return(new HttpActionResult(HttpStatusCode.BadRequest, @"{""message"":""User name can't be blank.""}"));
            }
            if (!userModel.IsPasswordValid())
            {
                return(new HttpActionResult(HttpStatusCode.BadRequest, @"{""message"":""Password should be at least 8 symbols and must contain at least one number and one symbol.""}"));
            }
            if (!userModel.IsEmailValid())
            {
                return(new HttpActionResult(HttpStatusCode.BadRequest, @"{""message"":""Please enter a valid email address.""}"));
            }
            if (!userModel.IsCityValid())
            {
                return(new HttpActionResult(HttpStatusCode.BadRequest, @"{""message"":""Please enter a valid city.""}"));
            }
            if (!userModel.IsAddressValid())
            {
                return(new HttpActionResult(HttpStatusCode.BadRequest, @"{""message"":""Please enter a valid address.""}"));
            }
            if (!userModel.IsPostalCodeValid())
            {
                return(new HttpActionResult(HttpStatusCode.BadRequest, @"{""message"":""Please enter a valid postal code.""}"));
            }
            if (!userModel.IsCountryValid())
            {
                return(new HttpActionResult(HttpStatusCode.BadRequest, @"{""message"":""Please enter a valid country.""}"));
            }
            if (!userModel.IsPhoneNumberValid())
            {
                return(new HttpActionResult(HttpStatusCode.BadRequest, @"{""message"":""Please enter a valid phone number.""}"));
            }

            ApplicationUser user = new ApplicationUser
            {
                UserName       = userModel.Email,
                Email          = userModel.Email,
                EmailConfirmed = true,
                FirstName      = userModel.FirstName,
                LastName       = userModel.LastName,
            };
            var userManager = ApiCommon.GetUserManager(this.Request);

            var existingAccount = userManager.FindByName(user.UserName);

            if (existingAccount != null && existingAccount.Id != user.Id)
            {
                return(new HttpActionResult(HttpStatusCode.BadRequest, @"{""message"":""Email already exists.""}"));
            }
            IdentityResult result = await userManager.CreateAsync(user, userModel.Password);

            if (result.Succeeded)
            {
                var internalUser = new User
                {
                    AspNetUserId = user.Id,
                    FirstName    = userModel.FirstName,
                    LastName     = userModel.LastName,
                    Email        = userModel.Email,
                    CreationTime = DateTime.Now,
                    Address      = userModel.Address,
                    City         = userModel.City,
                    Country      = userModel.Country,
                    PhoneNumber  = userModel.PhoneNumber,
                    PostalCode   = userModel.PostalCode
                };
                _db.Users.Add(internalUser);
                await _db.SaveChangesAsync();

                var access_token = _apiCommon.GetOwinToken(user);
                return
                    (Json(
                         new
                {
                    access_token
                }));
            }

            return(new HttpActionResult(HttpStatusCode.BadRequest, @"{""message"":""User can't be registered.""}"));
        }
Esempio n. 7
0
 /// <summary>
 /// Initializes a new instance of the <see cref="AccountController"/> class.
 /// </summary>
 public AccountController()
 {
     _apiCommon = new ApiCommon();
     _db        = new DbContext();
 }
Esempio n. 8
0
 /// <summary>
 /// Initializes a new instance of the <see cref="PaymentController"/> class.
 /// </summary>
 public PaymentController()
 {
     _apiCommon = new ApiCommon();
 }