Ejemplo n.º 1
0
        public JsonResult Edit(Produto Produto)
        {
            var Retorno = new RetornoJson();

            if (Produto.Nome == null)
            {
                Retorno.Mensagem += "<span> Inserir o Produto</span>";
            }
            if (Produto.Preco <= 0)
            {
                Retorno.Mensagem += "<span> Inserir um Preço valido</span>";
            }
            if (Produto.Quantidade <= 0)
            {
                Retorno.Mensagem += "<span> Inserir Quantidade</span>";
            }

            if (Retorno.Mensagem != "")
            {
                return(Json(Retorno, JsonRequestBehavior.AllowGet));
            }

            var bdProduto = new ProdutoRepositorioEF(contexto);

            bdProduto.Atualizar(Produto);
            bdProduto.SalvarTodos();

            Retorno.Mensagem += "<span> Editado com sucesso</span>";

            Retorno.Sucesso      = true;
            Retorno.Redirecionar = true;
            Retorno.Link         = "/Admin/Produto/Index";

            return(Json(Retorno, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 2
0
        public JsonResult Edit(Servico Servico)
        {
            var Retorno = new RetornoJson();

            if (Servico.Nomeservico == null)
            {
                Retorno.Mensagem += "<span> Inserir o Nome do Servico</span>";
            }
            if (Servico.Preco == 0 || Servico.Preco < 0)
            {
                Retorno.Mensagem += "<span> Digite um Preço valido </span>";
            }
            if (Servico.TempoGasto == 0 || Servico.TempoGasto < 0)
            {
                Retorno.Mensagem += "<span> Digite um Tempo </span>";
            }
            if (Retorno.Mensagem != "")
            {
                return(Json(Retorno, JsonRequestBehavior.AllowGet));
            }

            var bdServico = new ServicoRepositorioEF(contexto);

            bdServico.Atualizar(Servico);
            bdServico.SalvarTodos();

            Retorno.Mensagem += "<span> Editado com sucesso</span>";

            Retorno.Sucesso      = true;
            Retorno.Redirecionar = true;
            Retorno.Link         = "/Admin/Servico/Index";

            return(Json(Retorno, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 3
0
        public JsonResult EditarEstoque(Produto produto)
        {
            var Retorno = new RetornoJson();

            if (produto.Quantidade <= 0)
            {
                Retorno.Mensagem += "<span>Inserir uma Quantidade Maior que ZERO</span>";
            }

            if (produto.StatusId.Equals(2))
            {
                Retorno.Mensagem += "<span>O Produto deve está ativo para continuar</span>";
            }

            if (Retorno.Mensagem != "")
            {
                return(Json(Retorno, JsonRequestBehavior.AllowGet));
            }

            var bdProduto        = new ProdutoRepositorioEF(contexto);
            var ProdutoAtualizar = contexto.Produto.Where(x => x.ProdutoId == produto.ProdutoId).FirstOrDefault();

            ProdutoAtualizar.Quantidade = ProdutoAtualizar.Quantidade + produto.Quantidade;
            bdProduto.Atualizar(ProdutoAtualizar);
            bdProduto.SalvarTodos();

            Retorno.Sucesso      = true;
            Retorno.Redirecionar = true;
            Retorno.Link         = "/Admin/Produto/Index";
            return(Json(Retorno, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 4
0
        public JsonResult Create(CategoriaFoto CategoriaFoto)
        {
            var Retorno = new RetornoJson();

            if (CategoriaFoto.Nome == null)
            {
                Retorno.Mensagem += "<span> Digite o Nome</span>";
            }

            if (Retorno.Mensagem != "")
            {
                return(Json(Retorno, JsonRequestBehavior.AllowGet));
            }

            try
            {
                var bdCategoriaFoto = new CategoriaFotoRepositorioEF(contexto);
                bdCategoriaFoto.Adicionar(CategoriaFoto);
                bdCategoriaFoto.SalvarTodos();

                Retorno.Mensagem    += "<span> Cadastrado com sucesso</span>";
                Retorno.Sucesso      = true;
                Retorno.Redirecionar = true;
                Retorno.Link         = "/Admin/CategoriaFoto/Index";
            }catch (Exception e)
            {
                Retorno.Mensagem += "<span> CategoriaFoto não cadastrado.</span>";
            }
            return(Json(Retorno, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 5
0
        public JsonResult Edit(CategoriaFoto CategoriaFoto)
        {
            var Retorno = new RetornoJson();

            if (CategoriaFoto.Nome == null)
            {
                Retorno.Mensagem += "<span> Digite o Nome</span>";
            }

            if (Retorno.Mensagem != "")
            {
                return(Json(Retorno, JsonRequestBehavior.AllowGet));
            }

            var bdCategoriaFoto = new CategoriaFotoRepositorioEF(contexto);

            bdCategoriaFoto.Atualizar(CategoriaFoto);
            bdCategoriaFoto.SalvarTodos();

            Retorno.Mensagem += "<span> Editado com sucesso</span>";

            Retorno.Sucesso      = true;
            Retorno.Redirecionar = true;
            Retorno.Link         = "/Admin/CategoriaFoto/Index";

            return(Json(Retorno, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 6
0
        public JsonResult Edit(Foto Foto, HttpPostedFileBase file)
        {
            var Retorno = new RetornoJson();

            if (Foto.NomeFoto == null)
            {
                Retorno.Mensagem += "<span> Digite o Nome</span>";
            }
            //editar staus , categoria foto e funcionario
            if (Retorno.Mensagem != "")
            {
                return(Json(Retorno, JsonRequestBehavior.AllowGet));
            }

            if (file != null)
            {
                string nome = "Foto-" + NomeArquivo.GerarNomeArquivo(file.FileName);
                string path = Path.Combine(Server.MapPath(Caminho.Foto()), Path.GetFileName(nome));
                file.SaveAs(path);
                Foto.Imagem = nome;
            }

            var bdFoto = new FotoRepositorioEF(contexto);

            bdFoto.Atualizar(Foto);
            bdFoto.SalvarTodos();

            Retorno.Mensagem += "<span> Editado com sucesso</span>";

            Retorno.Sucesso      = true;
            Retorno.Redirecionar = true;
            Retorno.Link         = "/Admin/Foto/Index";

            return(Json(Retorno, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 7
0
        public JsonResult Index(FormCollection Form)
        {
            RetornoJson Retorno = new RetornoJson();

            try
            {
                ComandaOnlineEntities Contexto = new ComandaOnlineEntities();

                Configuracao Instancia = new Configuracao
                {
                    Capacidade = Convert.ToInt32(Form["Capacidade"]),
                    Nome       = Convert.ToString(Form["Nome"]).ToUpper(),
                    Email      = Convert.ToString(Form["Email"]).ToUpper(),
                    Situacao   = true,
                };

                IQueryable <Configuracao> ListaConfiguracoesAtivas = Contexto.Configuracao.Where(x => x.Situacao == true);
                foreach (var Config in ListaConfiguracoesAtivas)
                {
                    Config.Situacao = false;
                }

                Contexto.Configuracao.Add(Instancia);
                Contexto.SaveChanges();

                Retorno.Status = ResultadoRetornoJson.Sucesso;
            }
            catch (Exception)
            {
                Retorno.Status = ResultadoRetornoJson.Erro;
            }

            return(Json(Retorno, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 8
0
        public JsonResult LogarNoSistema(Funcionario funcionario)
        {
            var retorno = new RetornoJson();


            retorno.Sucesso = false;

            if (funcionario.Login == null)
            {
                retorno.Mensagem += "<span> Digite seu Login </span>";
            }
            if (funcionario.Senha == null)
            {
                retorno.Mensagem += "<span> Digite sua Senha </span>";
            }

            var Usuario = contexto.Funcionario.Where(x => x.Login == funcionario.Login && x.Senha == funcionario.Senha && x.Tipo.Equals("Gerente")).FirstOrDefault();

            if (Usuario == null)
            {
                retorno.Mensagem += "<span> Usuário ou senha incorreto</span>";
            }
            else
            {
                UserLogin.SetUsuarioAdmin(Usuario);
                //Session["Usuario"] = Usuario;
                retorno.Sucesso      = true;
                retorno.Redirecionar = true;
                retorno.Link         = Url.Action("Index", "Home");
            }

            return(Json(retorno, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 9
0
        public JsonResult Edit(Cliente Cliente, string HiddenSenha)
        {
            var Retorno = new RetornoJson();

            if (Cliente.Nome == null)
            {
                Retorno.Mensagem += "<span> Digite o Nome</span>";
            }
            if (Cliente.CPF == null)
            {
                Retorno.Mensagem += "<span> Digite o CPF</span>";
            }
            if (Cliente.Endereco == null)
            {
                Retorno.Mensagem += "<span> Digite o Endereço</span>";
            }
            if (Cliente.Telefone == null)
            {
                Retorno.Mensagem += "<span> Digite o Telefone</span>";
            }
            if (Cliente.Email == null)
            {
                Retorno.Mensagem += "<span> Digite o Email</span>";
            }
            if (Retorno.Mensagem != "")
            {
                return(Json(Retorno, JsonRequestBehavior.AllowGet));
            }

            var bdCliente = new ClienteRepositorioEF(contexto);

            if (Cliente.Login != null && HiddenSenha != "")
            {
                Cliente.Senha = HiddenSenha;
            }

            bdCliente.Atualizar(Cliente);
            bdCliente.SalvarTodos();

            Retorno.Mensagem += "<span> Editado com sucesso</span>";

            Retorno.Sucesso      = true;
            Retorno.Redirecionar = true;
            Retorno.Link         = "/Admin/Cliente/Index";

            return(Json(Retorno, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 10
0
        public JsonResult Create(Cliente Cliente)
        {
            var Retorno = new RetornoJson();

            if (Cliente.Nome == null)
            {
                Retorno.Mensagem += "<span> Digite o Nome</span>";
            }
            if (Cliente.CPF == null)
            {
                Retorno.Mensagem += "<span> Digite o CPF</span>";
            }
            if (Cliente.Endereco == null)
            {
                Retorno.Mensagem += "<span> Digite o Endereço</span>";
            }
            if (Cliente.Telefone == null)
            {
                Retorno.Mensagem += "<span> Digite o Telefone</span>";
            }
            if (Cliente.Email == null)
            {
                Retorno.Mensagem += "<span> Digite o Email</span>";
            }
            if (Retorno.Mensagem != "")
            {
                return(Json(Retorno, JsonRequestBehavior.AllowGet));
            }

            try
            {
                var bdCliente = new ClienteRepositorioEF(contexto);
                bdCliente.Adicionar(Cliente);
                bdCliente.SalvarTodos();

                Retorno.Mensagem    += "<span> Cadastrado com sucesso</span>";
                Retorno.Sucesso      = true;
                Retorno.Redirecionar = true;
                Retorno.Link         = "/Admin/Cliente/Index";
            }
            catch (Exception e)
            {
                Retorno.Mensagem += "<span> Cliente não cadastrado.</span>";
            }
            return(Json(Retorno, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 11
0
        public JsonResult CriarNotificacao(Notificacao notificacao)
        {
            var Retorno = new RetornoJson();

            if (notificacao.Titulo == null)
            {
                Retorno.Mensagem += "<span> Inserir o Titulo</span>";
            }
            if (notificacao.Mensagem == null)
            {
                Retorno.Mensagem += "<span> Inserir a Mensagem</span>";
            }
            if (Retorno.Mensagem != "")
            {
                return(Json(Retorno, JsonRequestBehavior.AllowGet));
            }
            try
            {
                notificacao.DataNotificacao = DateTime.Now;
                notificacao.FuncionarioId   = funcionarioLogado.FuncionarioId;

                if (notificacao.FuncionarioDestino == 0)
                {
                    notificacao.FuncionarioDestino = null;
                }

                var bdNotificacao = new NotificacaoRepositorioEF(contexto);
                bdNotificacao.Adicionar(notificacao);
                bdNotificacao.SalvarTodos();

                Retorno.Mensagem  += "<span> Enviada com sucesso !</span>";
                Retorno.LimparForm = true;
                Retorno.Sucesso    = true;
            }
            catch (Exception e)
            {
                Retorno.Mensagem += "<span> Erro ao tentar enviar a Notificacao</span>";
            }

            return(Json(Retorno, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 12
0
        public JsonResult CreateNotificacao(Notificacao Notificacao)
        {
            var Retorno = new RetornoJson();

            if (Notificacao.Titulo == null)
            {
                Retorno.Mensagem += "<span> Inserir Titulo</span>";
            }
            if (Notificacao.Mensagem == null)
            {
                Retorno.Mensagem += "<span> Digite a Mensagem</span>";
            }
            if (Retorno.Mensagem != "")
            {
                return(Json(Retorno, JsonRequestBehavior.AllowGet));
            }
            try
            {
                if (Notificacao.FuncionarioDestino == 0)
                {
                    Notificacao.FuncionarioDestino = null;
                }

                Notificacao.DataNotificacao = DateTime.Now;
                Notificacao.FuncionarioId   = funcionarioLogado.FuncionarioId;

                var bdNotificacao = new NotificacaoRepositorioEF(contexto);
                bdNotificacao.Adicionar(Notificacao);
                bdNotificacao.SalvarTodos();

                Retorno.Mensagem  += "<span> Notificação salva com sucesso</span>";
                Retorno.LimparForm = true;
                Retorno.Sucesso    = true;
            }
            catch (Exception e)
            {
                Retorno.Mensagem += "<span> Cadastrado nao foi completado</span>";
            }
            return(Json(Retorno, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 13
0
        public JsonResult Create(Foto Foto, HttpPostedFileBase file)
        {
            var Retorno = new RetornoJson();

            if (Foto.NomeFoto == null)
            {
                Retorno.Mensagem += "<span> Digite o Nome</span>";
            }
            //validar status , categoria e funcionario

            if (Retorno.Mensagem != "")
            {
                return(Json(Retorno, JsonRequestBehavior.AllowGet));
            }

            if (file != null)
            {
                string nome = "Foto-" + NomeArquivo.GerarNomeArquivo(file.FileName);
                string path = Path.Combine(Server.MapPath(Caminho.Foto()), Path.GetFileName(nome));
                file.SaveAs(path);
                Foto.Imagem = nome;
            }

            try
            {
                Foto.DataFoto = DateTime.Now;
                var bdFoto = new FotoRepositorioEF(contexto);
                bdFoto.Adicionar(Foto);
                bdFoto.SalvarTodos();

                Retorno.Mensagem    += "<span> Cadastrado com sucesso</span>";
                Retorno.Sucesso      = true;
                Retorno.Redirecionar = true;
                Retorno.Link         = "/Admin/Foto/Index";
            }catch (Exception e)
            {
                Retorno.Mensagem += "<span> Foto não cadastrado.</span>";
            }
            return(Json(Retorno, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 14
0
        public JsonResult Create(Produto Produto)
        {
            var Retorno = new RetornoJson();

            if (Produto.Nome == null)
            {
                Retorno.Mensagem += "<span> Inserir o Produto</span>";
            }
            if (Produto.Preco <= 0)
            {
                Retorno.Mensagem += "<span> Inserir um Preço valido</span>";
            }
            if (Produto.Quantidade <= 0)
            {
                Retorno.Mensagem += "<span> Inserir Quantidade</span>";
            }

            if (Retorno.Mensagem != "")
            {
                return(Json(Retorno, JsonRequestBehavior.AllowGet));
            }

            try
            {
                var bdProduto = new ProdutoRepositorioEF(contexto);
                bdProduto.Adicionar(Produto);
                bdProduto.SalvarTodos();

                Retorno.Mensagem    += "<span> Cadastrado com sucesso</span>";
                Retorno.Sucesso      = true;
                Retorno.Redirecionar = true;
                Retorno.Link         = "/Admin/Produto/Index";
            }
            catch (Exception e)
            {
                Retorno.Mensagem += "<span> Cadastrado nao foi completado</span>";
            }
            return(Json(Retorno, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 15
0
        public JsonResult Create(Servico Servico)
        {
            var Retorno = new RetornoJson();

            if (Servico.Nomeservico == null)
            {
                Retorno.Mensagem += "<span> Inserir o Nome do Servico</span>";
            }
            if (Servico.Preco == 0 || Servico.Preco < 0)
            {
                Retorno.Mensagem += "<span> Digite um Preço valido </span>";
            }
            if (Servico.TempoGasto == 0 || Servico.TempoGasto < 0)
            {
                Retorno.Mensagem += "<span> Digite um Tempo </span>";
            }
            if (Retorno.Mensagem != "")
            {
                return(Json(Retorno, JsonRequestBehavior.AllowGet));
            }

            try
            {
                var bdServico = new ServicoRepositorioEF(contexto);
                bdServico.Adicionar(Servico);
                bdServico.SalvarTodos();

                Retorno.Mensagem    += "<span> Cadastrado com sucesso</span>";
                Retorno.Sucesso      = true;
                Retorno.Redirecionar = true;
                Retorno.Link         = "/Admin/Servico/Index";
            }
            catch (Exception e)
            {
                Retorno.Mensagem += "<span> Não foi possivel persistir seu cadastro</span>";
            }
            return(Json(Retorno, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 16
0
        public JsonResult EditProdutoFiado(RegistroCompraFiada compraFiada, FormCollection collection)
        {
            var Retorno = new RetornoJson();

            if (!UI.Web.Helpers.Utilitarios.validarData(compraFiada.DataParaPagamento.ToString()))
            {
                Retorno.Mensagem += "<span>Data invalida, inserir data correta</span>";
            }
            if (compraFiada.DataParaPagamento <= compraFiada.DataCompra || compraFiada.DataParaPagamento > compraFiada.DataCompra.AddMonths(2))
            {
                Retorno.Mensagem += "<span> Não aceitamos data anterior a data da compra ou data para pagamento maior que dois meses em relação a compra</span>";
            }
            if (Retorno.Mensagem != "")
            {
                return(Json(Retorno, JsonRequestBehavior.AllowGet));
            }

            var bdRegistroCompraFiada = new RegistroCompraFiadaRepositorioEF(contexto);

            bdRegistroCompraFiada.Atualizar(compraFiada);
            bdRegistroCompraFiada.SalvarTodos();


            var ProdutosSalvosBancoDados = contexto.ProdutoFiado.Where(x => x.RegistroCompraFiadaId == compraFiada.RegistroCompraFiadaId).ToList();
            var bdProduto      = new ProdutoRepositorioEF(contexto);
            var bdProdutoFiado = new ProdutoFiadoRepositorioEF(contexto);
            var Estoque        = contexto.Produto.ToList();

            if (collection["Produtos"] == null)
            {
                Retorno.Mensagem += "<span> Não foi selecionado nenhum Produto!<span>";
                if (Retorno.Mensagem != "")
                {
                    return(Json(Retorno, JsonRequestBehavior.AllowGet));
                }
                //// devolve para o estoque os produtos da compra fiada
                //foreach (var produtoSalvoBancoDados in ProdutosSalvosBancoDados)
                //{
                //    var Produto = contexto.Produto.Where(x => x.ProdutoId == produtoSalvoBancoDados.ProdutoId).FirstOrDefault();
                //    Produto.Quantidade = Produto.Quantidade + produtoSalvoBancoDados.Quantidade;
                //    bdProduto.Atualizar(Produto);
                //}
                //bdProduto.SalvarTodos();

                ////exclui a compra de produto fiado
                //var ProdutosFiado = contexto.ProdutoFiado.Where(x => x.RegistroCompraFiadaId == compraFiada.RegistroCompraFiadaId).ToList();
                //foreach (var produtoFiado in ProdutosFiado)
                //{
                //    bdProdutoFiado.Excluir(x => x.RegistroCompraFiadaId == produtoFiado.RegistroCompraFiadaId && x.ProdutoId == produtoFiado.ProdutoId);
                //}
                //bdProdutoFiado.SalvarTodos();

                //Retorno.Sucesso = true;
                //Retorno.LimparForm = true;
                //Retorno.Redirecionar = true;
                //Retorno.Link = "/Admin/CompraFiado/Index";
            }
            else
            {
                var Produtos = collection["Produtos"].Split(',');

                // se o poduto tiver no banco mas nao tiver na lista
                foreach (var produtoBanco in ProdutosSalvosBancoDados)
                {
                    if (!Produtos.Any(x => x == produtoBanco.ProdutoId.ToString()))
                    {
                        var ProdutoAtualizar = contexto.Produto.Where(x => x.ProdutoId == produtoBanco.ProdutoId).FirstOrDefault();
                        //devolver para o estoque o produto excluido da compra
                        ProdutoAtualizar.Quantidade = ProdutoAtualizar.Quantidade + produtoBanco.Quantidade;
                        bdProduto.Atualizar(ProdutoAtualizar);
                        bdProduto.SalvarTodos();
                        // excluir o produto que não foi selecionado na edição
                        bdProdutoFiado.Excluir(x => x.RegistroCompraFiadaId == compraFiada.RegistroCompraFiadaId &&
                                               x.ProdutoId == produtoBanco.ProdutoId);
                        bdProdutoFiado.SalvarTodos();
                    }
                }

                foreach (var produto in Produtos)
                {
                    var idProduto = int.Parse(produto);
                    var qtde      = int.Parse(collection["Quantidade_" + idProduto]);
                    //validação importante que não permite valor negativo
                    if (qtde < 0)
                    {
                        Retorno.Mensagem = "<span>Valor não pode ser Negativo</span>";
                        if (Retorno.Mensagem != "")
                        {
                            return(Json(Retorno, JsonRequestBehavior.AllowGet));
                        }
                    }
                    var Produto = contexto.Produto.Where(x => x.ProdutoId == idProduto).FirstOrDefault();

                    // se na lista tiver e no banco não tiver salva o que ta na lista no banco
                    if (!ProdutosSalvosBancoDados.Any(x => x.ProdutoId == idProduto) || ProdutosSalvosBancoDados == null)
                    {
                        //verifica se tem no estoque e subtrai a quantidade vendida
                        if (Estoque.Any(x => x.ProdutoId == idProduto && x.Quantidade >= qtde))
                        {
                            Produto.Quantidade = Produto.Quantidade - qtde;
                            bdProduto.Atualizar(Produto);
                            bdProduto.SalvarTodos();
                            // adiciona o produto na compra a prazo
                            bdProdutoFiado.Adicionar(new ProdutoFiado()
                            {
                                RegistroCompraFiadaId = compraFiada.RegistroCompraFiadaId,
                                ProdutoId             = idProduto,
                                Quantidade            = qtde
                            });
                            bdProdutoFiado.SalvarTodos();
                        }
                        else
                        {
                            Retorno.Mensagem += "<span>Produto não contem no estoque ou sua compra é maior do que tem disponivel</span>";
                        }
                        if (Retorno.Mensagem != "")
                        {
                            return(Json(Retorno, JsonRequestBehavior.AllowGet));
                        }
                    }
                    //se tiver na lista e tiver no banco mas quantidade é diferente
                    if (ProdutosSalvosBancoDados.Any(x => x.ProdutoId == idProduto && x.Quantidade != qtde))
                    {
                        var ProdutoFiadoAtualizar = contexto.ProdutoFiado.Where(x => x.ProdutoId == idProduto && x.RegistroCompraFiadaId == compraFiada.RegistroCompraFiadaId).FirstOrDefault();
                        int qtdeAtual             = ProdutosSalvosBancoDados.Where(x => x.ProdutoId == idProduto).FirstOrDefault().Quantidade;
                        int diferenca;

                        if (qtdeAtual > qtde)
                        {
                            diferenca = qtdeAtual - qtde;
                            //adicionar a diferenca para o estoque de produto e salvar nova quantidade
                            Produto.Quantidade = Produto.Quantidade + diferenca;
                            bdProduto.Atualizar(Produto);
                            bdProduto.SalvarTodos();
                            //altera a quantidade na compra produto fiado
                            ProdutoFiadoAtualizar.Quantidade = qtde;
                            bdProdutoFiado.Atualizar(ProdutoFiadoAtualizar);
                            bdProdutoFiado.SalvarTodos();
                        }
                        else
                        {
                            diferenca = qtde - qtdeAtual;
                            //verificar se tem no estoque
                            if (Estoque.Any(x => x.ProdutoId == idProduto && x.Quantidade >= diferenca))
                            {
                                //subtrair a quantidade comprada do estoque
                                Produto.Quantidade = Produto.Quantidade - diferenca;
                                bdProduto.Atualizar(Produto);
                                bdProduto.SalvarTodos();
                                //alterar quantidade na compra produto fiado
                                ProdutoFiadoAtualizar.Quantidade = qtde;
                                bdProdutoFiado.Atualizar(ProdutoFiadoAtualizar);
                                bdProdutoFiado.SalvarTodos();
                            }
                            else
                            {
                                Retorno.Mensagem += "<span>Sua alteração excede a quantidade disponivel</span>";
                            }
                            if (Retorno.Mensagem != "")
                            {
                                return(Json(Retorno, JsonRequestBehavior.AllowGet));
                            }
                        }
                    }
                }
            }
            Retorno.Sucesso      = true;
            Retorno.LimparForm   = true;
            Retorno.Redirecionar = true;
            Retorno.Link         = "/Admin/CompraFiado/Index";
            return(Json(Retorno, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 17
0
        public JsonResult EditarCompra(RegistroCompra compra, FormCollection collection)
        {
            var Retorno = new RetornoJson();
            var ProdutosSalvoBancoDados = contexto.ItemCompra.Where(x => x.RegistroCompraId == compra.RegistroCompraId).ToList();
            var bdItemCompra            = new ItemCompraRepositorioEF(contexto);
            var bdProduto = new ProdutoRepositorioEF(contexto);

            var Compra = contexto.RegistroCompra.Where(x => x.RegistroCompraId == compra.RegistroCompraId).FirstOrDefault();

            Compra.ClienteId = compra.ClienteId;
            var bdRegistroCompra = new RegistroCompraRepositorioEF(contexto);

            bdRegistroCompra.Atualizar(Compra);
            bdRegistroCompra.SalvarTodos();

            //se nao for selecionado nenhum produto exclui todos os itens de compra
            if (collection["ProdutosSelecionados"] == null)
            {
                Retorno.Mensagem = "<span> Selecione a Compra</span>";
                if (Retorno.Mensagem != "")
                {
                    return(Json(Retorno, JsonRequestBehavior.AllowGet));
                }

                //var ItensDevolver = contexto.ItemCompra.Where(x => x.RegistroCompraId == compra.RegistroCompraId).ToList();
                //var Produtos = contexto.Produto.ToList();

                //foreach (var produto in Produtos)
                //{
                //    var Produto = contexto.Produto.Where(x => x.ProdutoId == produto.ProdutoId).FirstOrDefault();
                //    if (ItensDevolver.Any(x => x.ProdutoId == produto.ProdutoId))
                //    {
                //        int QtdeDevolver = ItensDevolver.Where(x => x.ProdutoId == produto.ProdutoId).FirstOrDefault().Quantidade;
                //        Produto.Quantidade = Produto.Quantidade + QtdeDevolver;
                //        bdProduto.Atualizar(Produto);
                //    }
                //}
                //bdProduto.SalvarTodos();

                //bdItemCompra.Excluir(x => x.RegistroCompraId == compra.RegistroCompraId);
                //bdItemCompra.SalvarTodos();
            }
            else
            {
                if (collection["ProdutosSelecionados"] != null)
                {
                    var ProdSelecionado = collection["ProdutosSelecionados"].Split(',');
                    var Estoque         = contexto.Produto.ToList();

                    // se tem no banco de dados mas não tem na lista
                    foreach (var produtoBanco in ProdutosSalvoBancoDados)
                    {
                        if (!ProdSelecionado.Any(x => x == produtoBanco.ProdutoId.ToString()))
                        {
                            //voltar a quantidade para o estoque de produtos
                            int QtdeProdutoDevolver = produtoBanco.Quantidade;
                            var Produto             = contexto.Produto.Where(x => x.ProdutoId == produtoBanco.ProdutoId).FirstOrDefault();
                            Produto.Quantidade = Produto.Quantidade + QtdeProdutoDevolver;
                            bdProduto.Atualizar(Produto);
                            bdProduto.SalvarTodos();
                            //exclui os produtos que não estao selecionados na edição
                            bdItemCompra.Excluir(x => x.ProdutoId == produtoBanco.ProdutoId && x.RegistroCompraId == produtoBanco.RegistroCompraId);
                            bdItemCompra.SalvarTodos();
                        }
                    }

                    //se tiver na lista e nao tiver no banco salva
                    foreach (var prodSelecionado in ProdSelecionado)
                    {
                        var idProdSelecionado = int.Parse(prodSelecionado);
                        var qtde = int.Parse(collection["Quantidade_Produto_" + idProdSelecionado]);
                        //validação importante que não permite valor negativo
                        if (qtde < 0)
                        {
                            Retorno.Mensagem = "<span>Valor não pode ser Negativo</span>";
                            if (Retorno.Mensagem != "")
                            {
                                return(Json(Retorno, JsonRequestBehavior.AllowGet));
                            }
                        }

                        if (!ProdutosSalvoBancoDados.Any(x => x.RegistroCompraId == compra.RegistroCompraId && x.ProdutoId == idProdSelecionado))
                        {
                            //validacao se tem no estoque
                            if (Estoque.Any(x => x.ProdutoId == idProdSelecionado && x.Quantidade >= qtde))
                            {
                                //subtrair produtos que foram comprados ao editar a compra
                                var Produto = contexto.Produto.Where(x => x.ProdutoId == idProdSelecionado).FirstOrDefault();
                                Produto.Quantidade = Produto.Quantidade - qtde;
                                bdProduto.Atualizar(Produto);
                                bdProduto.SalvarTodos();
                                // adicionar a compra do produto
                                bdItemCompra.Adicionar(new ItemCompra()
                                {
                                    ProdutoId        = idProdSelecionado,
                                    Quantidade       = qtde,
                                    RegistroCompraId = compra.RegistroCompraId
                                });
                                bdItemCompra.SalvarTodos();
                            }
                            else
                            {
                                Retorno.Mensagem += "<span>Produto excede a quantidade ou não tem no estoque</span>";
                            }
                        }

                        // se na lista tem e  no banco tem, mas quer trocar a quantidade
                        if (ProdutosSalvoBancoDados.Any(x => x.RegistroCompraId == compra.RegistroCompraId && x.ProdutoId == idProdSelecionado && x.Quantidade != qtde))
                        {
                            //subtrair ou adicionar a nova quantidade no estoque de produto
                            var ProdutoAtual = ProdutosSalvoBancoDados.Where(x => x.RegistroCompraId == compra.RegistroCompraId &&
                                                                             x.ProdutoId == idProdSelecionado).FirstOrDefault();
                            int qtdeAntiga = ProdutoAtual.Quantidade;
                            var Produto    = contexto.Produto.Where(x => x.ProdutoId == idProdSelecionado).FirstOrDefault();
                            int nova;

                            if (qtde > qtdeAntiga)
                            {
                                nova = qtde - qtdeAntiga;
                                if (Estoque.Any(x => x.ProdutoId == idProdSelecionado && x.Quantidade >= nova))
                                {
                                    //subtrai do estoque de produto
                                    Produto.Quantidade = Produto.Quantidade - nova;
                                    bdProduto.Atualizar(Produto);
                                    bdProduto.SalvarTodos();

                                    //atualiza a nova quantidade setada na compra do produto
                                    var ProdNovaQtde = contexto.ItemCompra.Where(x => x.RegistroCompraId == compra.RegistroCompraId &&
                                                                                 x.ProdutoId == idProdSelecionado).FirstOrDefault();

                                    ProdNovaQtde.Quantidade = qtde;
                                    bdItemCompra.Atualizar(ProdNovaQtde);
                                    bdItemCompra.SalvarTodos();
                                }
                                else
                                {
                                    Retorno.Mensagem += "<span>Produto excede a quantidade ou não tem no estoque</span>";
                                }
                            }

                            else
                            {
                                nova = qtdeAntiga - qtde;
                                //devolve a quantidade para o estoque de produto
                                Produto.Quantidade = Produto.Quantidade + nova;
                                bdProduto.Atualizar(Produto);
                                bdProduto.SalvarTodos();

                                //atualiza a nova quantidade setada na compra do produto
                                var ProdNovaQtde = contexto.ItemCompra.Where(x => x.RegistroCompraId == compra.RegistroCompraId &&
                                                                             x.ProdutoId == idProdSelecionado).FirstOrDefault();

                                ProdNovaQtde.Quantidade = qtde;
                                bdItemCompra.Atualizar(ProdNovaQtde);
                                bdItemCompra.SalvarTodos();
                            }
                        }
                    }

                    if (!string.IsNullOrEmpty(Retorno.Mensagem))
                    {
                        return(Json(Retorno, JsonRequestBehavior.AllowGet));
                    }


                    Retorno.LimparForm   = true;
                    Retorno.Sucesso      = true;
                    Retorno.Redirecionar = true;
                    Retorno.Link         = "/Admin/Compra/Index";
                }
                else
                {
                    Retorno.Mensagem = "Não é possivel Editar uma compra sem itens";
                }
            }
            return(Json(Retorno, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 18
0
        public JsonResult RegistrarCompra(RegistroCompra compra, FormCollection collection)
        {
            var retorno = new RetornoJson();

            if (compra.ClienteId == 0)
            {
                retorno.Mensagem += "<span>Selecione um Cliente</span>";
            }
            if (retorno.Mensagem != "")
            {
                return(Json(retorno, JsonRequestBehavior.AllowGet));
            }

            if (collection["ProdutosSelecionados"] != null)
            {
                var Produtos       = collection["ProdutosSelecionados"].Split(',');
                var Estoque        = contexto.Produto.ToList();
                var ProdutosValido = new List <ProdValido>();

                foreach (var p in Produtos)
                {
                    var idProduto = int.Parse(p);
                    var qtde      = int.Parse(collection["Quantidade_Produto_" + p]);
                    //validação importante que não permite valor negativo
                    if (qtde < 0)
                    {
                        retorno.Mensagem = "<span>Valor não pode ser Negativo</span>";
                        if (retorno.Mensagem != "")
                        {
                            return(Json(retorno, JsonRequestBehavior.AllowGet));
                        }
                    }

                    if (Estoque.Any(x => x.ProdutoId == idProduto && x.Quantidade >= qtde))
                    {
                        ProdutosValido.Add(new ProdValido()
                        {
                            idProd = idProduto,
                            quant  = qtde
                        });

                        //subtrai a quantidade que foi comprada
                        var bdProduto        = new ProdutoRepositorioEF(contexto);
                        var ProdutoAtualizar = contexto.Produto.Where(x => x.ProdutoId == idProduto).FirstOrDefault();
                        ProdutoAtualizar.Quantidade = ProdutoAtualizar.Quantidade - qtde;
                        bdProduto.Atualizar(ProdutoAtualizar);
                        bdProduto.SalvarTodos();
                    }
                    else
                    {
                        retorno.Mensagem += "<span>Sua compra ultrapassa a quantidade em estoque</span>";
                    }
                }// valida o estoque e cria lista de produtos para compra

                if (retorno.Mensagem != "")
                {
                    return(Json(retorno, JsonRequestBehavior.AllowGet));
                }



                if (retorno.Mensagem == "")
                {
                    compra.DataCompra = DateTime.Now;
                    var bdRegistroCompra = new RegistroCompraRepositorioEF(contexto);
                    bdRegistroCompra.Adicionar(compra);
                    bdRegistroCompra.SalvarTodos();

                    // adiciona os itens da compra
                    var bdItemCompra = new ItemCompraRepositorioEF(contexto);
                    foreach (var produto in ProdutosValido)
                    {
                        bdItemCompra.Adicionar(new ItemCompra()
                        {
                            RegistroCompraId = compra.RegistroCompraId,
                            ProdutoId        = produto.idProd,
                            Quantidade       = produto.quant
                        });
                    }
                    bdItemCompra.SalvarTodos();

                    retorno.Sucesso      = true;
                    retorno.LimparForm   = true;
                    retorno.Redirecionar = true;
                    retorno.Link         = "/Admin/Compra/Index";
                }
            }
            else
            {
                retorno.Mensagem += "<span> Não foi selecionado nenhuma Compra</span>";
            }
            return(Json(retorno, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 19
0
        public JsonResult EditarMeuPerfilFuncionario(Funcionario funcionario, FormCollection colecaoServicos, string HiddenSenha, string HiddenConfSenha, HttpPostedFileBase file)
        {
            var Retorno = new RetornoJson();

            if (funcionario.Senha != funcionario.ConfirmarSenha)
            {
                Retorno.Mensagem += "<span> As senhas devem ser identicas</span>";
            }
            if (Retorno.Mensagem != "")
            {
                return(Json(Retorno, JsonRequestBehavior.AllowGet));
            }

            if (funcionario.Senha == null && funcionario.ConfirmarSenha == null)
            {
                funcionario.Senha = HiddenSenha;
            }
            funcionario.ConfirmarSenha = HiddenConfSenha;

            if (file != null)
            {
                string nome = "Funcionario-" + NomeArquivo.GerarNomeArquivo(file.FileName);
                string path = Path.Combine(Server.MapPath(Caminho.Usuario()), Path.GetFileName(nome));
                file.SaveAs(path);
                funcionario.Foto = nome;
            }

            var listaServicosExistentes = contexto.RelFuncionarioServico.Where(x => x.FuncionarioId == funcionario.FuncionarioId).ToList();

            var bdRelFuncionarioServico = new RelFuncionarioServicoRepositorioEF(contexto);


            try
            {
                var bdFuncionario = new FuncionarioRepositorioEF(contexto);
                bdFuncionario.Atualizar(funcionario);
                bdFuncionario.SalvarTodos();


                // lista de servicos vazia
                if (colecaoServicos["Servico"] == null)
                {
                    bdRelFuncionarioServico.Excluir(x => x.FuncionarioId == funcionario.FuncionarioId);
                    bdRelFuncionarioServico.SalvarTodos();
                }

                if (colecaoServicos["Servico"] != null)
                {
                    var Servicos = colecaoServicos["Servico"].Split(',');
                    // se tiver na lista e nao tiver no banco de dados
                    foreach (var servico in Servicos)
                    {
                        var servicoId = int.Parse(servico);

                        if (!listaServicosExistentes.Any(x => x.ServicoId == servicoId))
                        {
                            bdRelFuncionarioServico.Adicionar(new RelFuncionarioServico()
                            {
                                FuncionarioId = funcionario.FuncionarioId,
                                ServicoId     = servicoId
                            });
                        }
                        // se tiver no banco de dados mas nao conter na lista

                        foreach (var servicoExistente in listaServicosExistentes)
                        {
                            if (!Servicos.Any(x => x == servicoExistente.ServicoId.ToString()))
                            {
                                bdRelFuncionarioServico.Excluir(x => x.ServicoId == servicoExistente.ServicoId && x.FuncionarioId == funcionario.FuncionarioId);
                            }
                        }
                    }
                    bdRelFuncionarioServico.SalvarTodos();
                }



                Retorno.Mensagem += "<span> Atualizado com sucesso</span>";
                Retorno.Sucesso   = true;
            }
            catch (Exception e)
            {
                Retorno.Mensagem += "<span> Erro ao editar seu perfil</span>";
            }

            return(Json(Retorno, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 20
0
        public JsonResult EditServicoFiado(RegistroCompraFiada compraFiada, FormCollection collection)
        {
            var Retorno = new RetornoJson();

            if (!Utilitarios.validarData(compraFiada.DataParaPagamento.ToString()))
            {
                Retorno.Mensagem += "<span>Data invalida, inserir data correta</span>";
            }
            if (compraFiada.DataParaPagamento <= compraFiada.DataCompra || compraFiada.DataParaPagamento > compraFiada.DataCompra.AddMonths(2))
            {
                Retorno.Mensagem += "<span> Não aceitamos data anterior a data da compra ou data para pagamento maior que dois meses em relação a compra</span>";
            }

            if (Retorno.Mensagem != "")
            {
                return(Json(Retorno, JsonRequestBehavior.AllowGet));
            }

            var bdRegistroCompraFiada = new RegistroCompraFiadaRepositorioEF(contexto);

            bdRegistroCompraFiada.Atualizar(compraFiada);
            bdRegistroCompraFiada.SalvarTodos();

            if (collection["Servicos"] == null)
            {
                Retorno.Mensagem += "<span> Não foi selecionado nenhum Servico!<span>";
                if (Retorno.Mensagem != "")
                {
                    return(Json(Retorno, JsonRequestBehavior.AllowGet));
                }
            }
            else
            {
                var ServicosBancoDados = contexto.ServicoFiado.Where(x => x.RegistroCompraFiadaId == compraFiada.RegistroCompraFiadaId).ToList();
                var bdServicoFiado     = new ServicoFiadoRepositorioEF(contexto);
                var Servicos           = collection["Servicos"].Split(',');
                //se tem na lista mas não tem no banco de dados
                foreach (var servico in Servicos)
                {
                    var idServico = int.Parse(servico);
                    if (!ServicosBancoDados.Any(x => x.ServicoId == idServico))
                    {
                        bdServicoFiado.Adicionar(new ServicoFiado()
                        {
                            RegistroCompraFiadaId = compraFiada.RegistroCompraFiadaId,
                            ServicoId             = idServico
                        });
                    }
                }
                bdServicoFiado.SalvarTodos();

                // se tiver no banco de dados mas nao tiver na lista
                foreach (var banco in ServicosBancoDados)
                {
                    if (!Servicos.Any(x => x == banco.ServicoId.ToString()))
                    {
                        bdServicoFiado.Excluir(x => x.ServicoId == banco.ServicoId && x.RegistroCompraFiadaId == compraFiada.RegistroCompraFiadaId);
                    }
                }
                bdServicoFiado.SalvarTodos();
            }

            //se for pago não aparecer na lista de serviços fiado, contabilizar comissoes que o funcionario ira ganhar
            if (compraFiada.Pago == true)
            {
                var      ServicosBancoDadosAposCompraPaga = contexto.ServicoFiado.Where(x => x.RegistroCompraFiadaId == compraFiada.RegistroCompraFiadaId).ToList();
                Comissao comissao   = new Comissao();
                var      bdComissao = new ComissaoRepositorioEF(contexto);

                foreach (var servico in ServicosBancoDadosAposCompraPaga)
                {
                    comissao.Data                  = DateTime.Now;
                    comissao.FuncionarioId         = compraFiada.FuncionarioId;
                    comissao.ServicoId             = servico.ServicoId;
                    comissao.valorComissao         = (servico.Servico.Preco * 5) / 100;
                    comissao.RegistroCompraFiadaId = compraFiada.RegistroCompraFiadaId;

                    bdComissao.Adicionar(comissao);
                    bdComissao.SalvarTodos();
                }
            }


            Retorno.Sucesso      = true;
            Retorno.LimparForm   = true;
            Retorno.Redirecionar = true;
            Retorno.Link         = "/Admin/CompraFiado/Index";

            return(Json(Retorno, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 21
0
        public JsonResult CreateProdutoFiado(RegistroCompraFiada compraFiada, FormCollection collection)
        {
            var Retorno = new RetornoJson();

            if (compraFiada.ClienteId == 0)
            {
                Retorno.Mensagem += "<span>Selecionar o Cliente</span>";
            }
            if (compraFiada.FuncionarioId == 0)
            {
                Retorno.Mensagem += "<span>Selecionar o Funcionário</span>";
            }
            // validar data para pagamento
            if (!Utilitarios.validarData(compraFiada.DataParaPagamento.ToString()))
            {
                Retorno.Mensagem += "<span>Inserir uma Data</span>";
            }
            if (compraFiada.DataParaPagamento <= DateTime.Now || compraFiada.DataParaPagamento > DateTime.Now.AddMonths(2))
            {
                Retorno.Mensagem += "<span> Não aceitamos data anterior ou igual a data atual ou data acima de dois meses em relação a data que o servico foi prestado</span>";
            }

            if (Retorno.Mensagem != "")
            {
                return(Json(Retorno, JsonRequestBehavior.AllowGet));
            }

            if (collection["Produtos"] != null)
            {
                var Estoque        = contexto.Produto.ToList();
                var Produtos       = collection["Produtos"].Split(',');
                var ProdutosValido = new List <ProdutoValido>();


                foreach (var produto in Produtos)
                {
                    var produtoId = int.Parse(produto);
                    var Qtde      = int.Parse(collection["Quantidade_" + produtoId]);
                    //validação importante que não permite valor negativo
                    if (Qtde < 0)
                    {
                        Retorno.Mensagem = "<span>Valor não pode ser Negativo</span>";
                        if (Retorno.Mensagem != "")
                        {
                            return(Json(Retorno, JsonRequestBehavior.AllowGet));
                        }
                    }

                    if (Estoque.Any(x => x.ProdutoId == produtoId && x.Quantidade >= Qtde))
                    {
                        //cria a lista da compra de produto que tem quantidade em estoque para vender
                        ProdutosValido.Add(new ProdutoValido()
                        {
                            IdProduto = produtoId,
                            Quant     = Qtde
                        });

                        //subtrair quantidade do produto abaixo que foi vendido atualizando a qtde
                        var ProdutoAtualizar = contexto.Produto.Where(x => x.ProdutoId == produtoId).FirstOrDefault();
                        ProdutoAtualizar.Quantidade = ProdutoAtualizar.Quantidade - Qtde;
                        var bdProduto = new ProdutoRepositorioEF(contexto);
                        bdProduto.Atualizar(ProdutoAtualizar);
                        bdProduto.SalvarTodos();
                    }//verifica se tem no estoque
                    else
                    {
                        Retorno.Mensagem += "<span>Sua compra e maior que a qtde em estoque</span>";
                    }
                }

                if (Retorno.Mensagem != "")
                {
                    return(Json(Retorno, JsonRequestBehavior.AllowGet));
                }


                if (Retorno.Mensagem == "")
                {
                    // cria a compra fiada
                    compraFiada.DataCompra = DateTime.Now;
                    var registroCompraFiada = new RegistroCompraFiadaRepositorioEF(contexto);
                    registroCompraFiada.Adicionar(compraFiada);
                    registroCompraFiada.SalvarTodos();

                    // salva os produtos desta compra fiada
                    var bdProdutoFiado = new ProdutoFiadoRepositorioEF(contexto);
                    foreach (var produtoValido in ProdutosValido)
                    {
                        bdProdutoFiado.Adicionar(new ProdutoFiado()
                        {
                            RegistroCompraFiadaId = compraFiada.RegistroCompraFiadaId,
                            ProdutoId             = produtoValido.IdProduto,
                            Quantidade            = produtoValido.Quant
                        });
                    }
                    bdProdutoFiado.SalvarTodos();

                    Retorno.LimparForm   = true;
                    Retorno.Sucesso      = true;
                    Retorno.Redirecionar = true;
                    Retorno.Link         = "/Admin/CompraFiado/Index";
                }
            }//valida se selecionou produto
            else
            {
                Retorno.Mensagem += "<span>Nenhum produto foi Selecionado</span>";
            }

            return(Json(Retorno, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 22
0
        public JsonResult Create(Funcionario funcionario, FormCollection collection, HttpPostedFileBase file)
        {
            var Retorno = new RetornoJson();

            if (funcionario.Nome == null)
            {
                Retorno.Mensagem += "<span> Digite o Nome</span>";
            }
            if (funcionario.Endereco == null)
            {
                Retorno.Mensagem += "<span> Digite o Endereço</span>";
            }
            if (funcionario.Telefone == null)
            {
                Retorno.Mensagem += "<span> Digite o Telefone</span>";
            }
            if (funcionario.Salario <= 0)
            {
                Retorno.Mensagem += "<span> Digite o Salario</span>";
            }
            if (funcionario.Login == null)
            {
                Retorno.Mensagem += "<span> Digite o Login</span>";
            }
            if (funcionario.Senha == null)
            {
                Retorno.Mensagem += "<span> Digite a Senha</span>";
            }
            if (funcionario.ConfirmarSenha == null)
            {
                Retorno.Mensagem += "<span> Confirmar a Senha</span>";
            }

            if (funcionario.Senha != funcionario.ConfirmarSenha)
            {
                Retorno.Mensagem += "<span> Confirme corretamente sua senha !</span>";
            }
            if (funcionario.Email == null)
            {
                Retorno.Mensagem += "<span> Digite o Email</span>";
            }
            if (funcionario.Tipo == null)
            {
                Retorno.Mensagem += "<span> Informe o Tipo de acesso</span>";
            }

            if (Retorno.Mensagem != "")
            {
                return(Json(Retorno, JsonRequestBehavior.AllowGet));
            }

            try
            {
                if (file != null)
                {
                    string nome = "Funcionario-" + NomeArquivo.GerarNomeArquivo(file.FileName);
                    string path = Path.Combine(Server.MapPath(Caminho.Usuario()), Path.GetFileName(nome));
                    file.SaveAs(path);
                    funcionario.Foto = nome;
                }


                var bdFuncionario = new FuncionarioRepositorioEF(contexto);
                bdFuncionario.Adicionar(funcionario);
                bdFuncionario.SalvarTodos();

                //salvando os dados de funcionario e seus servicos que ele realiza na tabela relacional

                if (collection["Servico"] != null)
                {
                    var servicos = collection["Servico"].Split(',');

                    var bdRelFuncionarioServico = new RelFuncionarioServicoRepositorioEF(contexto);
                    foreach (var servico in servicos)
                    {
                        bdRelFuncionarioServico.Adicionar(new RelFuncionarioServico()
                        {
                            FuncionarioId = funcionario.FuncionarioId,
                            ServicoId     = int.Parse(servico)
                        });
                    }

                    bdRelFuncionarioServico.SalvarTodos();
                }

                Retorno.Mensagem    += "<span> Cadastrado com sucesso</span>";
                Retorno.Sucesso      = true;
                Retorno.Redirecionar = true;
                Retorno.Link         = "/Admin/Funcionario/Index";
            }
            catch (Exception e)
            {
                Retorno.Mensagem += "<span> Erro no cadastro</span>";
            }
            return(Json(Retorno, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 23
0
        public JsonResult Edit(Funcionario funcionario, FormCollection collection, HttpPostedFileBase file, string HiddenSenha, string HiddenConfSenha)
        {
            var Retorno = new RetornoJson();

            if (funcionario.Nome == null)
            {
                Retorno.Mensagem += "<span> Digite o Nome</span>";
            }
            if (funcionario.Endereco == null)
            {
                Retorno.Mensagem += "<span> Digite o Endereço</span>";
            }
            if (funcionario.Telefone == null)
            {
                Retorno.Mensagem += "<span> Digite o Telefone</span>";
            }
            if (funcionario.Salario == 0)
            {
                Retorno.Mensagem += "<span> Digite o Salario</span>";
            }
            if (funcionario.Login == null)
            {
                Retorno.Mensagem += "<span> Digite o Login</span>";
            }
            if (funcionario.Senha != funcionario.ConfirmarSenha)
            {
                Retorno.Mensagem += "<span> As senhas devem ser iguais</span>";
            }
            if (funcionario.Email == null)
            {
                Retorno.Mensagem += "<span> Digite o Email</span>";
            }
            if (funcionario.Tipo == null)
            {
                Retorno.Mensagem += "<span> Informe o Tipo de acesso</span>";
            }

            if (Retorno.Mensagem != "")
            {
                return(Json(Retorno, JsonRequestBehavior.AllowGet));
            }

            if (file != null)
            {
                string nome = "Funcionario-" + NomeArquivo.GerarNomeArquivo(file.FileName);
                string path = Path.Combine(Server.MapPath(Caminho.Usuario()), Path.GetFileName(nome));
                file.SaveAs(path);
                funcionario.Foto = nome;
            }


            if (funcionario.Senha == null && funcionario.ConfirmarSenha == null)
            {
                funcionario.Senha          = HiddenSenha;
                funcionario.ConfirmarSenha = HiddenConfSenha;
            }

            var bdFuncionario = new FuncionarioRepositorioEF(contexto);

            bdFuncionario.Atualizar(funcionario);
            bdFuncionario.SalvarTodos();



            // editar os servicos pertencente ao funcionario da tabela relacional

            var bdRelFuncionarioServico = new RelFuncionarioServicoRepositorioEF(contexto);
            var ServicosJaExistentes    = contexto.RelFuncionarioServico.Where(x => x.FuncionarioId == funcionario.FuncionarioId).ToList();



            if (collection["Servico"] == null)
            {
                foreach (var servicoExistente in ServicosJaExistentes)
                {
                    bdRelFuncionarioServico.Excluir(x => x.ServicoId == servicoExistente.ServicoId && x.FuncionarioId == funcionario.FuncionarioId);
                    bdRelFuncionarioServico.SalvarTodos();
                }
            }

            if (collection["Servico"] != null)
            {
                var Servicos = collection["Servico"].Split(',');

                foreach (var servico in Servicos)
                {
                    // salvar se os servicos nao existirem no banco de dados
                    var ServicoId = int.Parse(servico);
                    if (!ServicosJaExistentes.Any(x => x.ServicoId == ServicoId))
                    {
                        bdRelFuncionarioServico.Adicionar(new RelFuncionarioServico()
                        {
                            FuncionarioId = funcionario.FuncionarioId,
                            ServicoId     = ServicoId
                        });
                    }
                    // excluir se no banco de dados tiver servico que não está na lista

                    foreach (var servicoExistente in ServicosJaExistentes)
                    {
                        if (!Servicos.Any(x => x == servicoExistente.ServicoId.ToString()))
                        {
                            bdRelFuncionarioServico.Excluir(x => x.ServicoId == servicoExistente.ServicoId && x.FuncionarioId == funcionario.FuncionarioId);
                        }
                    }

                    bdRelFuncionarioServico.SalvarTodos();
                }
            }
            Retorno.Mensagem += "<span> Editado com sucesso</span>";

            Retorno.Sucesso      = true;
            Retorno.Redirecionar = true;
            Retorno.Link         = "/Admin/Funcionario/Index";

            return(Json(Retorno, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 24
0
        public JsonResult Edit(Agenda Agenda)
        {
            var      Retorno = new RetornoJson();
            TimeSpan minuto  = new TimeSpan(00, 30, 00);

            DateTime DataAgenda = DateTime.Parse(Agenda.DataAgendamento.ToString());

            Agenda.Inicio = DataAgenda + Agenda.Inicio.TimeOfDay;
            Agenda.Fim    = DataAgenda + Agenda.Fim.TimeOfDay;

            //validar se o horario Inicio é menor que o Fim
            if (Agenda.Inicio >= Agenda.Fim)
            {
                Retorno.Mensagem += "<span> Horario Inicio é obrigatoriamente menor que o horário Fim</span>";
            }

            //validar se a data ultrapassa 4 meses
            DateTime AgendamentoDistante = DateTime.Now.AddMonths(4);

            if (Agenda.Fim > AgendamentoDistante)
            {
                Retorno.Mensagem += "<span> Agendamento não pode ultrapassar 4 meses</span>";
            }

            //agendamentos somente devem ser feito em horario de funcionamento
            TimeSpan HorarioAbre  = new TimeSpan(10, 00, 00);
            TimeSpan HorarioFecha = new TimeSpan(20, 00, 00);

            if (!(Agenda.Inicio.Hour >= HorarioAbre.Hours && Agenda.Inicio.Hour <= HorarioFecha.Hours) || !(Agenda.Fim.Hour >= HorarioAbre.Hours && Agenda.Fim.Hour <= HorarioFecha.Hours))
            {
                Retorno.Mensagem += "<span> O Agendamento deve ser dentro do horário de funcionamento do estabelecimento</span>";
            }


            //todo agendamento deve ser agendado com 30 minutos de antecedencia
            DateTime DataHoraRetroativa = Agenda.Inicio.Subtract(minuto);

            if (DataHoraRetroativa <= DateTime.Now)
            {
                Retorno.Mensagem += "<span> Não é possivel agendar nesta data, pois todos agendamentos precisam ter pelo menos 30 minutos de antecedencia</span>";
            }

            //nao pode agendar em horario igual com o mesmo funcionario mas como esta editando ele aceita o mesmo horario ainda que foi criado o agendamento inicial
            var EditandoMesmaAgendamento = contexto.Agenda.Any(x => x.FuncionarioId == Agenda.FuncionarioId &&
                                                               x.Inicio == Agenda.Inicio && x.Fim == Agenda.Fim && x.ClienteId == Agenda.ClienteId
                                                               );

            if (!EditandoMesmaAgendamento)
            {
                var agendaMarcada = contexto.Agenda.Where(x => x.FuncionarioId == Agenda.FuncionarioId).Count(x => (Agenda.Inicio >= x.Inicio && Agenda.Inicio <= x.Fim) || (Agenda.Fim >= x.Inicio && Agenda.Fim <= x.Fim)) > 0;
                if (agendaMarcada)
                {
                    Retorno.Mensagem += "<span> Escolha outro horario</span>";
                }
            }


            if (Retorno.Mensagem != "")
            {
                return(Json(Retorno, JsonRequestBehavior.AllowGet));
            }


            var bdAgenda = new AgendaRepositorioEF(contexto);

            bdAgenda.Atualizar(Agenda);
            bdAgenda.SalvarTodos();

            //abaixo tratando as comissoes
            if (Agenda.Pago == false)
            {
                var Existecomissao = contexto.Comissao.FirstOrDefault(x => x.AgendaId == Agenda.AgendaId);
                if (Existecomissao != null)
                {
                    //se o usuario setar como nao pago o agendamento exclui a comissao
                    using (var bdComisao = new ComissaoRepositorioEF(contexto))
                    {
                        var comissao = contexto.Comissao.FirstOrDefault(x => x.AgendaId == Agenda.AgendaId);
                        bdComisao.Excluir(x => x.AgendaId == Agenda.AgendaId);
                        bdComisao.SalvarTodos();
                    }
                }
            }
            //se o usuario editar  e deixar agenda paga, edita a comissao
            if (Agenda.Pago == true)
            {
                using (var bdComisao = new ComissaoRepositorioEF(contexto))
                {
                    var comissao = contexto.Comissao.FirstOrDefault(x => x.AgendaId == Agenda.AgendaId);

                    //no caso do usuario ter excluido a comissao cria ela denovo
                    if (comissao == null)
                    {
                        {
                            Comissao c = new Comissao();
                            c.Data          = DateTime.Now;
                            c.AgendaId      = Agenda.AgendaId;
                            c.FuncionarioId = Agenda.FuncionarioId;
                            c.ServicoId     = Agenda.ServicoId;
                            c.valorComissao = (Agenda.Servico.Preco * 5) / 100;

                            bdComisao.Adicionar(c);
                            bdComisao.SalvarTodos();
                        }
                    }
                    else // neste caso ele nao excluiu a comissao apenas editou a agenda e deixou agenda paga
                    {
                        comissao.Data          = comissao.Data;
                        comissao.AgendaId      = comissao.AgendaId;
                        comissao.FuncionarioId = Agenda.FuncionarioId;
                        comissao.ServicoId     = Agenda.ServicoId;
                        comissao.valorComissao = (Agenda.Servico.Preco * 5) / 100;

                        bdComisao.Atualizar(comissao);
                        bdComisao.SalvarTodos();
                    }
                }
            }

            Retorno.Mensagem += "<span> Editado com sucesso</span>";

            Retorno.Sucesso      = true;
            Retorno.Redirecionar = true;
            Retorno.Link         = "/Admin/Agenda/IndexAgenda";

            return(Json(Retorno, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 25
0
        public JsonResult Create(Agenda Agenda)
        {
            var Retorno = new RetornoJson();

            if (Agenda.FuncionarioId == 0)
            {
                Retorno.Mensagem += "<span> Escolha o Funcionario</span>";
            }
            if (Agenda.ClienteId == 0)
            {
                Retorno.Mensagem += "<span> Escolha o Cliente</span>";
            }
            if (Agenda.ServicoId == 0)
            {
                Retorno.Mensagem += "<span> Escolha o Servico</span>";
            }

            if (Retorno.Mensagem != "")
            {
                return(Json(Retorno, JsonRequestBehavior.AllowGet));
            }

            TimeSpan minuto = new TimeSpan(00, 30, 00);


            DateTime DataAgenda = DateTime.Parse(Agenda.DataAgendamento.ToString());

            Agenda.Inicio = DataAgenda + Agenda.Inicio.TimeOfDay;
            Agenda.Fim    = DataAgenda + Agenda.Fim.TimeOfDay;

            //validar se o horario Inicio é menor que o Fim
            if (Agenda.Inicio >= Agenda.Fim)
            {
                Retorno.Mensagem += "<span> Horario Inicio é obrigatoriamente menor que o horário Fim</span>";
            }

            //validar se a data ultrapassa 4 meses
            DateTime AgendamentoDistante = DateTime.Now.AddMonths(4);

            if (Agenda.Fim > AgendamentoDistante)
            {
                Retorno.Mensagem += "<span> Agendamento não pode ultrapassar 4 meses</span>";
            }

            //agendamentos somente devem ser feito em horario de funcionamento
            TimeSpan HorarioAbre  = new TimeSpan(10, 00, 00);
            TimeSpan HorarioFecha = new TimeSpan(20, 00, 00);

            if (!(Agenda.Inicio.Hour >= HorarioAbre.Hours && Agenda.Inicio.Hour <= HorarioFecha.Hours) || !(Agenda.Fim.Hour >= HorarioAbre.Hours && Agenda.Fim.Hour <= HorarioFecha.Hours))
            {
                Retorno.Mensagem += "<span> O Agendamento deve ser dentro do horário de funcionamento do estabelecimento</span>";
            }


            //todo agendamento deve ser agendado com 30 minutos de antecedencia
            DateTime DataHoraRetroativa = Agenda.Inicio.Subtract(minuto);

            if (DataHoraRetroativa <= DateTime.Now)
            {
                Retorno.Mensagem += "<span> Não é possivel agendar nesta data, pois todos agendamentos precisam ter pelo menos 30 minutos de antecedencia</span>";
            }

            //nao pode agendar em horario igual com o mesmo funcionario
            var agendaMarcada = contexto.Agenda.Where(x => x.FuncionarioId == Agenda.FuncionarioId).Count(x => (Agenda.Inicio >= x.Inicio && Agenda.Inicio <= x.Fim) || (Agenda.Fim >= x.Inicio && Agenda.Fim <= x.Fim)) > 0;

            if (agendaMarcada)
            {
                Retorno.Mensagem += "<span> Escolha outro horario</span>";
            }


            if (Retorno.Mensagem != "")
            {
                return(Json(Retorno, JsonRequestBehavior.AllowGet));
            }

            try
            {
                var bdAgenda = new AgendaRepositorioEF(contexto);
                bdAgenda.Adicionar(Agenda);
                bdAgenda.SalvarTodos();

                //tratando as comissoes
                if (Agenda.Pago == true)
                {
                    using (var bdComisao = new ComissaoRepositorioEF(contexto))
                    {
                        Comissao comissao = new Comissao();
                        comissao.Data          = DateTime.Now;
                        comissao.AgendaId      = Agenda.AgendaId;
                        comissao.FuncionarioId = Agenda.FuncionarioId;
                        comissao.ServicoId     = Agenda.ServicoId;
                        comissao.valorComissao = (Agenda.Servico.Preco * 5) / 100;

                        bdComisao.Adicionar(comissao);
                        bdComisao.SalvarTodos();
                    }
                }

                Retorno.Sucesso      = true;
                Retorno.Mensagem    += "<span> Cadastrado com sucesso</span>";
                Retorno.Redirecionar = true;
                Retorno.Link         = "/Admin/Agenda/IndexAgenda";
            }
            catch (Exception e)
            {
                Retorno.Mensagem += "<span> Não foi possivel persistir seu agendamento</span>";
            }
            return(Json(Retorno, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 26
0
        public JsonResult Create(RegistroCompraFiada compraFiada, FormCollection collection)
        {
            var Retorno = new RetornoJson();

            if (compraFiada.ClienteId == 0)
            {
                Retorno.Mensagem += "<span> O Cliente é obrigatório</span>";
            }
            if (compraFiada.FuncionarioId == 0)
            {
                Retorno.Mensagem += "<span> O Funcionario é obrigatório</span>";
            }
            //validar data corretamente
            if (!Utilitarios.validarData(compraFiada.DataParaPagamento.ToString()))
            {
                Retorno.Mensagem += "<span> A Data é obrigatório</span>";
            }
            if (compraFiada.DataParaPagamento <= DateTime.Now || compraFiada.DataParaPagamento > DateTime.Now.AddMonths(2))
            {
                Retorno.Mensagem += "<span> Não aceitamos data anterior ou igual a data atual ou data acima de dois meses em relação a data que o servico foi prestado</span>";
            }

            if (Retorno.Mensagem != "")
            {
                return(Json(Retorno, JsonRequestBehavior.AllowGet));
            }

            if (collection["Servicos"] != null)
            {
                compraFiada.DataCompra = DateTime.Now;
                var bdRegistroCompraFiada = new RegistroCompraFiadaRepositorioEF(contexto);
                bdRegistroCompraFiada.Adicionar(compraFiada);
                bdRegistroCompraFiada.SalvarTodos();

                //salvar os itens da compra de servicos fiado
                var bdServicoFiado = new ServicoFiadoRepositorioEF(contexto);

                var Servicos = collection["Servicos"].Split(',');
                foreach (var servico in Servicos)
                {
                    var servicoID = int.Parse(servico);
                    bdServicoFiado.Adicionar(new ServicoFiado()
                    {
                        RegistroCompraFiadaId = compraFiada.RegistroCompraFiadaId,
                        ServicoId             = servicoID
                    });
                }
                bdServicoFiado.SalvarTodos();

                Retorno.Sucesso      = true;
                Retorno.LimparForm   = true;
                Retorno.Redirecionar = true;
                Retorno.Link         = "/Admin/CompraFiado/Index";
            }
            else
            {
                Retorno.Mensagem += "<span> Não foi selecionado nenhum Servico</span>";
            }

            return(Json(Retorno, JsonRequestBehavior.AllowGet));
        }