예제 #1
0
        // Método para insertar venta

        private void btInsertBuy_Click(object sender, EventArgs e)
        {
            bool isValid = ValidateField();

            if (isValid)
            {
                SellTicket sellTicket = new SellTicket()
                {
                    Amount         = Convert.ToDecimal(this.txtInsertAmount.Text),
                    Price          = Convert.ToDecimal(this.txtInsertTotal.Text),
                    SellTicketDate = DateTime.Parse(this.dtDateIn.Text),
                    SellTicketId   = Guid.NewGuid(),
                    Products       = _products,
                    ClientId       = new Guid(this.ClientId.Text),
                    UserId         = new Guid(this.UserId.Text)
                };

                bool hasBeenInserted = BusinessSell.InsertTicket(sellTicket);

                if (hasBeenInserted)
                {
                    CleanFieldsInserted();
                    MessageBox.Show("Venta insertada correctamente");
                    this.dtBuyTickets.DataSource = BusinessSell.GetAllSellTickets().ToList();
                }
                else
                {
                    MessageBox.Show("Error al insertar venta");
                }
            }
        }
 public void Create(SellTicket sellTicket)
 {
     if (!Check(sellTicket.NameExcursion, sellTicket.SellTime))
     {
         db.SellTickets.Add(sellTicket);
     }
 }
        private void BtnSellTicket_Click(object sender, EventArgs e)
        {
            SellTicket sellTicket = new SellTicket(this.employee);

            sellTicket.Visible = true;
            this.Visible       = false;
        }
 public void Delete(SellTicket sellTicket)
 {
     if (Check(sellTicket.NameExcursion, sellTicket.SellTime))
     {
         db.SellTickets.Remove(
             db.SellTickets.FirstOrDefault(
                 x => (x.NameExcursion == sellTicket.NameExcursion) &&
                 (x.SellTime == sellTicket.SellTime)));
     }
 }
예제 #5
0
        private void SellDeleteClick(object sender, EventArgs e)
        {
            SellTicket sellTicket = new SellTicket();

            sellTicket.NameExcursion = _sellForm.NameExcrusion;
            sellTicket.PriceTicket   = _sellForm.PriceTicket;
            sellTicket.SellTime      = _sellForm.SellTime;
            sellTicket.TimeStart     = _sellForm.TimeStart;
            sellTicket.TypeTicket    = _sellForm.TypeTicket;
            unitOfWork.RepositorySellTicket.Delete(sellTicket);
            _sellForm.AllSalles = unitOfWork.RepositorySellTicket.SummSellTicket(_sellForm.SelectDate);
        }
예제 #6
0
        // Método privado para confirmar una inserción

        private static bool HasBeenInserted(Guid sellTicketInserted)
        {
            using (Model _context = new Model())
            {
                SellTicket sellTicket = _context.SellTickets.Find(sellTicketInserted);
                if (sellTicket != null)
                {
                    return(true);
                }

                return(false);
            }
        }
        public void Update(SellTicket sellTicket)
        {
            if (Check(sellTicket.NameExcursion, sellTicket.SellTime))
            {
                BindingList <SellTicket> SellTickets = GetAll();

                foreach (SellTicket item in SellTickets)
                {
                    if ((sellTicket.NameExcursion == item.NameExcursion) &&
                        (sellTicket.SellTime == item.SellTime))
                    {
                        item.NameExcursion = sellTicket.NameExcursion;
                        item.PriceTicket   = sellTicket.PriceTicket;
                        item.SellTime      = sellTicket.SellTime;
                        item.TimeStart     = sellTicket.TimeStart;
                        item.TypeTicket    = sellTicket.TypeTicket;
                    }
                }
            }
        }
        private void SellTicketClick(object sender, EventArgs e)
        {
            SellTicket            sellTicket            = new SellTicket();
            ScheduleExcursionItem scheduleExcursionItem = new ScheduleExcursionItem();

            sellTicket.NameExcursion = _mainView.SelectMainTableTypeExcursion;
            sellTicket.PriceTicket   = _mainView.PriceTickets;
            sellTicket.SellTime      = DateTime.Now;
            sellTicket.TimeStart     = _mainView.SelectMainTableTimeStart;
            sellTicket.TypeTicket    = _mainView.TypeTicket;
            unitOfWork.RepositorySellTicket.Create(sellTicket);
            scheduleExcursionItem.TicketsLeft   = _mainView.SelectMainTableTicketLeft - 1;
            scheduleExcursionItem.InitialCost   = _mainView.SelectMainTableInitialCost;
            scheduleExcursionItem.TimeFinish    = _mainView.SelectMainTableTimeFinish;
            scheduleExcursionItem.TimeStart     = _mainView.SelectMainTableTimeStart;
            scheduleExcursionItem.TypeExcursion = _mainView.SelectMainTableTypeExcursion;
            scheduleExcursionItem.Venue         = _mainView.SelectMainTableVenue;
            unitOfWork.RepositoryScheduleExcursionItem.Update(scheduleExcursionItem);
            //MessageBox.Show("Билет продан на '" + sellTicket.NameExcursion + "' " + sellTicket.TypeTicket + " по цене "+ sellTicket.PriceTicket.ToString());
        }
