Beispiel #1
0
        private void ButtonDeletar_Click(object sender, System.Windows.RoutedEventArgs e)
        {
            var context = new ERPDBModelContainer();

            foreach (ProdutoAdapter prod in DataGridProduto.SelectedItems)
            {
                var p = context.ProdutoSet.Single(o => o.Codigo == prod.Codigo);
                if (p.ProdutoVendaItem.Count > 0)
                {
                    if (MessageBox.Show("O produto " + p.Nome
                                        + " está presente em uma ou mais vendas, se remover este produto as vendas não "
                                        + "irão apresentar mais o produto. Deseja continuar?", "Autorização",
                                        MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes)
                    {
                        p.ProdutoVendaItem.Clear();
                        context.ProdutoSet.Remove(p);
                        Controller.Log("Deletou o Produto: " + p.Nome + " removendo-o as vendas realizadas anteriormente");
                    }
                }
                else
                {
                    context.ProdutoSet.Remove(p);
                    Controller.Log("Deletou o Produto: " + p.Nome);
                }
            }
            context.SaveChanges();
            Update(sender, e);
        }
Beispiel #2
0
        public ActionResult Comprar(string id, bool post)
        {
            try {
                var qtd = Convert.ToInt32(Request["txtQtd"].ToString());
                if (Session["carrinho"] == null)
                {
                    Session.Add("carrinho", new List <ProdutoVendaItem>());
                }
                var ctx = new ERPDBModelContainer();

                var exists = false;
                foreach (ProdutoVendaItem pvi in (List <ProdutoVendaItem>)Session["carrinho"])
                {
                    if (pvi.Produto.Nome == id)
                    {
                        pvi.Quantidade += qtd; exists = true;
                    }
                }
                if (!exists)
                {
                    ((List <ProdutoVendaItem>)Session["carrinho"]).Add(new ProdutoVendaItem()
                    {
                        Produto = ctx.ProdutoSet.Single(o => o.Nome == id), Quantidade = qtd
                    });
                }
                //Response.Redirect("Carrinho");
                return(Redirect("/Home/Carrinho"));
            } catch { return(HttpNotFound()); }
        }
Beispiel #3
0
        private void Window_ContentRendered(object sender, EventArgs e)
        {
            AutoCompleteBoxCategoria.ItemFilter += (s, o) => (o as Categoria).Nome.ToString().Contains(s);
            var ctx = new ERPDBModelContainer();

            AutoCompleteBoxCategoria.ItemsSource = ctx.CategoriaSet.ToList();
            var l = new List <String>();

            foreach (Fornecedor f in ctx.FornecedorSet.ToList())
            {
                l.Add(f.Nome);
            }
            comboBoxFornecedores.ItemsSource = l;
            ctx.Dispose();
            if (edit_mode)
            {
                LabelTitle.Content                = "Editar Produto " + produto_edit.Nome;
                textBoxCodigo.Text                = produto_edit.Codigo.ToString();
                textBoxNome.Text                  = produto_edit.Nome;
                textBoxPrecoCusto.Text            = produto_edit.PrecoCusto.ToString("0.00", CultureInfo.InvariantCulture);
                textBoxPrecoVista.Text            = produto_edit.PrecoVista.ToString("0.00", CultureInfo.InvariantCulture);
                textBoxPrecoPrazo.Text            = (produto_edit.PrecoPrazo != null) ? ((double)produto_edit.PrecoPrazo).ToString("0.00", CultureInfo.InvariantCulture) : "0";
                textBoxEstoque.Text               = produto_edit.Quantidade.ToString();
                textBoxDescricao.Text             = produto_edit.Descricao;
                AutoCompleteBoxCategoria.Text     = produto_edit.Nome;
                comboBoxFornecedores.SelectedItem = (produto_edit.Fornecedor != null) ? produto_edit.Fornecedor.Nome : "";
            }
        }
Beispiel #4
0
        public JsonResult Products(List <Produto> produtos)
        {
            var r = new List <Produto>();

            if (produtos != null)
            {
                using (var ctx = new ERPDBModelContainer()) {
                    var l = ctx.ProdutoSet.ToList();
                    foreach (Produto p in produtos)
                    {
                        if (l.FirstOrDefault(o => o.Codigo == p.Codigo) == null)
                        {
                            ctx.ProdutoSet.Add(p); ctx.SaveChanges();
                        }
                        else
                        {
                            r.Add(p);
                        }
                    }
                }
            }
            else
            {
                r = null;
            }
            return(Json(r));
        }
Beispiel #5
0
        public JsonResult Products()
        {
            var ctx  = new ERPDBModelContainer();
            var temp = new List <dynamic>();

            foreach (Produto p in ctx.ProdutoSet.ToList())
            {
                if (p.Categoria != null)
                {
                    temp.Add(new {
                        Id               = p.Id, Nome = p.Nome, PrecoCusto = p.PrecoCusto, PrecoVista = p.PrecoVista,
                        PrecoPrazo       = p.PrecoPrazo, Quantidade = p.Quantidade, DisponivelLojaVirtual = p.DisponivelLojaVirtual,
                        Descricao        = p.Descricao, UnidadeMedida = p.UnidadeMedida, Imagem = p.Imagem, Codigo = p.Codigo,
                        ProdutoVendaItem = p.ProdutoVendaItem, Categoria = new { Id = p.Categoria.Id, Nome = p.Categoria.Nome }
                    });
                }
                else
                {
                    temp.Add(new {
                        Id               = p.Id, Nome = p.Nome, PrecoCusto = p.PrecoCusto, PrecoVista = p.PrecoVista,
                        PrecoPrazo       = p.PrecoPrazo, Quantidade = p.Quantidade, DisponivelLojaVirtual = p.DisponivelLojaVirtual,
                        Descricao        = p.Descricao, UnidadeMedida = p.UnidadeMedida, Imagem = p.Imagem, Codigo = p.Codigo,
                        ProdutoVendaItem = p.ProdutoVendaItem, Categoria = p.Categoria
                    });
                }
            }

            return(Json(temp, JsonRequestBehavior.AllowGet));
        }
Beispiel #6
0
        public async Task <ActionResult> Login(LoginViewModel model, string returnUrl)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            // This doesn't count login failures towards account lockout
            // To enable password failures to trigger account lockout, change to shouldLockout: true
            var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout : false);

            switch (result)
            {
            case SignInStatus.Success:
                var ctx = new ERPDBModelContainer();
                Session.Add("usuario", ctx.UsuarioSet.Single(o => o.Email == model.Email));
                return(RedirectToLocal(returnUrl));

            case SignInStatus.LockedOut:
                return(View("Lockout"));

            case SignInStatus.RequiresVerification:
                return(RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = model.RememberMe }));

            case SignInStatus.Failure:
            default:
                ModelState.AddModelError("", "Invalid login attempt.");
                return(View(model));
            }
        }
