/// <summary> /// Actualizacion base de datos con los cambios de la asignación de máquinas a usuarios /// </summary> /// <param name="arrayofvalues"></param> public void SaveChangeMachineAssign(string[] arrayofvalues) { int userId = 0; int machineID = 0; for (int i = 3; i < arrayofvalues.Length; i++) { switch (i % 3) { //user id case 0: machineID = Convert.ToInt32(arrayofvalues[i]); break; //direccion de maquinaria, no se cambia case 1: break; //nombre producto case 2: userId = Convert.ToInt32(arrayofvalues[i]); //una vez recorrida la primera la primera fila agregamos el cambio en el contexto sobre la máquina Vending_Machine vending = context.Vending_Machine.Find(machineID); vending.UserAdministrator = userId; context.Vending_Machine.Update(vending); //confirmar cambios en base de datos context.SaveChanges(); break; } } }
public void DepositWrongCoinTest() { //Arrange Vending_Machine vM = new Vending_Machine(); //instance of the class int coin = 6; //Act bool result = vM.DepositCoin(coin); //Assert Assert.False(result); }
public void DepositAnAmountToPot() { //Arrange Vending_Machine vM = new Vending_Machine(); int expected = 5; //Act vM.DepositACoin(5); //Assert Assert.Equal(expected, vM.MoneyPoolPot); }
/// <summary> /// Guardado de los datos de las máquinas en la base de datos /// </summary> /// <param name="vendingMachine"></param> /// <param name="operationType"></param> public void ChangeVendingContext(Object vendingMachine, OperationType operationType) { Vending_Machine vending_Machine = vendingMachine as Vending_Machine; if (vendingMachine != null) { if (vending_Machine.Id_Machine >= 0 && vending_Machine.Machine_Model != null && vending_Machine.City != null && vending_Machine.Address != null && vending_Machine.Poblation != null) { var vendingMachineOperation = context.Vending_Machine.Find(vending_Machine.Id_Machine); if (operationType == OperationType.Update) { vendingMachineOperation.Address = vending_Machine.Address; vendingMachineOperation.City = vending_Machine.City; vendingMachineOperation.Machine_Model = vending_Machine.Machine_Model; vendingMachineOperation.Poblation = vending_Machine.Poblation; context.Vending_Machine.Update(vendingMachineOperation); } if (operationType == OperationType.Delete) { //eliminamos todos los datos de las tablas que tengan relaciones con clave foranea try { var changeElementToDelete = context.Change.Find(context.Change.Where(x => x.Id_Machine == vending_Machine.Id_Machine) .FirstOrDefault().Id_Change); //Para eliminar vending machine hay que eliminar antes change foreach (var item in context.Slots.ToList().Where(x => x.Id_Machine == vending_Machine.Id_Machine)) { context.Slots.Remove(item); } context.Change.Remove(changeElementToDelete); } catch { } finally { context.Vending_Machine.Remove(vendingMachineOperation); } } context.SaveChanges(); } } }
public void PurchaseItemTest() { //Arrange Vending_Machine vM = new Vending_Machine(); //instance of the class string productCode = "A1"; string enteredCode = "A1"; bool expected = true; //Act var result = vM.PurchaseItem(productCode, enteredCode); //Assert Assert.Equal(expected, result); }
public void DepositCoinTest() { //Arrange Vending_Machine vM = new Vending_Machine(); //instance of the class int coin = 5; //Act bool result = vM.DepositCoin(coin); vM.DepositCoin(5); //Add 5 to pot //Assert Assert.True(result); }
/// <summary> /// Actualizacion base de datos con los cambios de la tabla de las maquinas disponibles /// </summary> /// <param name="arrayofvalues"></param> public void SaveChangeData(string[] arrayofvalues) { int id = 0; string modelo = string.Empty; string ciudad = string.Empty; string direccion = string.Empty; string poblacion = string.Empty; for (int i = 6; i < arrayofvalues.Length; i++) { switch (i % 6) { //Ide de la máquina case 0: id = Convert.ToInt32(arrayofvalues[i]); break; //Modelo Máquina case 1: modelo = arrayofvalues[i]; break; //Ciudad case 2: ciudad = arrayofvalues[i]; break; //Poblacion case 3: poblacion = arrayofvalues[i]; break; //Direccion case 4: direccion = arrayofvalues[i]; break; //proceso de eliminado y modificado case 5: //una vez recorrida la primera la primera fila agregamos el cambio en el contexto Vending_Machine vending_Machine = context.Vending_Machine.Find(id); vending_Machine.Machine_Model = modelo; vending_Machine.City = ciudad; vending_Machine.Address = direccion; vending_Machine.Poblation = poblacion; if (Convert.ToInt32(arrayofvalues[0]) == -1 && arrayofvalues[1] == "eliminar" && arrayofvalues[2] == "eliminar" && arrayofvalues[3] == "eliminar" && arrayofvalues[4] == "eliminar") { ChangeVendingContext(vending_Machine, OperationType.Delete); } else { ChangeVendingContext(vending_Machine, OperationType.Update); } break; } } }