public ActionResult Create([Bind(Include = "Id,Title,CreatedOn,Active,Notes")] RSOrder rsorder) { if (ModelState.IsValid) { db.Orders.Add(rsorder); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(rsorder)); }
public int CreateReceipt(int id, [FromBody] IEnumerable <int> orderItemIds) { try { RSReceipt receipt = new RSReceipt(); RSOrder order = db.Orders.Find(id); receipt.Order = order; receipt.User = db.Users.Find((User.Identity as RSUser).Id); var orderItems = orderItemIds.Select(oiid => db.OrderItems.Include("Product.Stocks.Stock").SingleOrDefault(oi => oi.Id == oiid)); if (orderItems.All(oi => oi != null ? oi.State < 2 : false)) { foreach (var orderItem in orderItems) { orderItem.Receipt = receipt; //Product was used, modify stock quantity foreach (var stockItem in orderItem.Product.Stocks) { stockItem.Stock.Quantity -= stockItem.Amount; } orderItem.State = (int)RSOrderItemState.Paid; } } else { return(-1); } db.Receipts.Add(receipt); db.SaveChanges(); return(receipt.Id); } catch (Exception ex) { return(-1); } }
public static void SeedData() { RSDbContext context = new RSDbContext(); Member member; Role[] roles; if (context.Members.Count() == 0) { member = new Member { MemberGuid = Guid.NewGuid(), UserName = "******", Email = "*****@*****.**", Profile = new Profile { FirstName = "Admin", LastName = "Root", Description = "Application Administrator", Phone = "", Address = "", Building = "", Floor = "", Office = "" }, Password = new Password { Hash = "BB595D807F9615796C9B99A52CE4E8F07347C899", Salt = "sVGQGTu+CZH8axS6QWNMm3IZ6PdKA89HE2Ju3vs0LK8=" } }; RoleSet user = new RoleSet { Name = "Users" }; RoleSet powerUser = new RoleSet { Name = "Power Users" }; RoleSet admin = new RoleSet { Name = "Administrators" }; roles = new Role[] { new Role { Name = "Can_Access_Application", Description = "Can access this application", }, new Role { Name = "Can_Access_Control_Panel", Description = "Can access Control Panel", }, new Role { Name = "Can_Access_Home_Controller", Description = "Can access Control's Panel Home Page", }, new Role { Name = "Can_Access_Member_Controller", Description = "Can access Member Settings", }, new Role { Name = "Can_Create_Member", Description = "Can add members", }, new Role { Name = "Can_Edit_Member", Description = "Can edit member's details", }, new Role { Name = "Can_Delete_Member", Description = "Can remove members", }, new Role { Name = "Can_Access_Role_Controller", Description = "Can access Role Settings", }, new Role { Name = "Can_Create_Role_Set", Description = "Can add roles", }, new Role { Name = "Can_Edit_Role_Set", Description = "Can edit role's settings", }, new Role { Name = "Can_Delete_Role_Set", Description = "Can remove roles" } }; int currentRoles = context.Roles.Count() > 0 ? (context.Roles.Count() - 1) : 0; foreach (Role role in roles) { context.Roles.Add(role); } List<RoleSetting> adminRoles = new List<RoleSetting>(); foreach (Role role in roles) { RoleSetting roleValue = new RoleSetting(); roleValue.Role = role; roleValue.IsActive = true; adminRoles.Add(roleValue); } admin.Roles = adminRoles; List<RoleSetting> powerUserRoles = new List<RoleSetting>(); foreach (Role role in roles) { RoleSetting roleValue = new RoleSetting(); roleValue.Role = role; roleValue.IsActive = true; powerUserRoles.Add(roleValue); } powerUser.Roles = powerUserRoles; List<RoleSetting> userRoles = new List<RoleSetting>(); foreach (Role role in roles) { RoleSetting roleValue = new RoleSetting(); roleValue.Role = role; roleValue.IsActive = false; userRoles.Add(roleValue); } user.Roles = userRoles; foreach (RoleSet item in new RoleSet[] { admin, powerUser, user }) { context.RoleSets.Add(item); } member.RoleSet = admin; context.Members.Add(member); context.SaveChanges(); } }
}//factory method - design pattern public void Save() { _dbContext.SaveChanges(); }