private void Init() { //Agregamos nuevo registro a la base para la realización de pruebas. this._db.Add(new Invoice() { Id = 4, Type = Invoice.Types.A.ToString() }); this._db.Add(new Invoice() { Id = 1000, Type = Invoice.Types.A.ToString() }); this._db.Add(new Invoice() { Id = 1002, Type = Invoice.Types.B.ToString() }); Invoice invoice3 = new Invoice() { Id = 1001, Type = Invoice.Types.A.ToString() }; invoice3.AddDetail(new InvoiceDetail() { Id = 1, InvoiceId = 3, Amount = 22, Description = "Venta varias", UnitPrice = 98.1 }); this._db.Add(invoice3); this._db.Add(new Invoice() { Id = 1004, Type = Invoice.Types.A.ToString() }); Invoice invoice5 = new Invoice() { Id = 1003, Type = Invoice.Types.A.ToString() }; invoice5.AddDetail(new InvoiceDetail() { Id = 1001, InvoiceId = 5, Amount = 22, Description = "Venta varias", UnitPrice = 98.1 }); invoice5.AddDetail(new InvoiceDetail() { Id = 1002, InvoiceId = 5, Description = "Venta insumos varios", Amount = 14, UnitPrice = 4.33 }); invoice5.AddDetail(new InvoiceDetail() { Id = 1003, InvoiceId = 5, Description = "Venta insumos tóner", Amount = 5, UnitPrice = 87 }); this._db.Add(invoice5); }
public void InsertNewDetailInvoice() { InvoiceManager manager = new InvoiceManager(); //id =>1007 because 1006 is the first test method and fail. long id = 1007; Invoice invoice = new Invoice() { Id = id, Type = Invoice.Types.A.ToString() }; invoice.AddDetail(new InvoiceDetail() { Id = id, InvoiceId = id, Description = "Venta insumos varios", Amount = 14, UnitPrice = 4.33 }); invoice.AddDetail(new InvoiceDetail() { Id = id, //Same FK InvoiceId = id, Description = "Venta insumos tóner", Amount = 5, UnitPrice = 87 }); manager.Insert(invoice); Invoice result = manager.GetById(id); Assert.AreEqual(invoice, result); }
public void InsertNewDetailInvoice() { InvoiceManager manager = new InvoiceManager(); long id = 1007; Invoice invoice = new Invoice() { Id = id, Type = Invoice.Types.A.ToString() }; invoice.AddDetail(new InvoiceDetail() { Id = id, InvoiceId = id, Description = "Venta insumos varios", Amount = 14, UnitPrice = 4.33 }); invoice.AddDetail(new InvoiceDetail() { Id = id, InvoiceId = 6, Description = "Venta insumos tóner", Amount = 5, UnitPrice = 87 }); manager.Insert(invoice); Invoice result = manager.GetById(id); Assert.AreEqual(invoice, result); }
private void Init() { this._db.Add(new Invoice() { Id = 4, Type = Invoice.Types.A.ToString() }); this._db.Add(new Invoice() { Id = 1000, Type = Invoice.Types.A.ToString() }); this._db.Add(new Invoice() { Id = 1002, Type = Invoice.Types.B.ToString() }); Invoice invoice3 = new Invoice() { Id = 1003, Type = Invoice.Types.A.ToString() }; invoice3.AddDetail(new InvoiceDetail() { Id = 1, InvoiceId = 1003, Amount = 22, Description = "Venta varias", UnitPrice = 98.1 }); this._db.Add(invoice3); this._db.Add(new Invoice() { Id = 1004, Type = Invoice.Types.A.ToString() }); Invoice invoice5 = new Invoice() { Id = 1008, Type = Invoice.Types.A.ToString() }; invoice5.AddDetail(new InvoiceDetail() { Id = 1001, InvoiceId = 1008, Amount = 22, Description = "Venta varias", UnitPrice = 98.1 }); invoice5.AddDetail(new InvoiceDetail() { Id = 1002, InvoiceId = 1008, Description = "Venta insumos varios", Amount = 14, UnitPrice = 4.33 }); invoice5.AddDetail(new InvoiceDetail() { Id = 1003, InvoiceId = 1008, Description = "Venta insumos tóner", Amount = 5, UnitPrice = 87 }); this._db.Add(invoice5); }
public void InsertNewInvoice() { InvoiceManager manager = new InvoiceManager(); long id = 1006; Invoice invoice = new Invoice() { Id = id, Type = Invoice.Types.A.ToString(), #region "Por los cambios en el modelo" CustomerName = "Juan", PointOfSale = 1, Number = 1, Date = DateTime.Now #endregion }; #region "Por los cambios en el modelo" invoice.AddDetail(new InvoiceDetail { Amount = 1, Description = "Venta genérica", Id = 1, InvoiceId = id, UnitPrice = 100, }); #endregion manager.Insert(invoice); Invoice result = manager.GetById(id); Assert.AreEqual(invoice, result); }
/// <summary> /// Updates the detail. /// </summary> /// <param name="id">The identifier.</param> /// <param name="detail">The detail.</param> /// <exception cref="Exception">The invoice doesn't exists (id {id}).</exception> public void UpdateDetail(long id, IList <InvoiceDetail> detail) { /* * Este método tiene que reemplazar todos los items del detalle de la factura * por los recibidos por parámetro */ #region Escribir el código dentro de este bloque if (this.Exists(id)) { Invoice _invoice = GetById(id); _invoice.DeleteDetails(); detail.ToList().ForEach(x => { _invoice.AddDetail(x); }); } else { throw new Exception($"The invoice doesn't exists (id {id})."); } #endregion Escribir el código dentro de este bloque }
public void AddDetail(long id, InvoiceDetail item) { Invoice invoiceToModify = this.GetById(id); item.Id = invoiceToModify.GetDetail().Count + 1; invoiceToModify.AddDetail(item); }
public void UpdateDetail(long id, IList <InvoiceDetail> detail) { /* * Este método tiene que reemplazar todos los items del detalle de la factura * por los recibidos por parámetro */ #region Escribir el código dentro de este bloque if (!this._mock.Exists(id)) { throw new Exception("No existe Factura"); } //Busco la factura por el id dado por parametro en el mock Invoice Factura = this._mock.GetById(id); /*Por cada Detalle de factura recibido: * Borro el detalle de la factura s/id * Agrego el detalle de la factura actualizado. */ foreach (InvoiceDetail sinvD in detail) { if (Factura.ExistsDetail(sinvD.Id)) { Factura.DeleteDetail(sinvD.Id); } // Se agrega a la factura si no existe. Factura.AddDetail(sinvD); } #endregion Escribir el código dentro de este bloque }
public void UpdateInvoiceDetail() { //ARRANGE InvoiceManager manager = new InvoiceManager(); long id = 1003; Invoice invoice = new Invoice() { Id = id, Type = Types.A.ToString() }; var detail1 = new InvoiceDetail() { Id = 1, Invoice = invoice, Description = "Venta insumos varios", Amount = 14, UnitPrice = 4.33 }; invoice.AddDetail(detail1); manager.Insert(invoice); //ACT IList <InvoiceDetail> detail = new List <InvoiceDetail>(); var detail2 = new InvoiceDetail() { Id = 2, Invoice = invoice, Description = "Venta insumos tóner", Amount = 5, UnitPrice = 87 }; var detail3 = new InvoiceDetail() { Id = 3, Invoice = invoice, Description = "Venta insumos tóner", Amount = 5, UnitPrice = 87 }; detail.Add(detail2); detail.Add(detail3); manager.UpdateDetail(id, detail); Invoice result = manager.GetById(id); //ASSERT Assert.AreEqual(false, result.GetDetail().Contains(detail1)); Assert.AreEqual(true, result.GetDetail().Contains(detail2)); Assert.AreEqual(true, result.GetDetail().Contains(detail3)); CollectionAssert.AreEqual(result.GetDetail().ToList(), detail.ToList()); }
/// <summary> /// Se recibe el Numero de factura y lista de detalles a guardar. /// </summary> /// <param name="id"></param> /// <param name="detail"></param> public void CreateDetail(long id, IList <InvoiceDetail> details) { Invoice invoice = this.GetById(id); foreach (var det in details) { invoice.AddDetail(det); } }
public void InsertNewDetailInvoice() { InvoiceManager manager = new InvoiceManager(); long id = 10006; Invoice invoice = new Invoice() { Id = id, Type = Invoice.Types.A.ToString(), #region "Por los cambios en el modelo" CustomerName = "Juan", PointOfSale = 1, Number = 1, Date = DateTime.Now #endregion }; invoice.AddDetail(new InvoiceDetail() { Id = id, InvoiceId = id, Description = "Venta insumos varios", Amount = 14, UnitPrice = 4.33 }); invoice.AddDetail(new InvoiceDetail() { Id = id, InvoiceId = 6, Description = "Venta insumos tóner", Amount = 5, UnitPrice = 87 }); manager.Insert(invoice); Invoice result = manager.GetById(id); Assert.AreEqual(invoice, result); }
public void DeleteInvoice() { /* * 1- Eliminar la factura con id=4 * 2- Comprobar de que la factura con id=4 ya no exista * 3- La prueba tiene que mostrarse que se ejecuto correctamente */ #region Escribir el código dentro de este bloque InvoiceManager manager = new InvoiceManager(); if (!manager.Exists(4)) { Invoice invoice = new Invoice() { Id = 4, Type = Invoice.Types.A.ToString(), #region "Por los cambios en el modelo" CustomerName = "Juan", PointOfSale = 1, Number = 1, Date = DateTime.Now #endregion }; #region "Por los cambios en el modelo" invoice.AddDetail(new InvoiceDetail { Amount = 1, Description = "Venta genérica", Id = 1, InvoiceId = 4, UnitPrice = 100, }); #endregion manager.Insert(invoice); } Assert.IsTrue(manager.Exists(4)); manager.Delete(4); Assert.IsFalse(manager.Exists(4)); #endregion Escribir el código dentro de este bloque }
public static Invoice ToInvoice(this InvoiceVM source) { var invoice = new Invoice() { Id = source.Id, Type = source.InvoiceType }; if (source.Details.Count > 0) { source.Details.ToList().ForEach(item => invoice.AddDetail(item.ToInvoiceDetail()) ); } return(invoice); }
public void UpdateDetail(long id, IList <InvoiceDetail> detail) { /* * Este método tiene que reemplazar todos los items del detalle de la factura * por los recibidos por parámetro */ #region codigo implementado Invoice invoiceToModify = this.GetById(id); invoiceToModify.DeleteDetails(); foreach (InvoiceDetail invoicedetail in detail) { invoiceToModify.AddDetail(invoicedetail); } #endregion codigo implementado }
public void UpdateDetail(long id, IList <InvoiceDetail> detail) { /* * Este método tiene que reemplazar todos los items del detalle de la factura * por los recibidos por parámetro */ #region Escribir el código dentro de este bloque if (Exists(id)) { Invoice invoice = this.GetById(id); invoice.DeleteDetails(); invoice.AddDetail(detail); } #endregion Escribir el código dentro de este bloque }
public Invoice ToModel() { var sInvoice = new Invoice(); sInvoice.Id = this.InvoiceId; sInvoice.Type = this.Type; foreach (var sInvDetail in InvoiceDetail) { sInvoice.AddDetail(new InvoiceDetail { Id = sInvDetail.DetailID, InvoiceId = sInvDetail.InvoiceId, UnitPrice = sInvDetail.UnitPrice, Amount = sInvDetail.Amount }); } return(sInvoice); }
public void UpdateDetail(long id, IList <InvoiceDetail> detail) { /* * Este método tiene que reemplazar todos los items del detalle de la factura * por los recibidos por parámetro */ #region Escribir el código dentro de este bloque this._mock.DeleteDetail(id); Invoice _invoice = new Invoice(); _invoice = _mock.GetById(id); foreach (InvoiceDetail item in detail) { _invoice.AddDetail(item); } #endregion Escribir el código dentro de este bloque }
public void UpdateDetail(long id, IList <InvoiceDetail> detail) { /* * Este método tiene que reemplazar todos los items del detalle de la factura * por los recibidos por parámetro */ #region Escribir el código dentro de este bloque //throw new NotImplementedException(); //Realizamos una query para obtener el objeto a actualizar. Invoice obj = this._mock.GetById(id); //Eliminamos todos sus detalles, ya que procederemos a sobreescribirlos. obj.DeleteDetails(); //Recorremos la lista de detalles nuevos y añadimos uno por uno al objeto. foreach (InvoiceDetail item in detail) { obj.AddDetail(item); } #endregion Escribir el código dentro de este bloque }
public void InertNewItemInvoice() { InvoiceManager manager = new InvoiceManager(); long id = 1009; Invoice invoice = new Invoice() { Id = id, Type = Invoice.Types.A.ToString() }; invoice.AddDetail(new InvoiceDetail() { InvoiceId = id, Amount = 10, Description = "Item de prueba", Id = 14344, UnitPrice = 20.50 }); manager.Insert(invoice); Invoice result = manager.GetById(id); Assert.AreEqual(invoice, result); }
public void DeleteInvoice() { /* * 1- Eliminar la factura con id=4 * 2- Comprobar de que la factura con id=4 ya no exista * 3- La prueba tiene que mostrarse que se ejecuto correctamente */ #region Escribir el código dentro de este bloque //ARRANGE InvoiceManager manager = new InvoiceManager(); var id = 3; Invoice invoice3 = new Invoice() { Id = id, Type = Types.A.ToString() }; invoice3.AddDetail(new InvoiceDetail() { Id = id, Invoice = invoice3, Description = "Venta insumos varios", Amount = 14, UnitPrice = 4.33 }); manager.Insert(invoice3); id = 4; Invoice invoice4 = new Invoice() { Id = id, Type = Types.B.ToString() }; invoice4.AddDetail(new InvoiceDetail() { Id = id, Invoice = invoice4, Description = "Venta insumos varios", Amount = 14, UnitPrice = 4.33 }); id = 5; Invoice invoice5 = new Invoice() { Id = id, Type = Types.C.ToString() }; invoice4.AddDetail(new InvoiceDetail() { Id = id, Invoice = invoice5, Description = "Venta insumos varios", Amount = 14, UnitPrice = 4.33 }); manager.Insert(invoice5); //ACT manager.Delete(invoice4.Id); //ASSERT Assert.AreEqual(invoice3, manager.GetById(invoice3.Id)); Assert.AreEqual(null, manager.GetById(invoice4.Id)); Assert.AreEqual(invoice5, manager.GetById(invoice5.Id)); #endregion Escribir el código dentro de este bloque }
private void Init() { this._db.Add(new Invoice() { Id = 1000, InvoiceNumber = 1000, Type = Invoice.Types.A.ToString() }); this._db.Add(new Invoice() { Id = 1002, InvoiceNumber = 1002, Type = Invoice.Types.B.ToString() }); Invoice invoice3 = new Invoice() { Id = 1003, InvoiceNumber = 1003, Type = Invoice.Types.A.ToString() }; invoice3.AddDetail(new InvoiceDetail() { Id = 1, InvoiceId = 1003, Amount = 22, Description = "Venta varias", UnitPrice = 98.1 }); this._db.Add(invoice3); this._db.Add(new Invoice() { Id = 1004, InvoiceNumber = 1004, Type = Invoice.Types.A.ToString() }); //Must be 1005 PK because In Db Exist this PK in other row. Invoice invoice5 = new Invoice() { Id = 1005, InvoiceNumber = 1005, Type = Invoice.Types.A.ToString() }; //InvoiceId FK must be Id invoice5 obnject invoice5.AddDetail(new InvoiceDetail() { Id = 1001, InvoiceId = 1005, Amount = 22, Description = "Venta varias", UnitPrice = 98.1 }); invoice5.AddDetail(new InvoiceDetail() { Id = 1002, InvoiceId = 1005, Description = "Venta insumos varios", Amount = 14, UnitPrice = 4.33 }); invoice5.AddDetail(new InvoiceDetail() { Id = 1003, InvoiceId = 1005, Description = "Venta insumos tóner", Amount = 5, UnitPrice = 87 }); this._db.Add(invoice5); //Se agrega Invoice with Id =4 for Unit Test Proyect this._db.Add(new Invoice() { Id = 4, InvoiceNumber = 1006, Type = Invoice.Types.A.ToString() }); }
private void Init() { this._db.Add(new Invoice() { Id = 1000, Type = Invoice.Types.A.ToString() }); Invoice invoiceB = new Invoice() { Id = 1002, Type = Invoice.Types.B.ToString(), CustomerName = "Máximo Luca", Date = DateTime.Now, Number = 1000, PointOfSale = 1 }; invoiceB.AddDetail(new InvoiceDetail { Amount = 10, Description = "Venta genérica", Id = 1, InvoiceId = 1002, UnitPrice = 895.60 }); this._db.Add(invoiceB); Invoice invoice3 = new Invoice() { Id = 1003, Type = Invoice.Types.A.ToString() }; invoice3.AddDetail(new InvoiceDetail() { Id = 1, InvoiceId = 3, Amount = 22, Description = "Venta varias", UnitPrice = 98.1 }); this._db.Add(invoice3); this._db.Add(new Invoice() { Id = 1004, Type = Invoice.Types.A.ToString() }); Invoice invoice5 = new Invoice() { Id = 1005, Type = Invoice.Types.A.ToString() }; invoice5.AddDetail(new InvoiceDetail() { Id = 1001, InvoiceId = 5, Amount = 22, Description = "Venta varias", UnitPrice = 98.1 }); invoice5.AddDetail(new InvoiceDetail() { Id = 1002, InvoiceId = 5, Description = "Venta insumos varios", Amount = 14, UnitPrice = 4.33 }); invoice5.AddDetail(new InvoiceDetail() { Id = 1003, InvoiceId = 5, Description = "Venta insumos tóner", Amount = 5, UnitPrice = 87 }); this._db.Add(invoice5); }