public bool EstaVigente(ClienteParticipante clienteParticipante) { DateTime agora = DateTime.Now; if (clienteParticipante == null) { return(false); } if (clienteParticipante.InicioVigencia.HasValue) { if (clienteParticipante.inicioVigencia.Value >= agora) { return(false); } } if (clienteParticipante.FimVigencia.HasValue) { if (clienteParticipante.FimVigencia <= agora) { return(false); } } return(true); }
public void AdicionarClienteParticipante(Contrato contrato, Model.Conta cliente) { var clienteParticipante = new ClienteParticipante(); clienteParticipante.ClienteId = cliente.Id; clienteParticipante.ContratoId = contrato.Id; clienteParticipante.Nome = cliente.Nome; new RepositoryService().Contrato.SalvarClienteParticipante(clienteParticipante); }
public void SalvarDataDeVigencia(ClienteParticipante clienteParticipante, TipoDeVigencia vigencia) { if (vigencia == TipoDeVigencia.Cliente) { RepositoryService.ClienteParticipanteDoContrato.Update(RepositoryService.ClienteParticipante.InstanciarClienteParticipanteDoContrato(clienteParticipante)); } else if (vigencia == TipoDeVigencia.Endereco) { RepositoryService.ClienteParticipanteDoEndereco.Update(RepositoryService.ClienteParticipante.InstanciarClienteParticipanteEndereco(clienteParticipante)); } }
public bool EstaVigente(Model.Conta cliente, Endereco endereco, DateTime dataInicioVigencia) { switch (this.TipoVigencia) { case TipoDeVigencia.Contrato: if (!this.InicioVigencia.HasValue || !this.FimRealVigencia.HasValue) { return(false); } if (this.InicioVigencia.Value.Date > dataInicioVigencia.Date) { return(false); } if (dataInicioVigencia.Date > this.FimRealVigencia.Value.Date) { return(false); } break; case TipoDeVigencia.Cliente: case TipoDeVigencia.Endereco: ClienteParticipante participante = this.ObterParticipante(this, cliente, endereco, this.TipoVigencia); if (participante != null && this.TemData(participante)) { if (participante.InicioVigencia.Value.Date > dataInicioVigencia.Date) { return(false); } if (participante.FimVigencia.Value.Date <= dataInicioVigencia.Date) { return(false); } } break; case TipoDeVigencia.Por_Veiculo_Instalacao: case TipoDeVigencia.Por_veiculo_Contrato: break; case TipoDeVigencia.Vazio: throw new ArgumentException("Tipo de Vigencia do contrato não pode ser vazio.", "TipoDeVigencia"); default: throw new ArgumentException("Tipo de Vigencia do contrato não cadastrada", "TipoDeVigencia"); } return(true); }
private ClienteParticipante DefineDataDeVigencia(ClienteParticipante clienteParticipante, TipoDeVigencia vigencia, int duracao, DateTime dataInicioVigencia) { //DateTime agora = DateTime.Now; DateTime agora = dataInicioVigencia; if (!clienteParticipante.InicioVigencia.HasValue) { clienteParticipante.InicioVigencia = agora; //clienteParticipante.FimVigencia = agora.AddDays(ObterDuracao(this.Id)); clienteParticipante.FimVigencia = agora.AddDays(duracao); } else { Contrato contrato = new RepositoryService().Contrato.Retrieve(this.Id); clienteParticipante.FimVigencia = clienteParticipante.InicioVigencia.Value.AddDays((contrato.DuracaoDias.HasValue ? contrato.DuracaoDias.Value : 0)); } clienteParticipante.SalvarDataDeVigencia(clienteParticipante, vigencia); return(clienteParticipante); }
public void DefineVigenciaClienteParticipante(Model.Conta cliente, Endereco endereco, DateTime dataInicioVigencia) { if (this.TipoVigencia == TipoDeVigencia.Cliente || this.TipoVigencia == TipoDeVigencia.Endereco) { ClienteParticipante participante = this.ObterParticipante(this, cliente, endereco, this.TipoVigencia); if (participante != null) { if (!participante.FimVigencia.HasValue) { int duracao = (this.FimRealVigencia.Value - this.InicioVigencia.Value).Days; participante.InicioVigencia = dataInicioVigencia; participante.FimVigencia = dataInicioVigencia.AddDays(duracao); participante.SalvarDataDeVigencia(participante, this.TipoVigencia); } } } }
private bool TemData(ClienteParticipante clienteParticipante) { return(clienteParticipante.InicioVigencia.HasValue && clienteParticipante.FimVigencia.HasValue); }
public void AtualizarEnderecoParticipante(ClienteParticipante item) { RepositoryService.ClienteParticipanteDoEndereco.Update(RepositoryService.ClienteParticipante.InstanciarClienteParticipanteEndereco(item)); }