Beispiel #7
0
 private void ButtonEditar_Click(object sender, RoutedEventArgs e)
 {
     if (DataGridProduto.SelectedItems.Count == 1)
     {
         if (p == null)
         {
             using (var ctx = new ERPDBModelContainer()) {
                 p = new AdicionarProdutoWindow(ctx.ProdutoSet.Single(o => o.Id == ((ProdutoAdapter)DataGridProduto.SelectedItem).Id));
             }
             p.Closed          += (a, b) => p = null;
             p.buttonAdd.Click += Update;
             p.Show();
         }
         else if (p.IsVisible)
         {
             p.Focus();
         }
         else
         {
             p.Show();
         }
     }
     else
     {
         MessageBox.Show("Você precisa selecionar apenas 1 Item");
     }
 }
Beispiel #8
0
        private void Window_ContentRendered(object sender, EventArgs e)
        {
            AutoCompleteBoxBusca.ItemFilter += (s, o) => (o as Produto).Codigo.ToString().Contains(s) || (o as Produto).Nome.Contains(s);
            var ctx = new ERPDBModelContainer();

            AutoCompleteBoxBusca.ItemsSource = ctx.ProdutoSet.ToList();
            labelName.Content = Controller.LoggedUser.Nome;
            loaded            = true;
            ctx.Dispose();
        }
Beispiel #9
0
        private void Update(object sender, RoutedEventArgs e)
        {
            var context = new ERPDBModelContainer();
            var l       = new List <FornecedorAdapter>();

            foreach (var f in context.FornecedorSet.ToList())
            {
                l.Add(new FornecedorAdapter(f));
            }
            DataGridFornecedores.ItemsSource = (l.Count > 0) ? l : null;
        }
Beispiel #10
0
        private void Update(object sender, RoutedEventArgs e)
        {
            var context = new ERPDBModelContainer();
            var l       = new List <VendaAdapter>();

            foreach (var v in context.VendaSet.ToList())
            {
                l.Add(new VendaAdapter(v));
            }
            DataGridVendas.ItemsSource = (l.Count > 0) ? l : null;
        }
