コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
ファイル: TestInvoice.cs プロジェクト: elugas123/SyntagmaTest
        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);
        }
コード例 #4
0
        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);
        }
コード例 #5
0
        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);
        }
コード例 #6
0
        /// <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
        }
コード例 #7
0
        public void AddDetail(long id, InvoiceDetail item)
        {
            Invoice invoiceToModify = this.GetById(id);

            item.Id = invoiceToModify.GetDetail().Count + 1;
            invoiceToModify.AddDetail(item);
        }
コード例 #8
0
        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
        }
コード例 #9
0
        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());
        }
コード例 #10
0
        /// <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);
            }
        }
コード例 #11
0
        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);
        }
コード例 #12
0
        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
        }
コード例 #13
0
        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);
        }
コード例 #14
0
        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
        }
コード例 #15
0
        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
        }
コード例 #16
0
        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);
        }
コード例 #17
0
        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
        }
コード例 #18
0
        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
        }
コード例 #19
0
        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);
        }
コード例 #20
0
        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
        }
コード例 #21
0
ファイル: InvoiceMock.cs プロジェクト: MarcosRossi/NinjaRepo
        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()
            });
        }
コード例 #22
0
        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);
        }