Exemple #1
0
        public async Task <PostApiResponse <bool> > EditarOrdemServico(OrdemServicoCadastro values)
        {
            PostApiResponse <bool> resposta = new PostApiResponse <bool>();

            try
            {
                if (values.num_os == 0 || values.num_os == null)
                {
                    resposta.Result   = false;
                    resposta.Mensagem = "Numero da OS em Branco.";
                }
                else if (String.IsNullOrEmpty(values.cpfCnpj))
                {
                    resposta.Result   = false;
                    resposta.Mensagem = "CPF ou CNPJ não informando";
                }
                else
                {
                    Expression <Func <Empresa, bool> > filter2 = x => x.cpfcnpj == values.cpfCnpj;
                    var EmpresaEncontrada = new EmpresaDAO().FindFirstBywhere(filter2);

                    Expression <Func <OrdemServico, bool> > filter = x => x.num_os == values.num_os && x.Empresa == EmpresaEncontrada._id;
                    var Ordem_Atualizada = new Ordem_ServicoDAO().FindFirstBywhere(filter);

                    if (Ordem_Atualizada != null)
                    {
                        if (EmpresaEncontrada != null)
                        {
                            Ordem_Atualizada.data_agendamento   = values.data_agendamento;
                            Ordem_Atualizada.Data_Modificacao   = DateTime.Now.ToString();
                            Ordem_Atualizada.descricao_problema = values.descricao_problema;
                            Ordem_Atualizada.Empresa            = EmpresaEncontrada._id;
                            Ordem_Atualizada.observacao_produto = values.observacao_produto;
                            Ordem_Atualizada.Produto            = values.Produto;
                            Ordem_Atualizada.tecnicoResp        = values.tecnicoResp;
                            Ordem_Atualizada.valor_servico      = values.valor_servico;
                            Ordem_Atualizada.status_os          = values.status_os;

                            await new Ordem_ServicoDAO().Update(Ordem_Atualizada);

                            resposta.Result   = true;
                            resposta.Mensagem = "Ordem de Serviço Atualizada com sucesso!";
                        }
                        else
                        {
                            resposta.Result   = false;
                            resposta.Mensagem = "Ordem de Serviço não encontrada";
                        }
                    }
                    else
                    {
                        resposta.Result   = false;
                        resposta.Mensagem = "Ordem de Serviço não encontrada";
                    }
                }
            }
            catch (Exception ex)
            {
                resposta.Result    = false;
                resposta.Exception = ex.ToString();
            }

            return(resposta);
        }
Exemple #2
0
        public async Task <PostApiResponse <bool> > Cadastrar(OrdemServicoCadastro values)
        {
            var retorno = new PostApiResponse <bool>();

            try
            {
                if (values.num_os == 0)
                {
                    retorno.Result   = false;
                    retorno.Mensagem = "Numero da Ordem de Serviço não pode ser zero.";
                }

                else
                {
                    Expression <Func <Empresa, bool> > filter = x => x.cpfcnpj == values.cpfCnpj;
                    var empresa = new EmpresaDAO().FindFirstBywhere(filter);


                    Expression <Func <OrdemServico, bool> > filterOrdem = x => x.num_os.Equals(values.num_os) && x.Empresa == empresa._id;
                    var ordem = new Ordem_ServicoDAO().FindByWhere(filterOrdem);

                    if (ordem.Count() != 0)
                    {
                        retorno.Result   = false;
                        retorno.Mensagem = "Ordem de Serviço ja cadastra com esse numero";
                    }
                    else
                    {
                        if (String.IsNullOrEmpty(values.cliente_responsavel.cpf_cnpj))
                        {
                            retorno.Result   = false;
                            retorno.Mensagem = "CPF OU CNPJ do cliente  em branco.";
                        }

                        else
                        {
                            Expression <Func <ClienteModels, bool> > filterCliente = x => x.cpf_cnpj == values.cliente_responsavel.cpf_cnpj;
                            var cliente = new ClienteDAO().FindFirstBywhere(filterCliente);

                            if (cliente == null)
                            {
                                values.cliente_responsavel.Data_Modificacao = DateTime.Now.ToString();
                                await new ClienteDAO().Insert(values.cliente_responsavel);


                                cliente = new ClienteDAO().FindFirstBywhere(filterCliente);
                            }

                            var ordem_servico = new OrdemServico
                            {
                                num_os = values.num_os,
                                cliente_responsavel = cliente._id,
                                Empresa             = empresa._id,
                                data_agendamento    = values.data_agendamento,
                                Data_Modificacao    = DateTime.Now.ToString(),
                                descricao_problema  = values.descricao_problema,
                                //Observacao_Produto = values.Observacao_produto,
                                Produto     = values.Produto,
                                tecnicoResp = values.tecnicoResp,
                                //Valor_Servico = values.Valor_Servico,
                                status_os = values.status_os,
                            };
                            await new Ordem_ServicoDAO().Insert(ordem_servico);

                            retorno.Result   = true;
                            retorno.Mensagem = "Ordem de Serviço cadastrada com sucesso.";
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                retorno.Result    = false;
                retorno.Exception = ex.ToString();
            }

            return(retorno);
        }