Beispiel #11
0
        private void Update(object sender, RoutedEventArgs e)
        {
            var context = new ERPDBModelContainer();
            var l       = new List <ProdutoAdapter>();

            foreach (var p in context.ProdutoSet.ToList())
            {
                l.Add(new ProdutoAdapter(p));
            }
            DataGridProduto.ItemsSource = (l.Count > 0) ? l : null;
        }
Beispiel #12
0
        public ActionResult Produtos()
        {
            ViewBag.Message = "Produtos";
            StartSession();
            var ctx = new ERPDBModelContainer();

            return(View(new ProdutosCategoriasModelAdapter()
            {
                Produtos = ctx.ProdutoSet.ToList(), Categorias = ctx.CategoriaSet.ToList()
            }));
        }
Beispiel #13
0
 private void VendasButtonClick(object sender, RoutedEventArgs e)
 {
     this.ControlGrid.Children.Clear();
     this.ControlGrid.Children.Add(new VendaView());
     try {
         using (var ctx = new ERPDBModelContainer()) {
             MessageBox.Show(Controller.PostJsonProduto(ctx.ProdutoSet.ToList()).ToString());
         }
     }
     catch { }
 }
Beispiel #14
0
 public JsonResult Vendas(string apikey)
 {
     if (apikey == "udtcapituntn")
     {
         var ctx = new ERPDBModelContainer();
         return(Json(ctx.VendaSet.ToList()));
     }
     else
     {
         return(Json(""));
     }
 }
Beispiel #15
0
        public ActionResult Carrinho()
        {
            if (Session["carrinho"] == null)
            {
                return(Content("O Carrinho está Vazio!"));
            }
            var ctx = new ERPDBModelContainer();

            return(View(new PVIsCategoriasModelAdapter()
            {
                PVI = (List <ProdutoVendaItem>)Session["carrinho"], Categoria = ctx.CategoriaSet.ToList()
            }));
        }
Beispiel #16
0
        private void ButtonDeletar_Click(object sender, System.Windows.RoutedEventArgs e)
        {
            var context = new ERPDBModelContainer();

            foreach (UsuarioAdapter usuario in DataGridUsuarios.SelectedItems)
            {
                var u = context.UsuarioSet.Single(o => o.Id == usuario.Id);
                context.UsuarioSet.Remove(u);
                Controller.Log("Deletou o Usuario: " + u.Nome);
            }
            context.SaveChanges();
            Update(sender, e);
        }
Beispiel #17
0
        private void Update(object sender, RoutedEventArgs e)
        {
            var context = new ERPDBModelContainer();
            var l       = new List <UsuarioAdapter>();

            foreach (Usuario u in context.UsuarioSet.OfType <Funcionario>().ToList())
            {
                if (!(u is Administrador))
                {
                    l.Add(new UsuarioAdapter(u));
                }
            }
            DataGridUsuarios.ItemsSource = (l.Count > 0) ? l : null;
        }
Beispiel #18
0
 private void StartSession()
 {
     if (User.Identity.IsAuthenticated)
     {
         if (Session["username"] == null)
         {
             using (var ctx = new ERPDBModelContainer()) {
                 var u = ctx.UsuarioSet.Single(o => o.Email == User.Identity.Name);
                 Session["username"] = u.Nome;
                 Session["id"]       = u.Id;
             }
         }
     }
 }
Beispiel #19
0
        private void ButtonDeletar_Click(object sender, System.Windows.RoutedEventArgs e)
        {
            var context = new ERPDBModelContainer();

            foreach (FornecedorAdapter fornecedor in DataGridFornecedores.SelectedItems)
            {
                var p = context.FornecedorSet.Single(o => o.Id == fornecedor.Id);
                p.Produto.Clear();
                Controller.Log("Deletou o Fornecedor: " + fornecedor.Nome);
                context.FornecedorSet.Remove(p);
            }
            context.SaveChanges();
            Update(sender, e);
        }
Beispiel #20
0
        private void ButtonEstoque_Click(object sender, System.Windows.RoutedEventArgs e)
        {
            var dialog = new EstoqueDialog();

            if (dialog.ShowDialog() == true)
            {
                var ctx = new ERPDBModelContainer();
                ctx.ProdutoSet.First(p => p.Id == dialog.getProduto.Value.Id).Quantidade += dialog.getProduto.Key;
                ctx.SaveChanges();
                Update(sender, e);
                Controller.Log("Atualizou o Estoque: " + dialog.getProduto.Key + " " + dialog.getProduto.Value.Nome);
                MessageBox.Show("Estoque atualizado com sucesso");
            }
        }
