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