Exemple #1
0
        public void Add(HorarioViewModel horarioViewModel)
        {
            var horario = Mapper.Map <HorarioViewModel, Horario>(horarioViewModel);

            BeginTransaction();

            //Verifica se está Desativando o cliente - UPDATE

            //Verifica se cliente não está ativo, e existe horario cadastrado para o mesmo, se existir remove o horario.
            if (_clienteService.GetById(horario.ClienteId).IsAtivo == false && _horarioService.GetById(horario.HorarioId) != null)
            {
                _horarioService.Remove(horario);
                _logSistemaService.AddLog("Horario", horarioViewModel.HorarioId, "Remove", "Cadastro de cliente e o mesmo não está ativo e existe horário vinculado ao mesmo. Cliente:" + horario.ClienteId);
            }
            else
            {
                _horarioService.Add(horario);
                _logSistemaService.AddLog("Horario", horarioViewModel.HorarioId, "Cadastro", "Cliente:" + horarioViewModel.ClienteId);
            }

            Commit();
        }
        public async Task <IActionResult> GetById(Guid id)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState.GetErrorMessages()));
            }

            var result = await _horarioService.GetById(id);

            if (!result.Success)
            {
                return(BadRequest(result.Message));
            }

            var horarioResource = _mapper.Map <Horario, HorarioResource>(result.Horario);

            return(Ok(horarioResource));
        }
Exemple #3
0
        public ValidationAppResult Update(ClienteHorarioViewModel clienteHorarioViewModel)
        {
            var cliente = Mapper.Map <ClienteHorarioViewModel, Cliente>(clienteHorarioViewModel);
            var horario = Mapper.Map <ClienteHorarioViewModel, Horario>(clienteHorarioViewModel);

            var hasHorario = _horarioService.GetHorarioCliente(cliente.ClienteId);

            var valor = GetValor(horario);

            BeginTransaction();

            var c = _clienteService.GetById(cliente.ClienteId);

            c = cliente;

            if (!c.IsAtivo)
            {
                c.Situacao = "Inativo";
            }
            else if (c.IsAtivo && c.Situacao == "Inativo" || c.Situacao == null)
            {
                //Caso esteja ativando novamente o cliente, verifica se o mesmo já possui mensalidade paga atual
                var  today             = DateTime.Now;
                bool existeMensalidade = false;
                foreach (var mensalidades in _mensalidadesService.GetMensalidadesCliente(c.ClienteId))
                {
                    if (mensalidades.MesReferencia >= today.Month && mensalidades.AnoReferencia >= today.Year)
                    {
                        existeMensalidade = true;
                    }
                }

                if (existeMensalidade && cliente.Situacao != "Regular")
                {
                    c.Situacao = "Regular";
                    _clienteService.Update(cliente);
                }
                else
                {
                    c.Situacao = "Pendente";
                    _clienteService.Update(cliente);
                }
            }
            if (c.IsAtivo && valor != null)
            {
                c.ValoresId = valor.ValoresId;
            }
            var result = _clienteService.AtualizarCliente(c);

            if (!result.IsValid)
            {
                return(DomainToApplicationResult(result));
            }

            var h = _horarioService.GetById(horario.HorarioId);

            h = horario;
            ////Verifica se cliente não está ativo, e existe horario cadastrado para o mesmo, se existir remove o horario.
            if (!cliente.IsAtivo && hasHorario != null)
            {
                _horarioService.Remove(h);
            }
            else
            {
                //Adiciona ou Atualiza
                _horarioService.Add(h);
            }

            _logSistemaService.AddLog("Cliente", cliente.ClienteId, "Update", "");
            Commit();

            return(DomainToApplicationResult(result));
        }