Beispiel #21
0
 private void DataGridFornecedores_CellEditEnding(object sender, DataGridCellEditEndingEventArgs e)
 {
     if (e.EditAction == DataGridEditAction.Commit)
     {
         var context    = new ERPDBModelContainer();
         var fornecedor = (Fornecedor)e.Row.Item;
         var original   = context.FornecedorSet.Single(o => o.Id == fornecedor.Id);
         if (original != null)
         {
             context.Entry(original).CurrentValues.SetValues(fornecedor);
             context.SaveChanges();
         }
         Update(sender, null);
     }
 }
Beispiel #22
0
        private void Window_ContentRendered(object sender, EventArgs e)
        {
            var ctx = new ERPDBModelContainer();
            var l   = new List <ComboBoxItem>();

            foreach (Produto p in ctx.ProdutoSet.ToList())
            {
                var c = new ComboBoxItem()
                {
                    Content = p.Nome, Tag = p
                };
                l.Add(c);
            }
            ComboBoxProduto.ItemsSource = l;
        }
Beispiel #23
0
 public ActionResult Carrinho(bool post)
 {
     if (Request.IsAuthenticated)
     {
         try {
             var venda = new Venda()
             {
                 Data = DateTime.Now, Total = 0
             };
             ERPDBModelContainer ctx = new ERPDBModelContainer();
             var l = new List <ProdutoVendaItem>();
             foreach (ProdutoVendaItem pvi in (List <ProdutoVendaItem>)Session["carrinho"])
             {
                 var pr = ctx.ProdutoSet.Single(p => p.Id == pvi.Produto.Id);
                 ctx.ProdutoSet.Attach(pr);
                 ctx.ProdutoSet.Single(p => p.Id == pvi.Produto.Id).Quantidade -= pvi.Quantidade;
                 l.Add(new ProdutoVendaItem()
                 {
                     Produto = pr, Quantidade = pvi.Quantidade, Venda = null
                 });
                 venda.Total += pr.PrecoVista * pvi.Quantidade;
             }
             venda.ProdutoVendaItem = l;
             var email = (((Cliente)Session["usuario"]) != null)?((Cliente)Session["usuario"]).Email : User.Identity.Name;
             ctx.UsuarioSet.OfType <Cliente>()
             .Single(o =>
                     o.Email == email)
             .Venda
             .Add(venda);
             ctx.SaveChanges();
         } catch { return(HttpNotFound()); }
         return(Content("Venda Realizada com sucesso!"));
     }
     else
     {
         return(Redirect("/Account/Login"));
     }
 }
Beispiel #24
0
        public async Task <ActionResult> Register(RegisterViewModel model)
        {
            if (ModelState.IsValid)
            {
                var user = new ApplicationUser {
                    UserName = model.Email, Email = model.Email
                };
                var result = await UserManager.CreateAsync(user, model.Senha);

                if (result.Succeeded)
                {
                    await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false);

                    // For more information on how to enable account confirmation and password reset please visit http://go.microsoft.com/fwlink/?LinkID=320771
                    // Send an email with this link
                    // string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id);
                    // var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme);
                    // await UserManager.SendEmailAsync(user.Id, "Confirm your account", "Please confirm your account by clicking <a href=\"" + callbackUrl + "\">here</a>");

                    using (var ctx = new ERPDBModelContainer()) {
                        var u = new Cliente()
                        {
                            Nome = model.Nome, Email = model.Email, Senha = model.Senha, Venda = new List <Venda>()
                        };
                        ctx.UsuarioSet.Add(u);
                        Session.Add("usuario", ctx.UsuarioSet.Single(o => o.Email == model.Email));
                        ctx.SaveChanges();
                    }

                    return(RedirectToAction("Index", "Home"));
                }
                AddErrors(result);
            }

            // If we got this far, something failed, redisplay form
            return(View(model));
        }
