private void OnUpdateSale()
        {
            using (MFSContext context = new MFSContext())
            {
                Sale order = new Sale()
                {
                    SaleId = 0
                };
                int isNewSale = 0;
                if (SelectedSale.SaleID != 0)
                {
                    isNewSale = 1;
                    order     = context.Sales.Include(o => o.User).Include(o => o.Customer).Single(o => o.SaleId == SelectedSale.SaleID);
                }
                order.Date                 = SelectedSale.Date;
                order.Customer             = context.Customers.Find(SelectedSale.CustomerId);
                order.User                 = context.Users.Find(UserLogin.Id);
                order.CodSale              = SelectedSale.CodSale;
                context.Entry(order).State = SelectedSale.SaleID == 0 ?
                                             System.Data.Entity.EntityState.Added : System.Data.Entity.EntityState.Modified;

                context.SaveChanges();


                LoadSale();
                //Nueva venta
                if (isNewSale == 0)
                {
                    SaleDetailView orderDetailView = new SaleDetailView();
                    orderDetailView.SaleId.Text = Convert.ToString(order.SaleId);
                    orderDetailView.ShowDialog();
                }
            }
        }
        private void OnUpdateProduct()
        {
            if (!ProductValidation())
            {
                return;
            }

            using (MFSContext context = new MFSContext())
            {
                Product product = new Product();
                if (SelectedProduct.Id != 0)
                {
                    product = context.Products.Include(p => p.Category).Single(p => p.ProductId == SelectedProduct.Id);
                }
                product.Name                 = SelectedProduct.Name;
                product.MinStock             = SelectedProduct.MinStock;
                product.Category             = context.Categories.Find(SelectedProduct.CategoryId);
                product.SellPrice            = SelectedProduct.SellPrice;
                product.Mesurement           = context.Measurements.Find(SelectedProduct.MeasurementId);
                context.Entry(product).State = SelectedProduct.Id == 0 ?
                                               EntityState.Added : EntityState.Modified;

                context.SaveChanges();


                LoadProduct();
                SelectedProduct = new ProductAux();
            }
        }
 private void Login_Click(object sender, RoutedEventArgs e)
 {
     if (string.IsNullOrWhiteSpace(Username.Text) && string.IsNullOrWhiteSpace(Password.Text))
     {
         MessageBox.Show("Debe rellenar los campos.", "Mensaje de error", MessageBoxButton.OK, MessageBoxImage.Error);
         return;
     }
     using (MFSContext context = new MFSContext())
     {
         var user = context.Users.Where(u => u.UserName == Username.Text && u.PassWord == PassWord.Password).FirstOrDefault();
         if (user != null)
         {
             //MessageBox.Show("Inicio de sesión exitoso", "Mensaje", MessageBoxButton.OK, MessageBoxImage.Information);
             UserLogin.Id       = user.UserId;
             UserLogin.UserName = user.Name + " " + user.LastName;
             UserLogin.Role     = user.Role.Name;
             ShowWindowsByRole(UserLogin.Role);
             this.Close();
         }
         else
         {
             MessageBox.Show("Usuario o contraseña incorrectos", "Mensaje", MessageBoxButton.OK, MessageBoxImage.Error);
         }
     }
 }
        private void OnUpdateOrder()
        {
            using (MFSContext context = new MFSContext())
            {
                Order order = new Order()
                {
                    OrderId = 0
                };
                int isNewOrder = 0;
                if (SelectedOrder.OrderID != 0)
                {
                    isNewOrder = 1;
                    order      = context.Orders.Include(o => o.User).Include(o => o.Suplier).Single(o => o.OrderId == SelectedOrder.OrderID);
                }
                order.User                 = context.Users.Find(UserLogin.Id);
                order.Date                 = SelectedOrder.Date;
                order.Suplier              = context.Supliers.Find(SelectedOrder.SuplierId);
                order.CodOrder             = SelectedOrder.CodOrder;
                context.Entry(order).State = SelectedOrder.OrderID == 0 ?
                                             EntityState.Added : EntityState.Modified;

                context.SaveChanges();


                LoadOrder();
                //Nueva order
                if (isNewOrder == 0)
                {
                    OrderDetailView orderDetailView = new OrderDetailView();
                    orderDetailView.OrderId.Text = Convert.ToString(order.OrderId);
                    orderDetailView.ShowDialog();
                }
            }
        }
        private void FacturaForm_Load(object sender, EventArgs e)
        {
            using (MFSContext context = new MFSContext())
            {
                List <SaleDetail>     saleDetails    = context.SaleDetails.Where(sd => sd.Sale.SaleId == Id && sd.Remove != 1).ToList();
                List <SaleDetailAux2> saleDetailsAux = new List <SaleDetailAux2>();
                foreach (var de in saleDetails)
                {
                    SaleDetailAux2 SaleDetailAuxi = new SaleDetailAux2()
                    {
                        ProductName  = de.Product.Name,
                        Quantity     = de.Quantity,
                        CustomerName = de.Sale.Customer.Name + " " + de.Sale.Customer.LastName,
                        Fecha        = de.Sale.Date.ToString("MM/dd/yyyy"),
                        SellPrice    = de.SellPrice,
                        UserName     = de.Sale.User.Name + " " + de.Sale.User.LastName,
                        CompanyName  = Company.Name,
                        Address      = Company.Address,
                        Phone        = Company.Phone,
                        Slogan       = Company.Slogan
                    };
                    saleDetailsAux.Add(SaleDetailAuxi);
                }

                SaleDetailAux2BindingSource.DataSource = saleDetailsAux;
            }

            this.reportViewer1.RefreshReport();
        }
        public void LoadSaleDetail()
        {
            ObservableCollection <SaleDetailAux> saleDetails = new ObservableCollection <SaleDetailAux>();

            using (MFSContext context = new MFSContext())
            {
                var data = from sd in context.SaleDetails
                           where sd.Sale.SaleId == SelectedSaleDetail.SaleId
                           select new
                {
                    SaleDetailId = sd.SaleDetailId,
                    Quantity     = sd.Quantity,
                    SellPrice    = sd.SellPrice,
                    ProductId    = sd.Product.ProductId,
                    ProductName  = sd.Product.Name,
                    SaleId       = sd.Sale.SaleId
                };

                foreach (var sa in data)
                {
                    SaleDetailAux saleDetail = new SaleDetailAux()
                    {
                        SaleDetailId = sa.SaleDetailId,
                        ProductId    = sa.ProductId,
                        ProductName  = sa.ProductName,
                        SaleId       = sa.SaleId,
                        Quantity     = sa.Quantity,
                        SellPrice    = sa.SellPrice
                    };

                    saleDetails.Add(saleDetail);
                }
            }
            SaleDetails = saleDetails;
        }
        public void LoadSale()
        {
            ObservableCollection <SaleAux> sales = new ObservableCollection <SaleAux>();

            using (MFSContext context = new MFSContext())
            {
                var data = from o in context.Sales
                           select new
                {
                    Id           = o.SaleId,
                    UserId       = o.User.UserId,
                    UserName     = o.User.Name,
                    CustomerId   = o.Customer.CustomerId,
                    CustomerName = o.Customer.Name + " " + o.Customer.LastName,
                    Date         = o.Date,
                    CodSale      = o.CodSale
                };

                foreach (var or in data)
                {
                    SaleAux order = new SaleAux();
                    order.SaleID       = or.Id;
                    order.UserId       = or.UserId;
                    order.UserName     = or.UserName;
                    order.CustomerId   = or.CustomerId;
                    order.CustomerName = or.CustomerName;
                    order.Date         = or.Date;
                    order.CodSale      = or.CodSale;

                    sales.Add(order);
                }
            }
            Sales = sales;
        }
        private void OnDeleteSale()
        {
            Sale saleSelected;

            using (MFSContext context = new MFSContext())
            {
                saleSelected        = context.Sales.Find(SelectedSale.SaleID);
                saleSelected.Remove = 1;
                ICollection <SaleDetail> orderDetail = saleSelected.SaleDetails;
                if (orderDetail != null)
                {
                    foreach (var od in orderDetail)
                    {
                        od.Remove = 1;
                        context.Entry(od).State = System.Data.Entity.EntityState.Modified;
                    }
                }

                context.Entry(saleSelected).State = System.Data.Entity.EntityState.Modified;
                context.SaveChanges();


                MessageBox.Show("Venta eliminada correctamente");
            }
        }
        public void LoadUsers()
        {
            ObservableCollection <User> categories;

            using (MFSContext context = new MFSContext())
            {
                categories = new ObservableCollection <User>(context.Users.ToList().Where(c => c.Remove != 1));
            }
            Users = categories;
        }
        public void LoadMeasurements()
        {
            ObservableCollection <Measurement> measurements;

            using (MFSContext context = new MFSContext())
            {
                measurements = new ObservableCollection <Measurement>(context.Measurements.ToList().Where(c => c.Remove != 1));
            }
            Measurements = measurements;
        }
