Ejemplo n.º 1
0
        public void BtnActualizarProducto(object sender, RoutedEventArgs e)
        {
            if (string.IsNullOrWhiteSpace(MarcaTextBox.Text) != true && string.IsNullOrWhiteSpace(ModeloTextBox.Text) != true && string.IsNullOrWhiteSpace(PrecioTextBox.Text) != true)
            {
                //Get data from view
                _Producto.Marca               = MarcaTextBox.Text;
                _Producto.Modelo              = ModeloTextBox.Text;
                _Producto.Precio_Venta        = int.Parse(PrecioTextBox.Text);
                _Producto.Credito_Disponible  = ComboBoxCredito.Text == "Si" ? 1 : 0;
                _Producto.Imei_Disponible     = ComboBoxImei.Text == "Si" ? 1 : 0;
                _Producto.Garantia_Disponible = ComboBoxGarantia.Text == "Si" ? 1 : 0;


                ICollection <Especificacion_producto> i_especificacion_Productos = EspecificacionList as ICollection <Especificacion_producto>;

                //Remove previous especs
                //_Producto.Especificaciones_producto.Clear();

                //Set grid data
                i_especificacion_Productos.Zip(_Producto.Especificaciones_producto, (toItem, item) =>
                {
                    item.IMEI        = toItem.IMEI;
                    item.PrecioCosto = toItem.PrecioCosto;
                    item.Garantia    = toItem.Garantia;
                    return(true);
                });

                //Set new proveedor if we have
                if (_Proveedor != null)
                {
                    _Producto.Especificaciones_producto.ToList().ForEach(item => item.Proveedor = pageViewModel.GetProveedor(_Proveedor.IdProveedor));
                }
                else
                {
                    Debug.WriteLine("Proveedor is null");
                }

                //if Emei is no
                //then delete all emais
                if (ComboBoxImei.Text.Equals("No"))
                {
                    _Producto.Especificaciones_producto.ToList().ForEach(item => item.IMEI = null);
                }

                //if garantia is no
                //
                if (ComboBoxGarantia.Text.Equals("No"))
                {
                    _Producto.Garantia = null;
                }

                else
                {
                    _Producto.Garantia = int.Parse(TextBoxGarantiaVenta.Text);
                }

                //Do update
                pageViewModel.UpdateProduct(_Producto);

                MessageBoxResult result = MessageBox.Show("Se ha actualizado correctamente el producto",
                                                          "Confirmation",
                                                          MessageBoxButton.OK,
                                                          MessageBoxImage.Information);

                ///Close window
                this.Close();
            }
            else
            {
                MessageBoxResult result = MessageBox.Show("Por favor ingrese los campos a editar",
                                                          "Confirmation",
                                                          MessageBoxButton.OK,
                                                          MessageBoxImage.Exclamation);
            }
        }
        //Acción del boton insertar
        private void BtnInsertarProducto(object sender, RoutedEventArgs e)
        {
            if (EspecificacionList.Count < 1)
            {
                MessageBoxResult result = MessageBox.Show("Por favor ingrese almenos un producto con estas características",
                                                          "Confirmation",
                                                          MessageBoxButton.OK,
                                                          MessageBoxImage.Exclamation);
            }

            else
            {
                //Si los campos fueron llenados
                if (MarcaTextBox.Text != String.Empty && ModeloTextBox.Text != String.Empty && PrecioTextBox.Text != String.Empty && CategoriaComboBox.Text != String.Empty)
                {
                    _Product = new Producto()
                    {
                        Marca         = MarcaTextBox.Text,
                        Modelo        = ModeloTextBox.Text,
                        Precio_Venta  = double.Parse(PrecioTextBox.Text),
                        Tipo_Producto = CategoriaComboBox.Text
                    };

                    if (string.IsNullOrWhiteSpace(TextBoxGarantiaVenta.Text) != true && ComboBoxGarantia.Text.Equals("Si"))
                    {
                        _Product.Garantia = int.Parse(TextBoxGarantiaVenta.Text);
                    }

                    //Insertamos si el producto tiene garantia o no
                    if (ComboBoxGarantia.Text == "Si")
                    {
                        _Product.Garantia_Disponible = 1;
                    }
                    else
                    {
                        _Product.Garantia_Disponible = 0;
                    }

                    //Insertamos si tiene opcion de credito este producto
                    if (ComboBoxCredito.Text == "Si")
                    {
                        _Product.Credito_Disponible = 1;
                    }
                    else
                    {
                        _Product.Credito_Disponible = 0;
                    }

                    //Insertamos si tiene Imei este producto
                    if (ComboBoxImei.Text == "Si")
                    {
                        _Product.Imei_Disponible = 1;
                    }
                    else
                    {
                        _Product.Imei_Disponible = 0;
                    }


                    ViewModel.AddProduct(_Product);

                    List <Especificacion_producto> ListaEspecificaciones = new List <Especificacion_producto>();

                    foreach (var i in EspecificacionList)
                    {
                        var ElementoProducto = new Especificacion_producto();

                        ElementoProducto.Producto    = _Product;
                        ElementoProducto.Descripcion = i.Descripcion;

                        ElementoProducto.Garantia_Original = i.Garantia;
                        ElementoProducto.PrecioCosto       = i.Precio_Costo;
                        ElementoProducto.Proveedor         = ViewModel.GetProveedor(i.ProveedorId);
                        ElementoProducto.Vendido           = "No";

                        //Si la columnas estan visibles, agregar el dato insertado a la relacion
                        if (GarantiaColumn.Visibility == Visibility.Visible)
                        {
                            ElementoProducto.Garantia = i.Garantia;
                        }

                        if (ImeiColumn.Visibility == Visibility.Visible)
                        {
                            ElementoProducto.IMEI = i.Imei;
                        }

                        ListaEspecificaciones.Add(ElementoProducto);
                    }

                    //Agregamos existencias al producto
                    ViewModel.AddEspecificacionProducto(ListaEspecificaciones);

                    EventoPaginacion();

                    if (ImportacionProducto == null)
                    {
                        if (MessageBox.Show("Se ha ingresado correctamente el producto, ¿desea seguir ingresando productos?", "Question", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.No)
                        {
                            this.Close();
                        }
                        else
                        {
                            //Limpiamos los campos para volver a insertar
                            TextBoxCantidad.Text      = String.Empty;
                            MarcaTextBox.Text         = String.Empty;
                            ModeloTextBox.Text        = String.Empty;
                            CategoriaComboBox.Text    = String.Empty;
                            PrecioTextBox.Text        = String.Empty;
                            ComboBoxImei.Text         = String.Empty;
                            ComboBoxGarantia.Text     = String.Empty;
                            ComboBoxCredito.Text      = String.Empty;
                            TextBoxGarantiaVenta.Text = String.Empty;

                            EspecificacionList.Clear();

                            PanelImei.Visibility         = Visibility.Hidden;
                            ProductosDatagrid.Visibility = Visibility.Hidden;
                            InsertarButton.Visibility    = Visibility.Hidden;
                            PanelGarantia.Visibility     = Visibility.Hidden;
                        }
                    }

                    else
                    {
                        MessageBoxResult result = MessageBox.Show("Se ha insertado y seleccionado correctamente, clickee para cerrar esta ventana",
                                                                  "Confirmation",
                                                                  MessageBoxButton.OK,
                                                                  MessageBoxImage.Exclamation);

                        EventoImportacion();

                        this.Close();
                    }
                }

                else
                {
                    MessageBoxResult result = MessageBox.Show("Por favor Rellene los campos requeridos",
                                                              "Confirmation",
                                                              MessageBoxButton.OK,
                                                              MessageBoxImage.Exclamation);
                }
            }
        }
Ejemplo n.º 3
0
        //Ingresar Existencias
        public void BtnInsertarProducto(object sender, RoutedEventArgs e)
        {
            MessageBoxResult result;

            if (EspecificacionList.Count < 1)
            {
                result = MessageBox.Show("Por favor Agregue almenos 1 producto",
                                         "Confirmation",
                                         MessageBoxButton.OK,
                                         MessageBoxImage.Exclamation);
            }

            else
            {
                List <Especificacion_producto> ListaEspecificaciones = new List <Especificacion_producto>();

                foreach (var i in EspecificacionList)
                {
                    var ElementoProducto = new Especificacion_producto();

                    ElementoProducto.Producto    = _Producto;
                    ElementoProducto.Descripcion = i.Descripcion;

                    ElementoProducto.Garantia_Original = i.Garantia;
                    ElementoProducto.PrecioCosto       = i.Precio_Costo;
                    ElementoProducto.Proveedor         = ViewModel.GetProveedor(i.ProveedorId);

                    ElementoProducto.Vendido = "No";

                    //Si la columnas estan visibles, agregar el dato insertado a la relacion
                    if (GarantiaColumn.Visibility == Visibility.Visible)
                    {
                        ElementoProducto.Garantia = i.Garantia;
                    }

                    if (ImeiColumn.Visibility == Visibility.Visible)
                    {
                        ElementoProducto.IMEI = i.Imei;
                    }

                    ListaEspecificaciones.Add(ElementoProducto);
                }
                //Agregamos existencias al producto
                ViewModel.AddEspecificacionProducto(ListaEspecificaciones);

                //Actualizamos pero validando si hay una busqueda y no afectarla
                if (ViewModel.SearchProductList == null)
                {
                    ViewModel.UpdateProducts(10);
                }

                else
                {
                    ViewModel.UpdateProducts(10, ViewModel.SearchProductList);
                }
            }

            result = MessageBox.Show("Se han agregado correctamente a existencias",
                                     "Confirmation",
                                     MessageBoxButton.OK,
                                     MessageBoxImage.Exclamation);

            this.Close();
        }