예제 #9
0
        // Método para eliminar una venta

        public static bool DeleteSellTicket(Guid id)
        {
            try
            {
                using (Model _context = new Model())
                {
                    SellTicket sellTicket = _context.SellTickets.Find(id);

                    if (sellTicket != null)
                    {
                        foreach (var item in sellTicket.Products)
                        {
                            Stock stock = _context.Stocks.Where(x => x.ProductId.Equals(item.ProductId)).FirstOrDefault();
                            stock.DateOut      = null;
                            stock.SellTicketId = null;

                            Product product = _context.Products.Find(item.ProductId);
                            if (product != null)
                            {
                                product.Quantity++;
                            }
                        }

                        _context.SellTickets.Attach(sellTicket);
                        _context.SellTickets.Remove(sellTicket);
                        _context.SaveChanges();

                        return(true);
                    }

                    return(false);
                }
            }
            catch (Exception ex)
            {
                return(false);

                throw ex;
            }
        }
예제 #10
0
        // Método para registrar una nueva venta

        public static bool InsertTicket(SellTicket sellTicket)
        {
            try
            {
                using (Model _context = new Model())
                {
                    IEnumerable <Cashier> cashiers = _context.Cashiers.Where(x => x.Close == false).ToList();
                    Cashier currentCashier         = cashiers.FirstOrDefault();

                    if (!cashiers.Any())
                    {
                        return(false);
                    }

                    var virtualTicket = new SellTicket
                    {
                        UserId         = sellTicket.UserId,
                        ClientId       = sellTicket.ClientId,
                        Amount         = sellTicket.Amount,
                        Price          = sellTicket.Price,
                        SellTicketDate = sellTicket.SellTicketDate,
                        SellTicketId   = sellTicket.SellTicketId,
                        CashierId      = currentCashier?.CashierId
                    };


                    if (currentCashier != null && !currentCashier.Close)
                    {
                        _context.SellTickets.Add(virtualTicket);
                        currentCashier.Amount = currentCashier.Amount + Convert.ToDouble(sellTicket.Price);
                        currentCashier.ToBank = currentCashier.Amount - 100;
                        _context.SaveChanges();
                    }

                    foreach (var item in sellTicket.Products)
                    {
                        Stock stock = _context.Stocks.Where(x => x.ProductId.Equals(item.ProductId)).FirstOrDefault();
                        stock.SellTicketId = sellTicket.SellTicketId;
                        stock.DateOut      = DateTime.Now;

                        Product product = _context.Products.Find(item.ProductId);
                        if (product != null)
                        {
                            product.Quantity--;
                        }
                        _context.SaveChanges();
                    }
                }

                if (HasBeenInserted(sellTicket.SellTicketId))
                {
                    return(true);
                }

                return(false);
            }
            catch (DbEntityValidationException e)
            {
                return(false);

                throw new DbEntityValidationException(e.ToString());
            }
            catch (Exception e)
            {
                return(false);

                throw new Exception(e.ToString());
            }
        }