예제 #11
0
        public void LoadCustomers()
        {
            ObservableCollection <Customer> supliers;

            using (MFSContext context = new MFSContext())
            {
                supliers = new ObservableCollection <Customer>(context.Customers.ToList().Where(c => c.Remove != 1));
            }
            Customers = supliers;
        }
        public void LoadCategories()
        {
            ObservableCollection <Category> categories;

            using (MFSContext context = new MFSContext())
            {
                categories = new ObservableCollection <Category>(context.Categories.ToList().Where(c => c.CategoryRemove != 1));
            }
            Categories = categories;
        }
예제 #13
0
 public void OnUpdateSuplier()
 {
     using (MFSContext context = new MFSContext())
     {
         context.Entry(selectedSuplier).State = (selectedSuplier.SuplierId == 0) ?
                                                System.Data.Entity.EntityState.Added :
                                                System.Data.Entity.EntityState.Modified;
         context.SaveChanges();
     }
     LoadSupliers();
 }
        public void LoadProduct()
        {
            ObservableCollection <ProductAux> products = new ObservableCollection <ProductAux>();

            using (MFSContext context = new MFSContext())
            {
                var data = from p in context.Products
                           where p.Remove != 1
                           select new
                {
                    Id              = p.ProductId,
                    Name            = p.Name,
                    CategoryId      = p.Category.CategoryId,
                    Category        = p.Category.CategoryName,
                    MinStock        = p.MinStock,
                    Remove          = p.Remove,
                    SellPrice       = p.SellPrice,
                    MeasurementId   = p.Mesurement.MeasurementId,
                    MeasurementName = p.Mesurement.Name,
                    Cost            = (context.OrderDetails.Where(o => o.Product.ProductId == p.ProductId && o.Remove != 1).Count() != 0)
                                        ? context.OrderDetails.Where(o => o.Product.ProductId == p.ProductId && o.Remove != 1).Average(o => o.Cost) : 0,
                    Stock = (context.OrderDetails.Where(o => o.Product.ProductId == p.ProductId && o.Remove != 1).Count() != 0) ?
                            (context.SaleDetails.Where(s => s.Product.ProductId == p.ProductId && s.Remove != 1).Count() != 0) ?
                            context.OrderDetails.Where(o => o.Product.ProductId == p.ProductId && o.Remove != 1).Sum(o => o.Quantity)
                            - context.SaleDetails.Where(s => s.Product.ProductId == p.ProductId && s.Remove != 1).Sum(s => s.Quantity)
                                               : context.OrderDetails.Where(o => o.Product.ProductId == p.ProductId && o.Remove != 1).Sum(o => o.Quantity)
                                               : 0
                };
                // MessageBox.Show(Convert.ToString(context.OrderDetails.First().Product.ProductId));

                foreach (var pro in data)
                {
                    ProductAux product = new ProductAux();
                    product.Id              = pro.Id;
                    product.Name            = pro.Name;
                    product.CategoryId      = pro.CategoryId;
                    product.Category        = pro.Category;
                    product.MinStock        = pro.MinStock;
                    product.SellPrice       = pro.SellPrice;
                    product.MeasurementId   = pro.MeasurementId;
                    product.Measurementname = pro.MeasurementName;
                    product.Cost            = pro.Cost;
                    product.Stock           = pro.Stock;
                    product.Remove          = pro.Remove;
                    products.Add(product);
                }
            }
            Products = products;
        }
        private void Form1_Load(object sender, EventArgs e)
        {
            List <SaleDetailAux2> saleDetails = new List <SaleDetailAux2>();

            using (MFSContext context = new MFSContext())
            {
                //var data = from sd in context.SaleDetails
                //           where sd.Sale.SaleId == SaleId
                //           select new
                //           {
                //               SaleDetailId = sd.SaleDetailId,
                //               Quantity = sd.Quantity,
                //               SellPrice = sd.SellPrice,
                //               ProductId = sd.Product.ProductId,
                //               ProductName = sd.Product.Name,
                //               SaleId = sd.Sale.SaleId,
                //               Customer = sd.Sale.Customer.Name + " " + sd.Sale.Customer.LastName,
                //               Date = sd.Sale.Date,
                //               User = sd.Sale.User.Name + " " + sd.Sale.User.LastName

                //           };

                //foreach (var sa in data)
                //{
                //    SaleDetailAux2 saleDetail = new SaleDetailAux2()
                //    {
                //        SaleDetailId = sa.SaleDetailId,
                //        ProductId = sa.ProductId,
                //        ProductName = sa.ProductName,
                //        SaleId = sa.SaleId,
                //        Quantity = sa.Quantity,
                //        SellPrice = sa.SellPrice,
                //        Customer = sa.Customer,
                //        Date = sa.Date,
                //        User = sa.User

                //    };

                //    saleDetails.Add(saleDetail);
                //}
                //MessageBox.Show(Convert.ToString(saleDetails.Count));

                //SaleDetailBindingSource.DataSource = saleDetails;
                SqlParameter Id = new SqlParameter("@OrderId", 1);
                //MessageBox.Show(Convert.ToString(context.Database.SqlQuery<SaleDetailAux2>("exec GetSaleReport @OrderId", Id).Count()));
                saleDetailAux2BindingSource.DataSource = context.Database.SqlQuery <SaleDetailAux2>("exec GetSaleReport @OrderId", Id).ToList();
            }
            this.reportViewerFactura.RefreshReport();
        }
 private void UpdateTotal()
 {
     using (MFSContext context = new MFSContext())
     {
         if (context.SaleDetails.Where(o => o.Sale.SaleId == SelectedSaleDetail.SaleId).Count() > 0)
         {
             Total = context.SaleDetails.Where(o => o.Sale.SaleId == SelectedSaleDetail.SaleId)
                     .Sum(o => o.SellPrice * o.Quantity);
         }
         else
         {
             Total = 0;
         }
     }
 }
 private void UpdateTotal()
 {
     using (MFSContext context = new MFSContext())
     {
         if (context.OrderDetails.Where(o => o.Order.OrderId == SelectedOrderDetail.OrderId).Count() > 0)
         {
             Total = context.OrderDetails.Where(o => o.Order.OrderId == SelectedOrderDetail.OrderId)
                     .Sum(o => o.Cost * o.Quantity);
         }
         else
         {
             Total = 0;
         }
     }
 }
