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 } }
/// <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)); } }
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 })); } }
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); }
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); }
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()); }
//[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 })); } } } }