public void AddLoaf(Loaf loaf) { //using var db = new SqlConnection(ConnectionString); //var sql = @"INSERT INTO [dbo].[Loaves]([Size],[Type],[WeightInOunces],[Price],[Sliced]) // OUTPUT inserted.Id // VALUES(@Size,@Type,@WeightInOunces,@Price,@Sliced,)"; //var id = db.ExecuteScalar<int>(sql, loaf); ////ADO.Net way ////connection.Open(); ////var command = connection.CreateCommand(); ////command.CommandText = @; ////command.Parameters.AddWithValue("Size", loaf.Size); ////command.Parameters.AddWithValue("Type", loaf.Type); ////command.Parameters.AddWithValue("WeightInOunces", loaf.WeightInOunces); ////command.Parameters.AddWithValue("Price", loaf.Price); ////command.Parameters.AddWithValue("Sliced", loaf.Sliced); ////var id = (int)command.ExecuteScalar(); //loaf.Id = id; _db.Loaves.Add(loaf); _db.SaveChanges(); }
public void CategorysMarginCoefficient_Test() { // arrange double bun_margin_coefficient_expected = 1.1; double bread_margin_coefficient_expected = 1.2; double loaf_margin_coefficient_expected = 1.3; double bagel_margin_coefficient_expected = 1.4; double pita_margin_coefficient_expected = 1.5; double delta = 0.1; // act Products bread = new Bread(); Products bagel = new Bagel(); Products bun = new Bun(); Products pita = new Pita(); Products loaf = new Loaf(); // assert Assert.AreEqual(bun_margin_coefficient_expected, bun.MarginCoefficient, delta); Assert.AreEqual(bread_margin_coefficient_expected, bread.MarginCoefficient, delta); Assert.AreEqual(loaf_margin_coefficient_expected, loaf.MarginCoefficient, delta); Assert.AreEqual(bagel_margin_coefficient_expected, bagel.MarginCoefficient, delta); Assert.AreEqual(pita_margin_coefficient_expected, pita.MarginCoefficient, delta); }
public void Add(Loaf loaf) { var sql = @"INSERT INTO [Loaves] ([Size],[Type],[WeightInOunces],[Price],[Sliced]) OUTPUT inserted.Id VALUES(@Size, @type, @weightInOunces, @Price, @Sliced)"; using var db = new SqlConnection(ConnectionString); var id = db.ExecuteScalar <int>(sql, loaf); loaf.Id = id; /*var cmd = connection.CreateCommand(); * cmd.CommandText = @"INSERT INTO [Loaves] ([Size],[Type],[WeightInOunces],[Price],[Sliced]) * OUTPUT inserted.Id * VALUES(@Size, @type, @weightInOunces, @Price, @Sliced)"; * * cmd.Parameters.AddWithValue("Size", loaf.Size); * cmd.Parameters.AddWithValue("type", loaf.Type); * cmd.Parameters.AddWithValue("weightInOunces", loaf.WeightInOunces); * cmd.Parameters.AddWithValue("Price", loaf.Price); * cmd.Parameters.AddWithValue("Sliced", loaf.Sliced); * * var id = (int)cmd.ExecuteScalar(); * * loaf.Id = id; */ //var biggestExistingId = _loaves.Max(l => l.Id); -- This functionality is handled by SQL now //loaf.Id = biggestExistingId + 1; //_loaves.Add(loaf); }
public void Add(Loaf loaf) { var sql = @"INSERT INTO [dbo].[Loaves] ([Size] ,[Type] ,[WeightInOunces] ,[Price] ,[Sliced]) OUTPUT inserted.Id VALUES (@Size,@Type,@weightInOunces,@Price,@Sliced)"; using var db = new SqlConnection("Server=localhost;Database=LoafAndStranger;Trusted_Connection=True;"); var id = db.ExecuteScalar <int>(sql, loaf); loaf.Id = id; }
public void Add(Loaf loaf) { var sql = @"INSERT INTO [Loaves] ([Size],[Type],[WeightInOunces],[Price],[Sliced]) OUTPUT inserted.Id VALUES(@Size, @type, @weightInOunces, @Price, @Sliced)"; using var db = new SqlConnection(ConnectionString); var id = db.ExecuteScalar <int>(sql, loaf); loaf.Id = id; }
public void Add(Loaf loaf) { var sql = @"INSERT INTO [dbo].[Loaves] ([Size], [Type], [WeightInOunces], [Price], [Sliced]) OUTPUT inserted.Id VALUES(@Size, @Type, @WeightInOunces, @Price, @Sliced)"; using var db = new SqlConnection(ConnectionString); //passing the whole loaf class(with all it's properties) as the substitution values for the query var id = db.ExecuteScalar <int>(sql, loaf); loaf.Id = id; }
public void Update(Loaf loaf) { using var db = new SqlConnection(ConnectionString); var sql = @"UPDATE Loaves SET Price = @price, Size = @size, WeightInOunces = @weightInOunces, Sliced = @Sliced, [Type] = @Type WHERE Id = @id"; db.Execute(sql, loaf); }
public void Update(Loaf loaf) { var sql = @"update Loaves Set Price = @price, Size = @size, WeightInOunces = @weightinounces, Sliced = @sliced, Type = @type where Id = @id"; using var db = new SqlConnection(ConnectionString); db.Execute(sql, loaf); }
public void Add(Loaf loaf) { using var connection = new SqlConnection(ConnectionString); connection.Open(); var cmd = connection.CreateCommand(); cmd.CommandText = @"INSERT INTO [Loaves] ([Size],[Type],[WeightInOunces],[Price],[Sliced]) OUTPUT inserted.Id VALUES(@Size, @type, @weightInOunces, @Price, @Sliced)"; cmd.Parameters.AddWithValue("Size", loaf.Size); cmd.Parameters.AddWithValue("type", loaf.Type); cmd.Parameters.AddWithValue("weightInOunces", loaf.WeightInOunces); cmd.Parameters.AddWithValue("Price", loaf.Price); cmd.Parameters.AddWithValue("Sliced", loaf.Sliced); var id = (int)cmd.ExecuteScalar(); loaf.Id = id; }
public void Update(Loaf loaf) { //var sql = @"update Loaves // Set Price = @price, // Size = @size, // WeightInOunces = @weightinounces, // Type = @type, // Sliced = @sliced, // Where Id = @id"; //using var db = new SqlConnection(ConnectionString); //db.Execute(sql, loaf); var existingLoaf = Get(loaf.Id); existingLoaf.Sliced = loaf.Sliced; _db.SaveChanges(); // _db.Loaves.Attach(loaf).State = Microsoft.EntityFrameworkCore.EntityState.Modified; // _db.SaveChanges(); }
Loaf MapLoaf(SqlDataReader reader) { // get each column value from the reader var id = (int)reader["Id"]; //explicit cast (throws exception) var size = (LoafSize)reader["Size"]; var type = reader["Type"] as string; // implicit cast (returns null) var price = (decimal)reader["price"]; var weightInOunces = (int)reader["weightInOunces"]; var sliced = (bool)reader["sliced"]; var createdDate = (DateTime)reader["createdDate"]; var loaf = new Loaf { Id = id, Price = price, Size = size, Sliced = sliced, Type = type, WeightInOunces = weightInOunces }; return(loaf); }
public IActionResult AddALoaf(Loaf loaf) { _repo.Add(loaf); return(Created($"api/Loaves/{loaf.Id}", loaf)); }
/// <summary> /// Разобрать строку содержащую информацию о категории /// </summary> /// <param name="input_string">Строка с информацией о категории</param> /// <param name="is_ok">Ссылка на переменную, указывающую на успешный разбор строки</param> /// <returns>Возвращает Products</returns> static Products ParseCategory(string input_string, ref bool is_ok) { //Формат //"category : CategoryName = Bread, ProductName = Волотовской, Quantity = 10;" Products product = new Bread(); int positions = input_string.LastIndexOf(':');//Определяем позицию после двоеточия string edit_string = input_string.Substring(positions + 1); //Разбиваем строку на массив строк string[] string_array = edit_string.Split(',', StringSplitOptions.RemoveEmptyEntries); //Определяем категорию к которой относится продукция foreach (var item in string_array) { //ищем if (item.IndexOf("CategoryName") == -1) //не существует, ищем дальше { continue; } //Нашли, получаем параметры string[] parameter; parameter = item.Split(new char[] { '=' }); //Разбиваем параметр на 2 части if (parameter.Length < 2) //Проверяем длину { is_ok = false; return(product); } string type = parameter[0]; string category = parameter[1]; //Проверяем, определена ли данная категория if (Products.CategoryIsExcist(category) == false) { is_ok = false; return(product); } else { switch (category) { case Products.CATEGORY_BREAD: product = new Bread(); break; case Products.CATEGORY_LOAF: product = new Loaf(); break; case Products.CATEGORY_BAGEL: product = new Bagel(); break; case Products.CATEGORY_BUN: product = new Bun(); break; case Products.CATEGORY_PITA: product = new Pita(); break; } break;//Выходим из цикла foreach } } //Получаем остальные параметры foreach (var item in string_array) { string[] parameter; parameter = item.Split(new char[] { '=' }); //Разбиваем параметр на 2 части if (parameter.Length < 2) //Проверяем длину { continue; } string type = parameter[0]; string str_value = parameter[1]; double value; switch (type) { case "ProductName": //Наименование продукции try { product.ProductName = str_value; } catch { product.ProductName = ""; } break; case "Quantity": //Количество double.TryParse(string.Join("", str_value.Where(c => char.IsDigit(c))), out value); try { str_value = str_value.Replace('.', ','); double.TryParse(str_value, out value); product.Quantity = value; } catch { product.Quantity = 0; } break; case "CategoryName": //Наименование категории try { product.CategoryName = str_value; } catch { product.CategoryName = ""; } break; } } is_ok = true; return(product); }