예제 #18
0
 public void OnUpdateCustomer()
 {
     if (!CustomerValidation())
     {
         return;
     }
     using (MFSContext context = new MFSContext())
     {
         SelectedCustomer.User = context.Users.Find(UserLogin.Id);
         context.Entry(selectedCustomer).State = (selectedCustomer.CustomerId == 0) ?
                                                 System.Data.Entity.EntityState.Added :
                                                 System.Data.Entity.EntityState.Modified;
         context.SaveChanges();
     }
     LoadCustomers();
 }
 public void OnUpdateMeasurement()
 {
     if (!MeasurementValidation())
     {
         return;
     }
     using (MFSContext context = new MFSContext())
     {
         SelectedMeasurement.User = context.Users.Find(UserLogin.Id);
         context.Entry(selectedMeasurement).State = (selectedMeasurement.MeasurementId == 0) ?
                                                    System.Data.Entity.EntityState.Added :
                                                    System.Data.Entity.EntityState.Modified;
         context.SaveChanges();
     }
     LoadMeasurements();
     SelectedMeasurement = new Measurement();
 }
 public void OnUpdateUser()
 {
     if (!UserValidation())
     {
         return;
     }
     using (MFSContext context = new MFSContext())
     {
         SelectedUser.Role = context.Roles.Where(r => r.Name == ComboBoxRole.Content.ToString()).FirstOrDefault();
         context.Entry(selectedUser).State = (selectedUser.UserId == 0) ?
                                             System.Data.Entity.EntityState.Added :
                                             System.Data.Entity.EntityState.Modified;
         context.SaveChanges();
     }
     LoadUsers();
     SelectedUser = new User();
 }
 public void OnUpdateCategory()
 {
     if (!CategoryValidation())
     {
         return;
     }
     using (MFSContext context = new MFSContext())
     {
         SelectedCategory.User = context.Users.Find(UserLogin.Id);
         context.Entry(selectedCategory).State = (selectedCategory.CategoryId == 0) ?
                                                 System.Data.Entity.EntityState.Added :
                                                 System.Data.Entity.EntityState.Modified;
         context.SaveChanges();
     }
     LoadCategories();
     SelectedCategory = new Category();
 }
 public void OnLogin()
 {
     using (MFSContext context = new MFSContext())
     {
         var user = context.Users.Where(u => u.UserName == UserName && u.PassWord == PassWord).First();
         if (user != null)
         {
             //MessageBox.Show("Inicio de sesión exitoso", "Mensaje", MessageBoxButton.OK, MessageBoxImage.Information);
             UserLogin.UserName = user.Name + " " + user.LastName;
             UserLogin.Role     = user.Role.Name;
             menu.Show();
             Login = "******";
         }
         else
         {
             MessageBox.Show("Usuario o contraseña incorrectos", "Mensaje", MessageBoxButton.OK, MessageBoxImage.Error);
         }
     }
 }
        private void OnDeleteOrder()
        {
            Order orderSelected;

            using (MFSContext context = new MFSContext())
            {
                orderSelected        = context.Orders.Find(SelectedOrder.OrderID);
                orderSelected.Remove = 1;
                ICollection <OrderDetail> orderDetail = orderSelected.OrderDetail;
                if (orderDetail != null)
                {
                    foreach (var od in orderDetail)
                    {
                        od.Remove = 1;
                    }
                }
                context.Entry(orderSelected).State = EntityState.Modified;
                MessageBox.Show("Order eliminada correctamente");
            }
        }
