//---------- FORM CONSTRUCTOR ----------//
        public Form_Detail_Invoice(string bookCode, int idInvoice)
        {
            //--- Initialize ---//
            InitializeComponent();
            System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance);
            //ConfigureServices();
            this.bookCode  = bookCode;
            this.idInvoice = idInvoice;
            qLInvoiceBLL   = new QLInvoiceBLL();

            //--- Load Data ---//
            if (bookCode != "")
            {
                invoiceDetailVM        = qLInvoiceBLL.InfoAddInvoice(bookCode);
                tb_CreateDate.Text     = DateTime.Now.ToString("dd/MM/yyyy");
                tb_LastUpdateDate.Text = DateTime.Now.ToString("dd/MM/yyyy");
                lb_InvoiceID.Text      = "Invoice ID: ...";
                tb_BookingCode.Text    = bookCode;
                lb_Usercode.Text      += QLUserBLL.stoUser.UserCode;
            }
            else if (idInvoice != 0)
            {
                invoiceDetailVM        = qLInvoiceBLL.GetDetail(idInvoice);
                tb_CreateDate.Text     = invoiceDetailVM.InvCreatedate.ToString("dd/MM/yyyy");
                tb_LastUpdateDate.Text = invoiceDetailVM.InvUpdatedate.ToString("dd/MM/yyyy");
                lb_InvoiceID.Text      = "Invoice ID: " + invoiceDetailVM.InvCode.ToString();
                tb_BookingCode.Text    = invoiceDetailVM.BookCode;
                lb_Usercode.Text      += invoiceDetailVM.UserCode;
            }
            LoadData();
        }
        public ActionResult UpdateDetail(InvoiceDetailVM detail)
        {
            //por somplicidad se elimina y se crea uno nuevo en ves de actualizarlo
            GetInvoiceManager().GetById(detail.IdInvoice).DeleteDetail(detail.Id);
            GetInvoiceManager().GetById(detail.IdInvoice).AddDetail(detail.ToInvoiceDetail());

            return(RedirectToAction("Details", new { id = detail.IdInvoice }));
        }
        /// <summary>
        /// Muestra pantalla para creacion de un detalle
        /// </summary>
        /// <param name="idInvoice"></param>
        /// <returns></returns>
        public ActionResult CreateDetail(long idInvoice)
        {
            var det = new InvoiceDetailVM()
            {
                IdInvoice = idInvoice
            };

            return(View("NewDetail", det));
        }
 public static InvoiceDetail ToInvoiceDetail(this InvoiceDetailVM source)
 {
     return(new InvoiceDetail()
     {
         Amount = source.Amount,
         Description = source.Description,
         Id = source.Id,
         UnitPrice = source.UnitPrice,
         InvoiceId = source.IdInvoice
     });
 }
Exemplo n.º 5
0
        public void AddInvoice(InvoiceDetailVM invoiceDetailVM)
        {
            Invoice invoice = new Invoice();

            mapper.Map(invoiceDetailVM, invoice);
            try
            {
                _invoiceDALManageFacade.AddInvoice(invoice);
            }
            catch (Exception e)
            {
            }
        }
Exemplo n.º 6
0
 public InvoiceDetailVM InfoAddInvoice(string bookCode)
 {
     try
     {
         Booking booking = _invoiceDALManageFacade.FindBookingForInvoice(bookCode);
         if (booking == null)
         {
             throw new ArgumentException("Wrong Code");
         }
         InvoiceDetailVM invoiceDetailVM = new InvoiceDetailVM
         {
             InvIdbook       = booking.IdBook,
             BookBookDate    = booking.BookBookdate,
             BookCheckindate = booking.BookCheckindate,
             BookChecoutdate = booking.BookCheckoutdate,
             CliCode         = booking.BookIdclientNavigation.CliCode,
             CliName         = booking.BookIdclientNavigation.CliName,
             CliPhone        = booking.BookIdclientNavigation.CliPhone,
             CliGmail        = booking.BookIdclientNavigation.CliGmail,
         };
         if (booking.BookStatus == "Checkin")
         {
             invoiceDetailVM.TotalPrice = booking.BookTotalprice;
             invoiceDetailVM.InvStatus  = "Total";
         }
         else
         {
             invoiceDetailVM.TotalPrice = booking.BookDeposit;
             invoiceDetailVM.InvStatus  = "Deposit";
         }
         int durationDate = invoiceDetailVM.BookChecoutdate.Subtract(invoiceDetailVM.BookCheckindate).Days;
         foreach (Room room in _invoiceDALManageFacade.FindRoomByIdBook(booking.IdBook))
         {
             invoiceDetailVM.ListRoom.Add(new Invoice_RoomVM
             {
                 Name     = room.RoomName,
                 Price    = room.RoomIdroomtypeNavigation.RotyCurrentprice,
                 RoomType = room.RoomIdroomtypeNavigation.RotyName,
                 Duration = durationDate,
                 Amount   = room.RoomIdroomtypeNavigation.RotyCurrentprice * durationDate
             });
         }
         return(invoiceDetailVM);
     }
     catch (Exception)
     {
         throw;
     }
 }