Beispiel #25
0
        private void LoginThread()
        {
            var context = new ERPDBModelContainer();
            //Liberar apenas para teste
            //context.Database.ExecuteSqlCommand("TRUNCATE TABLE UsuarioSet_Administrador");
            var query = context.UsuarioSet.OfType <Administrador>().ToList();

            if (Controller.LoggedUser == null)
            {
                if (query.Count == 0)
                {
                    Application.Current.Dispatcher.Invoke((Action)(() => {
                        var dialog = new CreateAdminDialog();
                        foreach (Button b in GridButtons.Children)
                        {
                            b.IsEnabled = true;
                        }
                        LoadingGrid.Visibility = Visibility.Collapsed;
                        Menu.IsEnabled = true;
                        if (dialog.ShowDialog() == true)
                        {
                            Controller.LoggedUser = dialog.getAdmin;
                            context.UsuarioSet.Add(Controller.LoggedUser);
                            context.SaveChanges();
                        }
                    }));
                }
                var valid = false;
                if (Controller.LoggedUser == null)
                {
                    Application.Current.Dispatcher.Invoke((Action)(() => {
                        foreach (Button b in GridButtons.Children)
                        {
                            b.IsEnabled = true;
                        }
                        LoadingGrid.Visibility = Visibility.Collapsed;
                        Menu.IsEnabled = true;
                    }));
                    while (!valid)
                    {
                        Application.Current.Dispatcher.Invoke((Action)(() => {
                            var dialog = new LoginDialog();
                            if (dialog.ShowDialog() == true)
                            {
                                var users = context.UsuarioSet.Where(u => u.Nome.ToLower() == dialog.getFuncionario.Nome.ToLower()).ToList();
                                foreach (Funcionario f in users)
                                {
                                    if (f.Senha == dialog.getFuncionario.Senha)
                                    {
                                        Controller.LoggedUser = f; valid = true;
                                    }
                                }
                            }
                            if (Controller.LoggedUser == null)
                            {
                                MessageBox.Show("Usuário Inválido", "Erro ao acessar");
                            }
                        }));
                    }
                }
            }
            else
            {
                context.UsuarioSet.Add(Controller.LoggedUser);
                context.SaveChanges();
                Application.Current.Dispatcher.Invoke((Action)(() => {
                    foreach (Button b in GridButtons.Children)
                    {
                        b.IsEnabled = true;
                    }
                    LoadingGrid.Visibility = Visibility.Collapsed;
                    Menu.IsEnabled = true;
                }));
            }
            Application.Current.Dispatcher.Invoke((Action)(() => { TextBlockNomeUsuario.Text = Controller.LoggedUser.Nome; }));
        }
Beispiel #26
0
        private void buttonAdd_Click(object sender, RoutedEventArgs e)
        {
            Fornecedor fornecedor = null;
            var        ctx        = new ERPDBModelContainer();

            try {
                if (textBoxNome.Text == "")
                {
                    throw new Exception();
                }
                fornecedor = new Fornecedor()
                {
                    Nome = textBoxNome.Text
                };
            }catch {
                MessageBox.Show("Erro ao cadastrar, certifique-se de que todos os campos obrigatórios foram preenchidos corretamente", "Erro ao Cadastrar", MessageBoxButton.OK, MessageBoxImage.Error);
                fornecedor = null;
            }
            if (textBoxTelefone.Text != "")
            {
                fornecedor.Telefone = textBoxTelefone.Text;
            }
            if (textBoxCelular.Text != "")
            {
                fornecedor.Celular = textBoxCelular.Text;
            }
            if (textBoxCNPJ.Text != "")
            {
                fornecedor.CNPJ = textBoxCNPJ.Text;
            }
            Endereco endereco = null;

            if (textBoxEndereco.Text != "")
            {
                if (endereco == null)
                {
                    endereco = new Endereco();
                }
                endereco.Logradouro = textBoxEndereco.Text;
            }
            if (textBoxBairro.Text != "")
            {
                if (endereco == null)
                {
                    endereco = new Endereco();
                }
                endereco.Bairro = textBoxBairro.Text;
            }
            if (textBoxCidade.Text != "")
            {
                if (endereco == null)
                {
                    endereco = new Endereco();
                }
                endereco.Cidade = textBoxCidade.Text;
            }
            if (textBoxEstado.Text != "")
            {
                if (endereco == null)
                {
                    endereco = new Endereco();
                }
                endereco.Estado = textBoxEstado.Text;
            }
            if (textBoxCep.Text != "")
            {
                if (endereco == null)
                {
                    endereco = new Endereco();
                }
                endereco.CEP = textBoxCep.Text;
            }
            if (endereco != null)
            {
                endereco.Fornecedor = fornecedor;
            }
            if (textBoxEmail.Text != "")
            {
                fornecedor.Email = textBoxEmail.Text;
            }
            if (textBoxObservacoes.Text != "")
            {
                fornecedor.Observacoes = textBoxObservacoes.Text;
            }

            if (fornecedor != null)
            {
                var query = ctx.FornecedorSet.Where(f => f.Nome == fornecedor.Nome).ToList();
                if (query.Count == 0)
                {
                    if (endereco != null)
                    {
                        ctx.EnderecoSet.Add(endereco);
                    }
                    else
                    {
                        ctx.FornecedorSet.Add(fornecedor);
                    }
                    ctx.SaveChanges();
                    Controller.Log("Adicionou o Fornecedor: " + fornecedor.Nome);
                    if (MessageBox.Show("Fornecedor Cadastrado com Sucesso!\nLimpar informações e cadastrar outro fornecedor?", "Sucesso!", MessageBoxButton.YesNo) == MessageBoxResult.Yes)
                    {
                        buttonLimpar_Click(sender, e);
                    }
                    else
                    {
                        this.Close();
                    }
                }
                else
                {
                    if (MessageBox.Show("Nome já existente, deseja cadastrar mesmo assim?", "Erro", MessageBoxButton.YesNo) == MessageBoxResult.Yes)
                    {
                        ctx.FornecedorSet.Add(fornecedor);
                        ctx.SaveChanges();
                        if (MessageBox.Show("Produto Cadastrado com Sucesso!\nLimpar informações e cadastrar outro produto?", "Sucesso!", MessageBoxButton.YesNo) == MessageBoxResult.Yes)
                        {
                            buttonLimpar_Click(sender, e);
                        }
                        else
                        {
                            this.Close();
                        }
                    }
                    else
                    {
                        this.Close();
                    }
                }
            }
        }
