public List <MA_Items> GetAll2(string item)
        {
            List <MA_Items> list = new List <MA_Items>();

            //return _context.MA_Items.Where(x => x.Item.Contains(item) || x.Description.Contains(item) && x.Disabled == "0").OrderBy(x => x.Item).ToList();
            try
            {
                conn.Open();
                string sql = @"SELECT
	                            I.Item,
	                            I.Description,
	                            I.BaseUoM,
	                            I.ItemType,
	                            F.StandardCost
                            FROM
	                            MA_Items I
	                            LEFT OUTER JOIN MA_ItemsFiscalYearData F ON F.Item = I.Item
                            WHERE
	                            I.Disabled = 0
                                AND I.Item LIKE '%" + item + "%'" +
                             @"AND F.FiscalYear = YEAR(GETDATE())
                            ORDER BY
	                            I.Item"    ;
                SqlCommand    cmd    = new SqlCommand(sql, conn);
                SqlDataReader reader = cmd.ExecuteReader();
                while (reader.Read())
                {
                    MA_Items items = new MA_Items();
                    items.Item        = reader["Item"].ToString();
                    items.Description = reader["Description"].ToString();
                    items.BaseUoM     = reader["BaseUoM"].ToString();
                    items.ItemType    = reader["ItemType"].ToString();
                    items.BasePrice   = Convert.ToDouble(reader["StandardCost"]);
                    list.Add(items);
                }

                conn.Close();
                reader.Close();
                return(list);
            }
            catch (Exception ex)
            {
                conn.Close();
                throw ex;
            }
        }
        private void BtnSave_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                if (Validate())
                {
                    if (isNew)
                    {
                        if (itemService.ExistItem(txtItem.Text))
                        {
                            MessageBox.Show($"O item: { txtItem.Text } já existe!", "Aviso", MessageBoxButton.OK, MessageBoxImage.Warning);
                            return;
                        }
                        else
                        {
                            if (txtItem.Text != string.Empty)
                            {
                                MA_Items item = new MA_Items();
                                item.Item        = txtItem.Text;
                                item.Description = txtDescription.Text;
                                item.BaseUoM     = txtUoM.Text;
                                string nature = cbNature.Text;
                                if (nature.Equals("Compra", StringComparison.OrdinalIgnoreCase))
                                {
                                    item.Nature = 22413314;
                                }
                                else if (nature.Equals("Produto Acabado", StringComparison.OrdinalIgnoreCase))
                                {
                                    item.Nature = 22413313;
                                }
                                else if (nature.Equals("Semiacabado", StringComparison.OrdinalIgnoreCase))
                                {
                                    item.Nature = 22413312;
                                }

                                item.Disabled   = "0";
                                item.TBCreated  = DateTime.Now;
                                item.TBModified = DateTime.Now;

                                if (itemService.AddItem(item))
                                {
                                    MA_ItemsFiscalYearData itemFYD = new MA_ItemsFiscalYearData();
                                    itemFYD.Item         = txtItem.Text;
                                    itemFYD.StandardCost = Convert.ToDouble(txtStandardCost.Text);
                                    itemFYD.FiscalYear   = (short)DateTime.Now.Year;
                                    itemFYD.TBCreated    = DateTime.Now;
                                    itemFYD.TBModified   = DateTime.Now;

                                    if (itemService.AddItemStandardCost(itemFYD))
                                    {
                                        MA_ItemsBRTaxes itemBR = new MA_ItemsBRTaxes();
                                        itemBR.Item       = txtItem.Text;
                                        itemBR.NCM        = txtNCM.Text;
                                        itemBR.TBCreated  = DateTime.Now;
                                        itemBR.TBModified = DateTime.Now;

                                        if (itemService.AddItemNCM(itemBR))
                                        {
                                            MessageBox.Show($"Item { txtItem.Text } salvo com sucesso!", "Informação",
                                                            MessageBoxButton.OK, MessageBoxImage.Information);

                                            ClearFields();
                                        }
                                    }
                                }
                            }
                            else
                            {
                                MessageBox.Show("Insira um item!", "Aviso",
                                                MessageBoxButton.OK, MessageBoxImage.Warning);
                            }
                        }
                    }
                    else if (isEdit)
                    {
                        if (txtItem.Text != string.Empty)
                        {
                            MA_Items item = itemService.GetItem(txtItem.Text);
                            if (item != null)
                            {
                                item.Item        = txtItem.Text;
                                item.Description = txtDescription.Text;
                                item.BaseUoM     = txtUoM.Text;
                                string nature = cbNature.Text;
                                if (nature.Equals("Compra", StringComparison.OrdinalIgnoreCase))
                                {
                                    item.Nature = 22413314;
                                }
                                else if (nature.Equals("Produto Acabado", StringComparison.OrdinalIgnoreCase))
                                {
                                    item.Nature = 22413313;
                                }
                                else if (nature.Equals("Semiacabado", StringComparison.OrdinalIgnoreCase))
                                {
                                    item.Nature = 22413312;
                                }

                                item.Disabled   = "0";
                                item.TBModified = DateTime.Now;

                                if (itemService.EditItem(item))
                                {
                                    var itemFYD = itemService.GetItemFiscalYearData(txtItem.Text);
                                    itemFYD.Item         = txtItem.Text;
                                    itemFYD.StandardCost = Convert.ToDouble(txtStandardCost.Text);
                                    itemFYD.TBModified   = DateTime.Now;

                                    if (itemService.EditItemStandardCost(itemFYD))
                                    {
                                        var itemBR = itemService.GetItemBRTaxes(txtItem.Text);
                                        itemBR.Item       = txtItem.Text;
                                        itemBR.NCM        = txtNCM.Text;
                                        itemBR.TBModified = DateTime.Now;

                                        if (itemService.EditItemNCM(itemBR))
                                        {
                                            MessageBox.Show($"Item { txtItem.Text } atualizado com sucesso!", "Informação",
                                                            MessageBoxButton.OK, MessageBoxImage.Information);

                                            ClearFields();
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Erro ao salvar!" + "\n" + ex.Message, "Erro",
                                MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }
 public bool EditItem(MA_Items item)
 {
     _context.MA_Items.AddOrUpdate(item);
     _context.SaveChanges();
     return(true);
 }
 public bool AddItem(MA_Items item)
 {
     _context.MA_Items.Add(item);
     _context.SaveChanges();
     return(true);
 }