Exemplo n.º 7
0
        // GET: section1/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            var invoice = db.invoice.Include(m => m.customer).Include(m => m.invoicedetail).Where(m => m.invoiceid == id).FirstOrDefault();

            if (invoice == null)
            {
                return(HttpNotFound());
            }

            // View Model
            var model = new InvoiceVM();

            // Header
            model.CustomerID      = invoice.customer.customerid.ToString("D5");
            model.CustomerName    = invoice.customer.name;
            model.CustomerAddress = invoice.customer.address;
            model.InvoiceID       = invoice.invoiceid.ToString("D5");
            model.AddDate         = String.Format("{0:yyyy/MM/dd HH:mm:ss}", invoice.adddate);
            model.Currency        = invoice.currency1.description;
            ViewBag.IntInvoiceID  = invoice.invoiceid;

            // Detail
            var invoiceDetailList = invoice.invoicedetail;

            foreach (var invoiceDetail in invoiceDetailList)
            {
                var detailVM = new InvoiceDetailVM();
                detailVM.Description = invoiceDetail.item.description;
                detailVM.ItemCode    = invoiceDetail.itemcode;
                detailVM.Price       = (decimal)invoiceDetail.price;
                detailVM.Qty         = (int)invoiceDetail.quantity;
                model.Detail.Add(detailVM);
            }

            return(View(model));
        }
Exemplo n.º 8
0
        // GET: section1/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            var invoice = db.invoice.Include(m => m.customer).Include(m => m.invoicedetail).Where(m => m.invoiceid == id).FirstOrDefault();

            if (invoice == null)
            {
                return(HttpNotFound());
            }

            var model = new InvoiceVM();

            // Header
            model.CustomerID = invoice.customerid.ToString();
            model.Currency   = invoice.currencycode;

            // Detail
            foreach (var detail in invoice.invoicedetail)
            {
                var detailVM = new InvoiceDetailVM();
                detailVM.ItemCode    = detail.itemcode;
                detailVM.Description = detail.item.description;
                detailVM.Qty         = (int)detail.quantity;
                detailVM.Price       = (decimal)detail.price;
                model.Detail.Add(detailVM);
            }

            ViewBag.CustomerList = new SelectList(db.customer, "customerid", "name");
            ViewBag.CurrencyList = new SelectList(db.currency, "currencycode", "description");
            ViewBag.ItemList     = new SelectList(db.item, "itemcode", "description");
            ViewBag.InvoiceID    = id;
            return(View(model));
        }
Exemplo n.º 9
0
        public InvoiceDetailVM GetDetail(int idinvoice)
        {
            try
            {
                Invoice         invoice         = _invoiceDALManageFacade.FindInvoiceById(idinvoice);
                InvoiceDetailVM invoiceDetailVM = mapper.Map <InvoiceDetailVM>(invoice);
                Booking         booking         = invoice.InvIdbookNavigation;
                invoiceDetailVM.BookCheckindate = booking.BookCheckindate;
                invoiceDetailVM.BookChecoutdate = booking.BookCheckoutdate;
                invoiceDetailVM.BookBookDate    = booking.BookBookdate;
                invoiceDetailVM.BookCode        = booking.BookCode;
                invoiceDetailVM.CliName         = booking.BookIdclientNavigation.CliName;
                invoiceDetailVM.CliCode         = booking.BookIdclientNavigation.CliCode;
                invoiceDetailVM.CliPhone        = booking.BookIdclientNavigation.CliPhone;
                invoiceDetailVM.CliGmail        = booking.BookIdclientNavigation.CliGmail;
                invoiceDetailVM.UserCode        = booking.BookIduserNavigation.UserCode;

                int durationDate = invoiceDetailVM.BookChecoutdate.Subtract(invoiceDetailVM.BookCheckindate).Days;
                foreach (Room room in _invoiceDALManageFacade.FindRoomByIdBook(invoice.InvIdbookNavigation.IdBook))
                {
                    invoiceDetailVM.ListRoom.Add(new Invoice_RoomVM
                    {
                        Name     = room.RoomName,
                        Price    = room.RoomIdroomtypeNavigation.RotyCurrentprice,
                        RoomType = room.RoomIdroomtypeNavigation.RotyName,
                        Duration = durationDate,
                        Amount   = room.RoomIdroomtypeNavigation.RotyCurrentprice * durationDate
                    });
                }
                return(invoiceDetailVM);
            }
            catch (Exception)
            {
                throw;
            }
        }
Exemplo n.º 10
0
 public ActionResult CreateDetail(InvoiceDetailVM detail)
 {
     GetInvoiceManager().GetById(detail.IdInvoice).AddDetail(detail.ToInvoiceDetail());
     return(RedirectToAction("Details", new { id = detail.IdInvoice }));
 }