Beispiel #27
0
        private void buttonAdd_Click(object sender, RoutedEventArgs e)
        {
            Funcionario funcionario = null;
            var         ctx         = new ERPDBModelContainer();

            try {
                if (textBoxNome.Text == "")
                {
                    throw new Exception();
                }
                funcionario = new Funcionario()
                {
                    Nome = textBoxNome.Text, Senha = Controller.getMD5(textBoxPassword.Password)
                };
                var permissoes = new List <Permissao>();
                foreach (CheckBox cb in ListBoxPermissoes.Items)
                {
                    if ((bool)cb.IsChecked)
                    {
                        permissoes.Add((Permissao)cb.Tag);
                    }
                }
                funcionario.Permissao = permissoes;
            } catch {
                MessageBox.Show("Erro ao cadastrar, certifique-se de que todos os campos obrigatórios foram preenchidos corretamente", "Erro ao Cadastrar", MessageBoxButton.OK, MessageBoxImage.Error);
                funcionario = null;
            }
            if (textBoxTelefone.Text != "")
            {
                funcionario.Telefone = textBoxTelefone.Text;
            }
            if (textBoxCelular.Text != "")
            {
                funcionario.Celular = textBoxCelular.Text;
            }
            if (textBoxCPF.Text != "")
            {
                funcionario.Cpf = textBoxCPF.Text;
            }
            Endereco endereco = null;

            if (textBoxEndereco.Text != "")
            {
                if (endereco == null)
                {
                    endereco = new Endereco();
                }
                endereco.Logradouro = textBoxEndereco.Text;
            }
            if (textBoxBairro.Text != "")
            {
                if (endereco == null)
                {
                    endereco = new Endereco();
                }
                endereco.Bairro = textBoxBairro.Text;
            }
            if (textBoxCidade.Text != "")
            {
                if (endereco == null)
                {
                    endereco = new Endereco();
                }
                endereco.Cidade = textBoxCidade.Text;
            }
            if (textBoxEstado.Text != "")
            {
                if (endereco == null)
                {
                    endereco = new Endereco();
                }
                endereco.Estado = textBoxEstado.Text;
            }
            if (textBoxCep.Text != "")
            {
                if (endereco == null)
                {
                    endereco = new Endereco();
                }
                endereco.CEP = textBoxCep.Text;
            }
            if (endereco != null)
            {
                endereco.Usuario = funcionario;
            }
            if (textBoxEmail.Text != "")
            {
                funcionario.Email = textBoxEmail.Text;
            }

            if (funcionario != null)
            {
                var query = ctx.UsuarioSet.OfType <Funcionario>().Where(f => f.Nome == funcionario.Nome).ToList();
                if (query.Count == 0)
                {
                    //ctx.UsuarioSet.Add(funcionario);
                    //ctx.UsuarioSet.Attach(endereco.Usuario);
                    if (endereco != null)
                    {
                        ctx.EnderecoSet.Add(endereco);
                    }
                    else
                    {
                        ctx.UsuarioSet.Add(funcionario);
                    }
                    ctx.SaveChanges();
                    var s = "";
                    foreach (Permissao p in funcionario.Permissao)
                    {
                        s += "\n - " + p.Descricao;
                    }
                    Controller.Log("Adicionou o Funcionário: " + funcionario.Nome + " com as seguintes permissões:" + s);
                    if (MessageBox.Show("Funcionário Cadastrado com Sucesso!\nLimpar informações e cadastrar outro Funcionário?", "Sucesso!", MessageBoxButton.YesNo) == MessageBoxResult.Yes)
                    {
                        buttonLimpar_Click(sender, e);
                    }
                    else
                    {
                        this.Close();
                    }
                }
                else
                {
                    MessageBox.Show("Nome já existente", "Erro");
                }
            }
        }
