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