Example #1
0
        private void SaveChanges(SmartMarketDB context)
        {
            try
            {
                context.SaveChanges();
            }
            catch (DbEntityValidationException ex)
            {
                var sb = new StringBuilder();

                foreach (var failure in ex.EntityValidationErrors)
                {
                    sb.AppendFormat("{0} failed validation\n", failure.Entry.Entity.GetType());
                    foreach (var error in failure.ValidationErrors)
                    {
                        sb.AppendFormat("- {0} : {1}", error.PropertyName, error.ErrorMessage);
                        sb.AppendLine();
                    }
                }

                throw new Exception(
                          "Entity Validation Failed - errors follow:\n" +
                          sb, ex
                          ); // Add the original exception as the innerException
            }
        }
Example #2
0
        /// <summary>
        /// Checks if user with given password exists in the database
        /// </summary>
        /// <param name="_username">User name</param>
        /// <param name="_password">User password</param>
        /// <returns>True if user exist and password is correct</returns>
        public bool Authenticate(string _username, string _password, string IP)
        {
            bool authenticated = false;

            using (SmartMarketDB db = new SmartMarketDB())
            {
                try
                {
                    string encodedPassword          = TextEncoding.EncodeString(_password);
                    BusinessEntities.User loginUser = db.Users
                                                      .FirstOrDefault(u => u.UserName == _username && u.Password == encodedPassword && u.Active);

                    if (loginUser == null)
                    {
                        authenticated = false;
                    }
                    else
                    {
                        authenticated = true;
                    }
                }
                catch
                {
                    authenticated = false;
                }
            }
            return(authenticated);
        }
 public SelectList GetNonEmptyCategories(string selected = "")
 {
     using (SmartMarketDB db = new SmartMarketDB())
     {
         var lstCategories = new List <SelectListItem>
         {
             new SelectListItem {
                 Selected = false, Text = "All", Value = "-1"
             }
         };
         var categories = (from p in db.Products
                           select p.SubCategory.Category).Distinct().OrderBy(c => c.CategoryName).ToList();
         ;
         foreach (var category in categories)
         {
             lstCategories.Add(new SelectListItem
             {
                 Selected = false,
                 Text     = category.CategoryName,
                 Value    = category.Id.ToString()
             });
         }
         return(new SelectList(lstCategories, "Value", "Text", selected));
     }
 }
Example #4
0
        public IHttpActionResult PlaceOrder([FromBody] OrderModel orderModel)
        {
            try
            {
                using (SmartMarketDB _db = new SmartMarketDB())
                {
                    long userId          = orderModel.order.UserId;
                    var  singleOrDefault = _db.Customers.Where(c => c.UserId == userId).SingleOrDefault();
                    if (singleOrDefault != null)
                    {
                        var customerId = singleOrDefault.Id;

                        var order = new Order {
                            CustomerId = customerId
                        };
                        order = _db.Orders.Add(order);
                        _db.SaveChanges();
                        foreach (var orderItem in orderModel.order.OrderItems)
                        {
                            orderItem.OrderId      = order.Id;
                            orderItem.PricePerItem = _db.Products.SingleOrDefault(p => p.Id == orderItem.ProductId).Price;
                            _db.OrderItems.Add(orderItem);
                        }
                        _db.SaveChanges();

                        return(Json(new { success = true, Message = "", OrderId = order.Id }));
                    }
                    return(Json(new { success = false, Message = "invalid customer", OrderId = -1 }));
                }
            }
            catch (Exception ex)
            {
                return(Json(new { success = false, Message = ex.Message, OrderId = -1 }));
            }
        }
Example #5
0
        public long GetUserId(string _username)
        {
            long userId = 0;

            using (SmartMarketDB db = new SmartMarketDB())
            {
                var user = (from u in db.Users
                            where u.UserName == _username
                            select u).SingleOrDefault();
                if (user != default(BusinessEntities.User))
                {
                    userId = user.Id;
                }
            }
            return(userId);
        }
Example #6
0
        public override bool IsUserInRole(string username, string roleName)
        {
            bool isUserInRole = false;

            if (!string.IsNullOrEmpty(username) && !string.IsNullOrEmpty(roleName))
            {
                using (SmartMarketDB db = new SmartMarketDB())
                {
                    try
                    {
                        isUserInRole = db.UserRoles
                                       .Any(obj => obj.User.UserName == username && obj.User.Active && obj.Role.Roles == roleName);
                    }
                    catch (Exception)
                    {
                        throw new Exception("IsUserInRole User: "******" Role: " + roleName);
                    }
                }
            }
            return(isUserInRole);
        }
Example #7
0
        public override string[] GetRolesForUser(string username)
        {
            List <string> _Roles = new List <string>();

            using (SmartMarketDB db = new SmartMarketDB())
            {
                if (!string.IsNullOrEmpty(username))
                {
                    try
                    {
                        _Roles = db.UserRoles
                                 .Where(obj => obj.User.UserName == username && obj.User.Active)
                                 .Select(obj => obj.Role.Roles).ToList();
                    }
                    catch (Exception)
                    {
                        throw new Exception("GetRolesForUser " + username);
                    }
                }
            }
            return(_Roles.ToArray());
        }
Example #8
0
        //[System.Web.Http.HttpPost]
        public IHttpActionResult Signup([FromBody] BusinessEntities.User user)
        {
            using (SmartMarketDB _db = new SmartMarketDB())
            {
                using (var dbContextTransaction = _db.Database.BeginTransaction())
                {
                    try
                    {
                        string encodedPassword = TextEncoding.EncodeString(user.Password);
                        user.Password = encodedPassword;
                        user          = _db.Users.Add(user);
                        _db.SaveChanges();
                        string roleName = "";
                        switch (user.UserType)
                        {
                        case UserType.Company:
                            roleName = "Company";
                            break;

                        case UserType.Customer:
                            roleName = "Customer";
                            break;

                        case UserType.EStore:
                            roleName = "Admin";
                            break;
                        }
                        if (!string.IsNullOrEmpty(roleName))
                        {
                            var role     = _db.Roles.SingleOrDefault(r => r.Roles == roleName);
                            var userRole = new UserRole
                            {
                                Role = role,
                                User = user
                            };
                            _db.UserRoles.Add(userRole);
                        }
                        _db.SaveChanges();
                        if (user.UserType == UserType.Customer)
                        {
                            var customer = new Customer
                            {
                                User     = user,
                                Gender   = Gender.Male,
                                Nikename = user.UserName
                            };
                            _db.Customers.Add(customer);
                            _db.SaveChanges();
                        }
                        dbContextTransaction.Commit();

                        Business.User _user = new Business.User();
                        return(Json(new { success = true, Message = "", UserId = _user.GetUserId(user.UserName) }));
                    }
                    catch (Exception ex)
                    {
                        dbContextTransaction.Rollback();
                        return(Json(new { success = false, Message = ex.Message + ex.StackTrace, UserId = -1 }));
                    }
                }
            }
        }