Beispiel #28
0
 public ActionResult Comprar(string id)
 {
     try { var ctx = new ERPDBModelContainer(); return(View(ctx.ProdutoSet.Single(o => o.Nome == id))); }
     catch { return(HttpNotFound()); }
 }
Beispiel #29
0
        private void buttonAdd_Click(object sender, RoutedEventArgs e)
        {
            Produto produto;
            var     context = new ERPDBModelContainer();

            try {
                produto = new Produto()
                {
                    Codigo     = Int32.Parse(textBoxCodigo.Text),
                    Nome       = textBoxNome.Text,
                    PrecoCusto = Double.Parse(textBoxPrecoCusto.Text.Substring(1), NumberStyles.Currency, CultureInfo.InvariantCulture),
                    PrecoVista = Double.Parse(textBoxPrecoVista.Text.Substring(1), NumberStyles.Currency, CultureInfo.InvariantCulture),
                    //Categoria = textBoxCategoria.Text,
                    Descricao = textBoxDescricao.Text
                };//Double.Parse(textBoxPrecoCusto.Text.Substring(1), NumberStyles.Currency, CultureInfo.InvariantCulture)
            } catch {
                MessageBox.Show("Erro ao cadastrar, certifique-se de que todos os campos obrigatórios foram preenchidos corretamente", "Erro ao Cadastrar", MessageBoxButton.OK, MessageBoxImage.Error);
                produto = null;
            }
            try {
                if (produto != null && textBoxPrecoPrazo.IsEnabled && textBoxPrecoPrazo.Text != "$0.00")
                {
                    produto.PrecoPrazo = Double.Parse(textBoxPrecoPrazo.Text.Substring(1), NumberStyles.Currency, CultureInfo.InvariantCulture);
                }
            } catch {
                MessageBox.Show("Erro ao cadastrar Preço a Prazo, certifique-se de que o valor inserido é maior que 0", "Erro ao Cadastrar", MessageBoxButton.OK, MessageBoxImage.Error);
                produto = null;
            }
            try {
                if (produto != null && textBoxEstoque.IsEnabled && textBoxEstoque.Text != "" && Double.Parse(textBoxEstoque.Text) >= 0)
                {
                    produto.Quantidade = Double.Parse(textBoxEstoque.Text);
                }
                else
                {
                    throw new Exception();
                }
            } catch { MessageBox.Show("Erro de Estoque, certifique-se de que o valor inserido é maior que 0", "Erro ao Cadastrar", MessageBoxButton.OK, MessageBoxImage.Error); produto = null; }
            try {
                if (produto != null && AutoCompleteBoxCategoria.Text != "")
                {
                    if (context.CategoriaSet.SingleOrDefault(o => o.Nome == AutoCompleteBoxCategoria.Text) != null)
                    {
                        produto.Categoria = AutoCompleteBoxCategoria.SelectedItem as Categoria;
                    }
                    else
                    {
                        var c = new Categoria()
                        {
                            Nome = AutoCompleteBoxCategoria.Text, Produto = new List <Produto>()
                        };
                        c.Produto.Add(produto);
                        context.CategoriaSet.Add(c);
                    }
                }
                if (produto != null && comboBoxFornecedores.SelectedItem != null)
                {
                    produto.Fornecedor = context.FornecedorSet.SingleOrDefault(o => o.Nome == (string)comboBoxFornecedores.SelectedItem);
                }
            } catch { produto = null; }
            try {
                if ((bool)checkBoxOnline.IsChecked)
                {
                    produto.DisponivelLojaVirtual = true;
                }
            } catch { }
            if (edit_mode)
            {
                var original = context.ProdutoSet.First(o => o.Id == produto_edit.Id);
                original.Nome       = produto.Nome;
                original.Codigo     = produto.Codigo;
                original.Categoria  = produto.Categoria;
                original.Descricao  = produto.Descricao;
                original.Fornecedor = produto.Fornecedor;
                original.PrecoCusto = produto.PrecoCusto;
                original.PrecoPrazo = produto.PrecoPrazo;
                original.PrecoVista = produto.PrecoVista;
                original.Quantidade = produto.Quantidade;
                context.SaveChanges();
                MessageBox.Show("Produto alterado com Sucesso!", "Sucesso!");
                this.Close();
            }
            else if (produto != null)
            {
                var query = context.ProdutoSet.Where(p => p.Codigo == produto.Codigo).ToList();
                if (query.Count == 0)
                {
                    Controller.Log("Adicionou o Produto: " + produto.Nome + " com o código: " + produto.Codigo);
                    context.ProdutoSet.Add(produto);
                    context.SaveChanges();
                    if (MessageBox.Show("Produto Cadastrado com Sucesso!\nLimpar informações e cadastrar outro produto?", "Sucesso!", MessageBoxButton.YesNo) == MessageBoxResult.Yes)
                    {
                        buttonLimpar_Click(sender, e);
                        Window_ContentRendered(sender, e);
                    }
                    else
                    {
                        this.Close();
                    }
                }
                else
                {
                    MessageBox.Show("Código já existente", "Erro ao Cadastrar Produto", MessageBoxButton.OK, MessageBoxImage.Error);
                    produto = null;
                }
            }
        }
