public ActionResult PlaceOrder() { List <OrderDetailsModel> objitemlist; TableInformationModel omodel = new TableInformationModel(); ItemController ic = new ItemController(); int Ordermainid = 0; if (Session["CartData"] != null) { objitemlist = (List <OrderDetailsModel>)Session["CartData"]; omodel = (TableInformationModel)Session["TableInfo"]; var data = ic.AddItemMain(omodel.TableNumber, objitemlist.Sum(x => x.Amount)); if (data.Count() > 0) { Ordermainid = data.ToList().FirstOrDefault().OrderMainId; foreach (var item in objitemlist) { item.OrderMainId = Ordermainid; ic.AddItemDetails(item); } } } return(RedirectToAction("OrderPlaced", new { OrderId = Ordermainid })); }
public static List <TableInformationModel> GetTablesFromRepository(DatabaseInfo dbInfo, bool includeViews = false) { if (dbInfo.DataConnection != null) { dbInfo.DataConnection.Open(); dbInfo.ConnectionString = DataProtection.DecryptString(dbInfo.DataConnection.EncryptedConnectionString); } if (dbInfo.DatabaseType == DatabaseType.Npgsql) { return(EnvDteHelper.GetNpgsqlTableNames(dbInfo.ConnectionString, includeViews)); } if (dbInfo.DatabaseType == DatabaseType.Mysql) { return(EnvDteHelper.GetMysqlTableNames(dbInfo.ConnectionString, includeViews)); } if (dbInfo.DatabaseType == DatabaseType.Oracle) { return(EnvDteHelper.GetOracleTableNames(dbInfo.ConnectionString, includeViews)); } using (var repository = RepositoryHelper.CreateRepository(dbInfo)) { var allPks = repository.GetAllPrimaryKeys(); var tableList = repository.GetTableNamesForExclusion(); var tables = new List <TableInformationModel>(); foreach (var table in tableList) { var hasPrimaryKey = allPks.Any(m => m.TableName == table.TableName); var name = string.IsNullOrEmpty(table.Schema) ? table.TableName : $"[{table.Schema}].[{table.Name}]"; var info = new TableInformationModel(name, includeViews ? true : hasPrimaryKey, includeViews ? !hasPrimaryKey : false); tables.Add(info); } if (includeViews) { var views = repository.GetAllViews(); foreach (var view in views) { var info = new TableInformationModel(view.ViewName, true, true); tables.Add(info); } } return(tables.OrderBy(l => l.Name).ToList()); } }
public void Constructor_CorrectCreation() { // Arrange var table = "dbo.Album"; var hasPrimaryKey = true; // Act var ti = new TableInformationModel(table, hasPrimaryKey); // Assert Assert.AreEqual("dbo.Album", ti.Name); Assert.IsTrue(ti.HasPrimaryKey); }
public void PropertyChanged_HasPrimaryKey_SameValue() { // Arrange var propertyChangedInvoked = false; var name = "dbo.Album"; var hasPrimaryKey = true; var ti = new TableInformationModel(name, hasPrimaryKey); ti.PropertyChanged += (sender, args) => propertyChangedInvoked = true; // Act ti.HasPrimaryKey = hasPrimaryKey; // Assert Assert.IsFalse(propertyChangedInvoked); }
public void PropertyChanged_HasPrimaryKey_DifferentValue() { // Arrange var changedProperties = new List <string>(); var name = "Album"; var hasPrimaryKey = true; var ti = new TableInformationModel(name, hasPrimaryKey); ti.PropertyChanged += (sender, args) => changedProperties.Add(args.PropertyName); // Act ti.HasPrimaryKey = false; // Assert Assert.AreEqual(1, changedProperties.Count); Assert.AreEqual(nameof(TableInformationModel.HasPrimaryKey), changedProperties[0]); Assert.IsFalse(ti.HasPrimaryKey); }
public void PropertyChanged_Name_DifferentValue() { // Arrange var changedProperties = new List <string>(); var name = "Album"; var hasPrimaryKey = true; var ti = new TableInformationModel(name, hasPrimaryKey); ti.PropertyChanged += (sender, args) => changedProperties.Add(args.PropertyName); // Act ti.Name = "bar"; // Assert Assert.AreEqual(1, changedProperties.Count); Assert.IsTrue(changedProperties.Contains(nameof(TableInformationModel.Name))); Assert.AreEqual("bar", ti.Name); }
public ActionResult AddItemToCart(int itemId, int Quantity) { List <OrderDetailsModel> objitemlist; TableInformationModel omodel = new TableInformationModel(); ItemController ic = new ItemController(); ItemModel objItemModel = new ItemModel(); var itemdata = ic.GetItems(itemId); if (itemdata.Count() > 0) { objItemModel = itemdata.ToList().FirstOrDefault(); } int intAmount = 0; intAmount = Quantity * objItemModel.ItemRate; omodel = (TableInformationModel)Session["TableInfo"]; if (Session["CartData"] != null) { objitemlist = (List <OrderDetailsModel>)Session["CartData"]; if (objitemlist.Where(x => x.ItemId == itemId).Count() > 0) { var objitemalreadyexists = objitemlist.Where(x => x.ItemId == itemId).FirstOrDefault(); objitemalreadyexists.Quantity = objitemalreadyexists.Quantity + Quantity; objitemalreadyexists.Amount = objitemalreadyexists.Quantity * objItemModel.ItemRate; //objitemlist.Add(new OrderDetailsModel { ItemId = itemId, Quantity = Quantity, ItemRate = objItemModel.ItemRate, TableNumber = omodel.TableNumber, Amount = intAmount, ItemModel = objItemModel }); } else { objitemlist.Add(new OrderDetailsModel { ItemId = itemId, Quantity = Quantity, ItemRate = objItemModel.ItemRate, TableNumber = omodel.TableNumber, Amount = intAmount, ItemModel = objItemModel }); } } else { objitemlist = new List <OrderDetailsModel>(); objitemlist.Add(new OrderDetailsModel { ItemId = itemId, Quantity = Quantity, ItemRate = objItemModel.ItemRate, TableNumber = omodel.TableNumber, Amount = intAmount, ItemModel = objItemModel }); } Session["CartData"] = objitemlist; return(Json("Item Added to cart", JsonRequestBehavior.DenyGet)); }
public void PropertyChanged_IsSelected_SaveValue() { // Arrange var propertyChangedInvoked = false; var tim = new TableInformationModel("dbo.Album", true); var vm = new TableInformationViewModel { Model = tim, IsSelected = true }; vm.PropertyChanged += (sender, args) => propertyChangedInvoked = true; // Act vm.IsSelected = true; // Assert Assert.IsFalse(propertyChangedInvoked); }
public void SelectTables_EmptyCollection([Values(true, false)] bool hasTables) { // Arrange var osa = Mock.Of <IOperatingSystemAccess>(); var fsa = Mock.Of <IFileSystemAccess>(); ITableInformationViewModel CreateTableInformationViewModelMockObject() { var mock = new Mock <ITableInformationViewModel>(); mock.SetupAllProperties(); return(mock.Object); } IPickTablesViewModel vm = new PickTablesViewModel(osa, fsa, CreateTableInformationViewModelMockObject); var c = new TableInformationModel[0]; ITableInformationViewModel[] tt = null; if (hasTables) { tt = GetTestViewModels(); foreach (var table in tt) { table.IsSelected = false; vm.Tables.Add(table); } } // Act vm.SelectTables(c); // Assert if (hasTables) { CollectionAssert.AreEqual(tt, vm.Tables); Assert.IsTrue(vm.Tables.All(m => m.IsSelected == false)); } else { Assert.IsEmpty(vm.Tables); } }
public void PropertyChanged_IsSelected_DifferentValue() { // Arrange var changedProperties = new List <string>(); var tim = new TableInformationModel("dbo.Album", true); var vm = new TableInformationViewModel { Model = tim, IsSelected = true }; vm.PropertyChanged += (sender, args) => changedProperties.Add(args.PropertyName); // Act vm.IsSelected = false; // Assert Assert.AreEqual(1, changedProperties.Count); Assert.AreEqual(nameof(TableInformationViewModel.IsSelected), changedProperties[0]); }
internal static List <TableInformationModel> GetMysqlTableNames(string connectionString, bool includeViews) { var result = new List <TableInformationModel>(); using (var mysqlConn = new MySqlConnection(connectionString)) { mysqlConn.Open(); var tables = GetMysqlTables(mysqlConn, mysqlConn.Database); string schema = mysqlConn.Database; if (schema != "information_schema") { foreach (string table in tables) { bool hasPrimaryKey = HasMysqlPrimaryKey(schema, table, mysqlConn); var info = new TableInformationModel(table, includeViews ? true : hasPrimaryKey, includeViews ? !hasPrimaryKey : false); result.Add(info); } } } return(result.OrderBy(l => l.Name).ToList()); }
public void AddTables_EmptyCollection() { // Arrange var osa = Mock.Of <IOperatingSystemAccess>(); var fsa = Mock.Of <IFileSystemAccess>(); ITableInformationViewModel CreateTableInformationViewModelMockObject() { var mock = new Mock <ITableInformationViewModel>(); mock.SetupAllProperties(); return(mock.Object); } IPickTablesViewModel vm = new PickTablesViewModel(osa, fsa, CreateTableInformationViewModelMockObject); var c = new TableInformationModel[0]; // Act vm.AddTables(c); // Assert Assert.IsEmpty(vm.Tables); }
internal static List <TableInformationModel> GetNpgsqlTableNames(string connectionString, bool includeViews) { var result = new List <TableInformationModel>(); using (var npgsqlConn = new NpgsqlConnection(connectionString)) { npgsqlConn.Open(); var tablesDataTable = npgsqlConn.GetSchema("Tables"); var constraints = npgsqlConn.GetSchema("Constraints"); foreach (DataRow row in tablesDataTable.Rows) { var primaryKey = constraints .AsEnumerable() .Where(myRow => myRow.Field <string>("table_name") == row["table_name"].ToString() && myRow.Field <string>("table_schema") == row["table_schema"].ToString() && myRow.Field <string>("constraint_type") == "PRIMARY KEY") .FirstOrDefault(); var info = new TableInformationModel(row["table_schema"].ToString() + "." + row["table_name"].ToString(), includeViews ? true : primaryKey != null, includeViews ? primaryKey == null : false); result.Add(info); } if (includeViews) { var viewsDataTable = npgsqlConn.GetSchema("Views"); foreach (DataRow row in viewsDataTable.Rows) { var info = new TableInformationModel(row["table_schema"].ToString() + "." + row["table_name"].ToString(), true, true); result.Add(info); } } } return(result.OrderBy(l => l.Name).ToList()); }