예제 #24
0
        private void MinStockReport_Load(object sender, EventArgs e)
        {
            ICollection <Product> products;
            List <ProductReport>  productReport = new List <ProductReport>();

            using (MFSContext context = new MFSContext())
            {
                products = context.Products.ToList();
                foreach (var p in products)
                {
                    ProductReport report;


                    report = new ProductReport()
                    {
                        Id   = p.ProductId,
                        Name = p.Name,
                        Cost = (context.OrderDetails
                                .Where(o => o.Product.ProductId == p.ProductId).Count() == 0) ? 0 : context.OrderDetails
                               .Where(o => o.Product.ProductId == p.ProductId).Average(o => o.Cost),
                        Image     = Company.Image,
                        SellPrice = p.SellPrice,
                        Stock     = (context.OrderDetails.Where(o => o.Product.ProductId == p.ProductId).Count() > 0) ?
                                    context.OrderDetails.Where(o => o.Product.ProductId == p.ProductId && o.Remove != 1).Sum(o => o.Quantity) -
                                    context.SaleDetails.Where(s => s.Product.ProductId == p.ProductId && s.Remove != 1).Sum(s => s.Quantity) : 0,
                        CompanyName = Company.Name,
                        MinStock    = p.MinStock,
                        Title       = "Listado de todos los productos."
                    };
                    if (report.MinStock >= report.Stock)
                    {
                        productReport.Add(report);
                    }

                    ProductReportBindingSource.DataSource = productReport;
                    this.reportViewer1.RefreshReport();
                }
            }
        }
        public void LoadOrder()
        {
            ObservableCollection <OrderAux> orders = new ObservableCollection <OrderAux>();

            using (MFSContext context = new MFSContext())
            {
                var data = from o in context.Orders
                           //join c in context.Categories on p.Category.CategoryId equals c.CategoryId
                           join s in context.Supliers on o.Suplier.SuplierId equals s.SuplierId
                           join u in context.Users on o.User.UserId equals u.UserId
                           select new
                {
                    Id          = o.OrderId,
                    UserId      = u.UserId,
                    UserName    = u.Name,
                    SuplierId   = s.SuplierId,
                    SuplierName = s.Name,
                    Date        = o.Date,
                    CodOrder    = o.CodOrder
                };


                foreach (var or in data)
                {
                    OrderAux order = new OrderAux();
                    order.OrderID     = or.Id;
                    order.UserId      = or.UserId;
                    order.UserName    = or.UserName;
                    order.SuplierId   = or.SuplierId;
                    order.SuplierName = or.SuplierName;
                    order.Date        = or.Date;
                    order.CodOrder    = or.CodOrder;

                    orders.Add(order);
                }
            }
            Orders = orders;
        }
        public void LoadOrderDetail()
        {
            ObservableCollection <OrderDetailAux> orderDetails = new ObservableCollection <OrderDetailAux>();

            using (MFSContext context = new MFSContext())
            {
                var data = from od in context.OrderDetails
                           join p in context.Products on od.Product.ProductId equals p.ProductId
                           join o in context.Orders on od.Order.OrderId equals o.OrderId
                           where od.Order.OrderId == SelectedOrderDetail.OrderId
                           select new
                {
                    OrderDetailId = od.OrderDetailId,
                    Quantity      = od.Quantity,
                    Cost          = od.Cost,
                    ProductId     = p.ProductId,
                    ProductName   = p.Name,
                    OrderId       = o.OrderId
                };


                foreach (var or in data)
                {
                    OrderDetailAux orderDetail = new OrderDetailAux()
                    {
                        OrderDetailId = or.OrderDetailId,
                        ProductId     = or.ProductId,
                        ProductName   = or.ProductName,
                        OrderId       = or.OrderId,
                        Quantity      = or.Quantity,
                        Cost          = or.Cost
                    };

                    orderDetails.Add(orderDetail);
                }
            }
            OrderDetails = orderDetails;
        }
 private bool MeasurementValidation()
 {
     try
     {
         if (string.IsNullOrWhiteSpace(SelectedMeasurement.Name))
         {
             throw new Exception("Debe agregarle un nombre a la medida.");
         }
         using (MFSContext context = new MFSContext())
         {
             if (context.Measurements.Where(m => m.Name == SelectedMeasurement.Name).Count() > 0)
             {
                 throw new Exception("Ya existe una medida con este nombre.");
             }
         }
         return(true);
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message, "Error de validación", MessageBoxButton.OK, MessageBoxImage.Error);
         return(false);
     }
 }