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