Beispiel #30
0
 private void ButtonCancelar_Click(object sender, RoutedEventArgs e)
 {
     if (Controller.LoggedUser.GetType() == typeof(Administrador) ||
         Controller.LoggedUser.Permissao.Contains(Controller.Permissoes["EditarVendas"]))
     {
         var context = new ERPDBModelContainer();
         foreach (VendaAdapter venda in DataGridVendas.SelectedItems)
         {
             var v = context.VendaSet.Single(o => o.Id == venda.Id);
             var l = new List <ProdutoVendaItem>();
             //v.Funcionario = null;
             v.Cliente = null;
             foreach (ProdutoVendaItem pvi in v.ProdutoVendaItem)
             {
                 l.Add(pvi); if (pvi.Produto != null)
                 {
                     context.ProdutoSet.Single(o => o.Id == pvi.Produto.Id).Quantidade += pvi.Quantidade;
                 }
             }
             context.ProdutoVendaItemSet.RemoveRange(l);
             context.VendaSet.Remove(v);
             var s = "";
             foreach (ProdutoVendaItem pvi in venda.ProdutoVendaItem)
             {
                 s += "\n - " + pvi.Quantidade + " " + pvi.Produto.Nome;
             }
             Controller.Log("Cancelou a venda: " + v.Id + " com o valor de " + v.Total + " que continha os seguintes produtos:" + s);
         }
         context.SaveChanges();
         Update(sender, e);
     }
     else
     {
         var t = true;
         foreach (Venda v in DataGridVendas.SelectedItems)
         {
             if (v.Funcionario != Controller.LoggedUser)
             {
                 t = false;
             }
         }
         if (t)
         {
             var context = new ERPDBModelContainer();
             foreach (VendaAdapter venda in DataGridVendas.SelectedItems)
             {
                 var l = new List <ProdutoVendaItem>();
                 var v = context.VendaSet.Single(o => o.Id == venda.Id);
                 v.Funcionario = null;
                 v.Cliente     = null;
                 foreach (ProdutoVendaItem pvi in v.ProdutoVendaItem)
                 {
                     l.Add(pvi); context.ProdutoSet.Single(o => o.Id == pvi.Produto.Id).Quantidade += pvi.Quantidade;
                 }
                 context.ProdutoVendaItemSet.RemoveRange(l);
                 context.VendaSet.Remove(v);
             }
             context.SaveChanges();
             Update(sender, e);
         }
     }
 }