public void Load(int IdProduct) { try { ProductDataSet dataset = new ProductDataSet(); ProductDataSetTableAdapters.ProductsTableAdapter TableProduct = new ProductDataSetTableAdapters.ProductsTableAdapter(); ProductDataSet.ProductsDataTable dataTable = TableProduct.GetDataProductById(IdProduct); if (dataTable.Rows.Count > 0) { ProductDataSetTableAdapters.Products_ObsTableAdapter Product_obs = new ProductDataSetTableAdapters.Products_ObsTableAdapter(); ProductDataSet.Products_ObsDataTable dataTable_Obs = Product_obs.GetDataProductr_ObsById(IdProduct); _row = (ProductDataSet.ProductsRow)dataTable.Rows[0]; RaisePropertyChanged(nameof(Name)); RaisePropertyChanged(nameof(Code)); RaisePropertyChanged(nameof(Density)); RaisePropertyChanged(nameof(MeasureUnit)); RaisePropertyChanged(nameof(Enabled)); _row_obs = (ProductDataSet.Products_ObsRow)dataTable_Obs.Rows[0]; RaisePropertyChanged(nameof(Observations)); } FormLoadFinished?.Invoke(); } catch (Exception e) { FormLoadError?.Invoke(e); } }
public ProductFormViewModel() { ProductDataSet dataset = new ProductDataSet(); ProductDataSetTableAdapters.ProductsTableAdapter Product = new ProductDataSetTableAdapters.ProductsTableAdapter(); ProductDataSetTableAdapters.Products_ObsTableAdapter Product_obs = new ProductDataSetTableAdapters.Products_ObsTableAdapter(); _row = dataset.Products.NewProductsRow(); _row_obs = dataset.Products_Obs.NewProducts_ObsRow(); //Producto _row.Code = ""; _row.Density = 0; _row.Name = ""; _row.MeasureUnit = 0; _row.ModifiedDate = DateTime.Now; _row.CreatedDate = DateTime.Now; _row.Enabled = true; _row.Id = 0; //observaciones usuasrio _row_obs.Observations = ""; SaveCommand = new RelayCommand(Save, CanSave); }
private static bool validateDatas(string Code, string Name, bool FirstTime, ProductDataSet dataset, ProductDataSetTableAdapters.ProductsTableAdapter tableProduct) { bool validateDatas = true; if (string.IsNullOrEmpty(Code)) { MessageBox.Show("El Código no puede estar en blanco", "Campo Código", MessageBoxButton.OK, MessageBoxImage.Error); validateDatas = false; } else { if (Code.Length > 3) { MessageBox.Show("El Código no puede tener más de 3 caracteres", "Campo Código", MessageBoxButton.OK, MessageBoxImage.Error); validateDatas = false; } else { if (string.IsNullOrEmpty(Name)) { MessageBox.Show("El Nombre no puede estar en blanco", "Campo Nombre", MessageBoxButton.OK, MessageBoxImage.Error); validateDatas = false; } else { if (Name.Length > 100) { MessageBox.Show("El Nombre no puede contener más de 100 caracteres", "Campo Nombre", MessageBoxButton.OK, MessageBoxImage.Error); validateDatas = false; } else { //si es la primera vez no realizamos la validación de codigo de productos repetidos (siempre existira) if (!FirstTime) { int NumberRows = Convert.ToInt32(tableProduct.GetDataProductByCode(Code)); if (NumberRows > 0) { MessageBox.Show("El Código del producto ya existe", "Campo Código", MessageBoxButton.OK, MessageBoxImage.Error); validateDatas = false; } } } } } } return(validateDatas); }
public void Save() { bool validate = true; int indentificadorProduct = 0; try { ProductDataSet dataset = new ProductDataSet(); ProductDataSetTableAdapters.Products_ObsTableAdapter tableAdapterProductObs = new ProductDataSetTableAdapters.Products_ObsTableAdapter(); ProductDataSetTableAdapters.ProductsTableAdapter TableProduct = new ProductDataSetTableAdapters.ProductsTableAdapter(); validate = validateDatas(_row.Code, _row.Name, this.FirstTime, dataset, TableProduct); if (validate) { ProductDataSet.ProductsDataTable dataTable = TableProduct.GetDataProductById(_row.Id); //actualizamnos si existe el registro if (dataTable.Rows.Count > 0) { var rowproduct = dataset.Products.NewProductsRow(); rowproduct = dataTable[0]; rowproduct["Code"] = _row.Code; rowproduct["Name"] = _row.Name; rowproduct["CreatedDate"] = DateTime.Now; rowproduct["ModifiedDate"] = DateTime.Now; rowproduct["Density"] = _row.Density; rowproduct["MeasureUnit"] = 1; rowproduct["Enabled"] = _row.Enabled; int numeroderegistros = TableProduct.Update(rowproduct); //si se actualizado el user actualizamos las observaciones if (numeroderegistros > 0) { //actualizamos la observacion tableAdapterProductObs.UpdateProductObs(_row_obs.Observations, _row.Id); } } //insertamos el nuevo products y las observaciones (product_obs) else { TableProduct = new ProductDataSetTableAdapters.ProductsTableAdapter(); //obtenemos de la tabla product el nuevo registro que se introducira var rowProduct = dataset.Products.NewProductsRow(); rowProduct.Code = _row.Code; rowProduct.Name = _row.Name; rowProduct.CreatedDate = DateTime.Now; rowProduct.ModifiedDate = DateTime.Now; rowProduct.Density = _row.Density; rowProduct.MeasureUnit = 1; rowProduct.Enabled = _row.Enabled; //agregamos la nueva fila dataset.Products.AddProductsRow(rowProduct); //actualizamos la tabla Products en el dataset TableProduct.Update(dataset.Products); //al insertar el registro nuevo en la tabla User Id se actualiza indentificadorProduct = Convert.ToInt32(rowProduct.Id); // a continuación insertamos el resto de datos en la tabla User_obs cepsa con el indentificador del User recient introduzido tableAdapterProductObs = new ProductDataSetTableAdapters.Products_ObsTableAdapter(); //obtenemos de la tabla User_obs el nuevo registro que se introducira var rowProduct_obs = dataset.Products_Obs.NewProducts_ObsRow(); //Id rowProduct_obs.Id = indentificadorProduct; //observations rowProduct_obs.Observations = _row_obs.Observations; //agregamos la nueva fila a tabla User_obs dataset.Products_Obs.AddProducts_ObsRow(rowProduct_obs); //actualizamos la tabla User_obs en el dataset tableAdapterProductObs.Update(dataset.Products_Obs); } FormSaveFinished?.Invoke(); } } catch (Exception e) { FormSaveError?.Invoke(e); } }