/// <summary> /// Método responsável por criar ou alterar um beneficiado /// </summary> /// <param name="contexto">Instância do banco</param> /// <param name="beneficiado">Objeto Beneficiado a ser salvo</param> public static void SalvarBeneficiado(WexDb contexto, Beneficiado beneficiado) { if (!contexto.Beneficiados.ExisteLocalmente(o => o.Oid == beneficiado.Oid)) { contexto.Beneficiados.Attach(beneficiado); } if (contexto.Beneficiados.Existe(o => o.Oid == beneficiado.Oid)) { contexto.Entry(beneficiado).State = EntityState.Modified; } else { contexto.Entry(beneficiado).State = EntityState.Added; } contexto.SaveChanges(); }
/// <summary> /// Método responsável por criar ou alterar um ciclo /// </summary> /// <param name="contexto">Instância do banco</param> /// <param name="cicloDesenv">Ciclo a ser salvo</param> public static void SalvarCicloDesenv(WexDb contexto, CicloDesenv cicloDesenv) { if (!contexto.CicloDesenvs.ExisteLocalmente(o => o.Oid == cicloDesenv.Oid)) { contexto.CicloDesenvs.Attach(cicloDesenv); } if (contexto.CicloDesenvs.Existe(o => o.Oid == cicloDesenv.Oid)) { contexto.Entry(cicloDesenv).State = EntityState.Modified; } else { contexto.Entry(cicloDesenv).State = EntityState.Added; } contexto.SaveChanges(); }
/// <summary> /// Método responsável por salvar uma estória /// </summary> /// <param name="contexto"></param> /// <param name="estoria"></param> public static void SalvarEstoria(WexDb contexto, Estoria estoria) { if (!contexto.Estorias.ExisteLocalmente(o => o.Oid == estoria.Oid)) { contexto.Estorias.Attach(estoria); } if (contexto.Estorias.Existe(o => o.Oid == estoria.Oid)) { contexto.Entry(estoria).State = EntityState.Modified; } else { contexto.Entry(estoria).State = EntityState.Added; } contexto.SaveChanges(); }
/// <summary> /// Método para salvar um módulo na base /// </summary> /// <param name="contexto">contexto de conexão com o banco</param> /// <param name="modulo">modulo a ser salvo</param> public static void SalvarModulo(WexDb contexto, Modulo modulo) { if (!contexto.Modulos.ExisteLocalmente(o => o.Oid == modulo.Oid)) { contexto.Modulos.Attach(modulo); } if (contexto.Modulos.Existe(o => o.Oid == modulo.Oid)) { contexto.Entry(modulo).State = EntityState.Modified; } else { contexto.Entry(modulo).State = EntityState.Added; } contexto.SaveChanges(); }
/// <summary> /// Método responsável por efetuar alteração na descrição do cronograma /// </summary> /// <param name="oidCronograma"> oid do cronograma que terá o nome alterado</param> /// <param name="novaDescricaoCronograma">novo nome do cronograma</param> public static bool AlterarDescricaoCronograma(Guid oidCronograma, string novaDescricaoCronograma) { if (oidCronograma == new Guid()) { throw new ArgumentException("Erro de argumento, a oidCronograma não pode ser nulo"); } if (string.IsNullOrEmpty(novaDescricaoCronograma)) { throw new ArgumentException("Erro de argumento, a descrição da tarefa não pode ser nula"); } Cronograma cronogramaSelecionado = CronogramaDao.ConsultarCronogramaPorOid(oidCronograma, o => o.SituacaoPlanejamento); if (cronogramaSelecionado == null) { return(false); } semaforoAlteracaoNomeCronograma.WaitOne(); string descricaoValida = ValidarDescricaoCronograma(novaDescricaoCronograma); using (WexDb contexto = ContextFactoryManager.CriarWexDb()) { bool cronogramaComMesmoNome = contexto.Cronograma.Existe(o => o.TxDescricao == descricaoValida && !o.CsExcluido); if (cronogramaComMesmoNome) { semaforoAlteracaoNomeCronograma.Release(); return(false); } cronogramaSelecionado.TxDescricao = descricaoValida; contexto.Cronograma.Attach(cronogramaSelecionado); contexto.Entry(cronogramaSelecionado).State = EntityState.Modified; contexto.Entry(cronogramaSelecionado.SituacaoPlanejamento).State = EntityState.Unchanged; contexto.SaveChanges(); semaforoAlteracaoNomeCronograma.Release(); return(true); } }
public int ExcluirTermoAditivo(TermoAditivo termoAditivo) { using (var _db = new WexDb()) { _db.Entry(termoAditivo).State = EntityState.Deleted; _db.SaveChanges(); } return(termoAditivo.TermoAditivoId); }
/// <summary> /// Método responsável por salvar um CronogramaTarefa no banco de dados. /// Caso gere exception, tenta novamente realizar a ação de salvar. /// </summary> /// <param name="contexto">contexto do banco</param> /// <param name="cronogramaTarefa">CronogramaTarefa que será salvo.</param> /// <param name="numeroTentativas">quantidade de vezes que irá tentar salvar</param> /// <returns>Tarefa que foi salva/atualizada</returns> public static CronogramaTarefa Salvar(CronogramaTarefa cronogramaTarefa) { CronogramaTarefa copia = cronogramaTarefa.Clone(); copia.Cronograma = null; copia.Tarefa = null; try { using (WexDb contexto = ContextFactoryManager.CriarWexDb()) { if (contexto.CronogramaTarefa.Existe(o => o.Oid == cronogramaTarefa.Oid)) { contexto.CronogramaTarefa.Attach(copia); contexto.Entry(copia).State = EntityState.Modified; } else { contexto.CronogramaTarefa.Add(copia); } contexto.SaveChanges(); } } catch (Exception) { using (WexDb contexto = ContextFactoryManager.CriarWexDb()) { if (contexto.CronogramaTarefa.Existe(o => o.Oid == cronogramaTarefa.Oid)) { if (contexto.CronogramaTarefa.ExisteLocalmente(o => o.Oid == cronogramaTarefa.Oid)) { contexto.Entry <CronogramaTarefa>(copia).Reload(); contexto.CronogramaTarefa.Attach(copia); contexto.Entry(copia).State = EntityState.Modified; } else { contexto.CronogramaTarefa.Attach(copia); contexto.Entry <CronogramaTarefa>(copia).Reload(); contexto.CronogramaTarefa.Attach(copia); contexto.Entry(copia).State = EntityState.Modified; } } else { contexto.CronogramaTarefa.Add(copia); } contexto.SaveChanges(); } } return(cronogramaTarefa); }
/// <summary> /// Método responsável por salvar um Log de alteração /// </summary> /// <param name="tarefaLogAlteracao">Objeto que será salvo</param> public static void Salvar(TarefaLogAlteracao tarefaLogAlteracao) { TarefaLogAlteracao copia = tarefaLogAlteracao.Clone(); copia.Colaborador = null; copia.Tarefa = null; using (WexDb contexto = ContextFactoryManager.CriarWexDb()) { try { if (contexto.TarefaLogAlteracao.Existe(o => o.Oid == copia.Oid)) { contexto.TarefaLogAlteracao.Attach(copia); contexto.Entry <TarefaLogAlteracao>(copia).State = System.Data.EntityState.Modified; } else { contexto.TarefaLogAlteracao.Add(copia); } contexto.SaveChanges(); } catch (Exception) { if (contexto.TarefaLogAlteracao.Existe(o => o.Oid == copia.Oid)) { contexto.Entry <TarefaLogAlteracao>(copia).Reload(); contexto.TarefaLogAlteracao.Attach(copia); contexto.Entry <TarefaLogAlteracao>(copia).State = System.Data.EntityState.Modified; } else { contexto.TarefaLogAlteracao.Add(copia); } contexto.SaveChanges(); } } }
/// <summary> /// Método responsável por salvar o último projeto selecionado pelo colaborador /// </summary> /// <param name="contexto">Instância de conexão com o banco</param> /// <param name="oidColaborador">Oid do colaborador</param> /// <param name="oidProjeto">Oid do projeto</param> public static void SalvarUltimoProjetoSelecionado(Guid oidColaborador, Guid oidProjeto) { using (WexDb contexto = ContextFactoryManager.CriarWexDb()) { ColaboradorUltimoFiltro colUltimoFiltro = ColaboradorDAO.ConsultarColaborador(oidColaborador, o => o.ColaboradorUltimoFiltro).ColaboradorUltimoFiltro; colUltimoFiltro.OidUltimoProjetoSelecionado = oidProjeto; contexto.ColaboradorUltimoFiltroes.Attach(colUltimoFiltro); contexto.Entry <ColaboradorUltimoFiltro>(colUltimoFiltro).State = System.Data.EntityState.Modified; contexto.SaveChanges(); } }
/// <summary> /// Adiciona ou atualiza uma nota fiscal /// </summary> /// <param name="notaFiscal">Nota fiscal</param> /// <returns>Id da nota fiscal</returns> public static int SalvarNotaFiscal(NotaFiscal notaFiscal) { using (WexDb contexto = ContextFactoryManager.CriarWexDb()) { if (notaFiscal.Id == 0) { contexto.NotaFiscal.Add(notaFiscal); } else { contexto.Entry(notaFiscal).State = EntityState.Modified; } contexto.SaveChanges(); } return(notaFiscal.Id); }
/** * @summary Cadastrar um novo projeto ou atualiza seus dados * */ public Guid SalvarProjeto(WexDb db, Projeto projeto) { if (db.Projetos.Existe(p => p.Oid == projeto.Oid)) { db.Entry(projeto).State = EntityState.Modified; } else { projeto.Oid = Guid.NewGuid(); db.Projetos.Add(projeto); } db.SaveChanges(); return(projeto.Oid); }
/// <summary> /// Método responsável por realizar a exclusão de um objeto Tarefa /// obs: caso ele não consiga, ele atualiza o objeto (caso tenha sido alterado por outra thread) e realiza novamente a tentativa de exclusão. /// </summary> /// <param name="oidTarefa">objeto para excluir</param> public static bool ExcluirTarefa(Guid oidTarefa) { using (WexDb contexto = ContextFactoryManager.CriarWexDb()) { Tarefa tarefaExistente = ConsultarTarefaPorOid(oidTarefa); if (tarefaExistente == null) { return(false); } tarefaExistente.CsExcluido = true; contexto.Tarefa.Attach(tarefaExistente); contexto.Entry(tarefaExistente).State = EntityState.Modified; contexto.SaveChanges(); return(true); } }
public int SalvarTermoAditivo(TermoAditivo termoAditivo) { using (var _db = new WexDb()) { if (termoAditivo.TermoAditivoId == 0) { _db.TermosAditivos.Add(termoAditivo); } else { _db.Entry(termoAditivo).State = EntityState.Modified; } _db.SaveChanges(); } return(termoAditivo.TermoAditivoId); }
/// <summary> /// Salva dados de Mão de Obra no Banco de Dados. /// </summary> /// <param name="maoDeObra">Modelo de Mão de Obra.</param> /// <returns>Id da Mão de Obra salva.</returns> public int SalvarMaoDeObra(MaoDeObra maoDeObra) { using (var _db = new WexDb()) { if (maoDeObra.MaoDeObraId == 0) { _db.MaosDeObra.Add(maoDeObra); } else { _db.Entry(maoDeObra).State = EntityState.Modified; } _db.SaveChanges(); } return(maoDeObra.MaoDeObraId); }
/// <summary> /// /// </summary> /// <param name="lote">Modelo de Lote de Mão de Obra.</param> /// <returns>Id de Lote salvo.</returns> public int SalvarLote(LoteMaoDeObra lote) { using (var _db = new WexDb()) { if (lote.LoteId == 0) { _db.Lotes.Add(lote); } else { _db.Entry(lote).State = EntityState.Modified; } _db.SaveChanges(); } return(lote.LoteId); }
/// <summary> /// Adiciona ou atualiza o detalhes de um mês de uma rubrica no banco /// </summary> /// <param name="rubricaMes">Objeto RubricaMes a ser adicionado ou atualizado</param> /// <returns>Id dos detalhes do mês da rubrica no banco</returns> public int SalvarRubricaMes(RubricaMes rubricaMes) { using (WexDb contexto = ContextFactoryManager.CriarWexDb()) { if (rubricaMes.RubricaMesId == 0) { contexto.RubricaMeses.Add(rubricaMes); } else { contexto.Entry(rubricaMes).State = EntityState.Modified; } contexto.SaveChanges(); } return(rubricaMes.RubricaMesId); }
private static void AlterarEstadoEstoria(WexDb contexto, Estoria estoria, CsSituacaoEstoriaCicloDomain situacaoEstoria) { switch (situacaoEstoria) { case CsSituacaoEstoriaCicloDomain.NaoIniciado: estoria.CsSituacao = (int)CsEstoriaDomain.NaoIniciado; break; case CsSituacaoEstoriaCicloDomain.EmDesenv: estoria.CsSituacao = (int)CsEstoriaDomain.EmDesenv; break; case CsSituacaoEstoriaCicloDomain.Pronto: estoria.CsSituacao = (int)CsEstoriaDomain.Pronto; break; case CsSituacaoEstoriaCicloDomain.Replanejado: estoria.CsSituacao = (int)CsEstoriaDomain.Replanejado; break; default: break; } EntityState estado; if (!contexto.Estorias.Existe(o => o.Oid == estoria.Oid)) { estado = EntityState.Added; } else { estado = EntityState.Modified; } contexto.Entry(estoria).State = estado; contexto.SaveChanges(); }
/// <summary> /// Método responsável por, atribuir um colaborador à tarefa, caso ele não esteja como responsável pela mesma, /// atualizar a situação planejamento da tarefa e atualizar as estimativas da tarefa. /// </summary> /// <param name="oidTarefa">oid da tarefa</param> /// <param name="colaborador">Objeto Colaborador</param> /// <param name="situacaoPlanejamento">Objeto Situação Planejamento</param> /// <param name="nbHoraRealizado">Hora realizado da atividade</param> /// <param name="nbHoraRestante">Hora restante da atividade</param> public static void AtualizarDadosTarefa(Guid oidTarefa, Colaborador colaborador, SituacaoPlanejamento situacaoPlanejamento, TimeSpan nbHoraRealizado, TimeSpan nbHoraRestante, bool CsLinhaBaseSalva) { if (oidTarefa == null || oidTarefa == new Guid()) { throw new ArgumentException("O parâmetro oidTarefa é inválido"); } using (WexDb contexto = ContextFactoryManager.CriarWexDb()) { Tarefa tarefa = TarefaDao.ConsultarTarefaPorOid(oidTarefa); if (tarefa == null) { return; } //Atualiza a situação planejamento da tarefa e estimativas if (situacaoPlanejamento != null && !tarefa.OidSituacaoPlanejamento.Equals(situacaoPlanejamento.Oid)) { tarefa.SituacaoPlanejamento = null; tarefa.OidSituacaoPlanejamento = situacaoPlanejamento.Oid; } if (colaborador != null && !tarefa.OidAtualizadoPor.Equals(colaborador.Oid)) { tarefa.AtualizadoPor = null; tarefa.OidAtualizadoPor = colaborador.Oid; } EstimarHorasRestantesSugeridaPorTipoSituacaoPlanejamento(tarefa, nbHoraRestante.Ticks, situacaoPlanejamento, true); tarefa.EstimativaRealizadoHora += nbHoraRealizado; tarefa.DtAtualizadoEm = DateUtil.ConsultarDataHoraAtual(); tarefa.CsLinhaBaseSalva = CsLinhaBaseSalva; //Atualiza responsáveis tarefa if (nbHoraRealizado.Ticks > 0) { if (!String.IsNullOrEmpty(tarefa.TxResponsaveis) || !String.IsNullOrWhiteSpace(tarefa.TxResponsaveis)) { List <string> ResponsaveisTarefa = new List <string>(tarefa.TxResponsaveis.Split(',')); if (colaborador != null) { if (!ResponsaveisTarefa.Contains(colaborador.NomeCompleto)) { tarefa.TxResponsaveis += "," + colaborador.NomeCompleto; } } } else { tarefa.TxResponsaveis += colaborador.NomeCompleto; } } contexto.Tarefa.Attach(tarefa); contexto.Entry(tarefa).State = EntityState.Modified; contexto.SaveChanges(); TarefaHistoricoEstimativaBo.CriarHistorico(DateUtil.ConsultarDataHoraAtual(), tarefa.Oid, tarefa.NbEstimativaRestante); } }
/// <summary> /// Método responsável por salvar uma tarefa /// </summary> /// <param name="tarefa">Objeto Tarefa</param> /// <returns>retorna o objeto salvo</returns> public static Tarefa SalvarTarefa(Tarefa tarefa) { Tarefa copia = tarefa.Clone(); copia.AtualizadoPor = null; copia.LogsAlteracao = null; copia.TarefaResponsaveis = null; copia.TarefaHistoricoTrabalhos = null; copia.SituacaoPlanejamento = null; copia.clone = null; try { using (WexDb contexto = ContextFactoryManager.CriarWexDb()) { if (contexto.Tarefa.Existe(o => o.Oid == tarefa.Oid)) { contexto.Tarefa.Attach(copia); contexto.Entry(copia).State = EntityState.Modified; } else { contexto.Tarefa.Add(copia); } contexto.SaveChanges(); } } catch (Exception) { try { using (WexDb contexto = ContextFactoryManager.CriarWexDb()) { if (contexto.Tarefa.Existe(o => o.Oid == tarefa.Oid)) { contexto.Tarefa.Attach(copia); contexto.Entry(copia).State = EntityState.Modified; } else { contexto.Tarefa.Add(copia); } contexto.SaveChanges(); } } catch (Exception) { using (WexDb contexto = ContextFactoryManager.CriarWexDb()) { if (contexto.Tarefa.Existe(o => o.Oid == tarefa.Oid)) { contexto.Tarefa.Attach(copia); contexto.Entry(copia).Reload(); contexto.Tarefa.Attach(copia); contexto.Entry(copia).State = EntityState.Modified; } else { contexto.Tarefa.Add(copia); } contexto.SaveChanges(); } } } return(tarefa); }