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)); }
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)); }
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)); }
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)); }
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)); }
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)); }
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)); }
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)); }
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)); }
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)); }
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)); }
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)); }
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)); }
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)); }
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)); }
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)); }
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)); }
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)); }
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)); }
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)); }
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)); }
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)); }
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)); }
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)); }
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)); }
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)); }